Archive

Archive for the ‘Linux’ Category

GUI for fdisk ?

If you wish to use GUI for fdisk, just use cfdisk :-)

Categories: Linux Tags:

Системен потребител с много непрочетени писма във “вътрешната” поща

Както може би знаете, при изпълнението на всеки cron, output-а се изпраща до системния потребител изпълнил cron-a. Точно за това днес получих алерт от един от сървърите, че има необичайно голям mail файл за един от потребителите на машината.

Лесно решение на проблема. Отиваме в папката с mailboxes и разбира се потвърждаваме големината на файла:

server:~# cd /var/spool/mail
server:/var/spool/mail# ls -lh
total 3.8G
-rw------- 1 mail     mail 3.8G 2011-04-27 09:13 user
-rw------- 1 root     mail 5.2K 2011-04-05 16:45 root

Лесно го затриваме :) В моя случай изпразваме съдържанието на файла:

server:/var/spool/mail# echo > user
Categories: Debian, Linux Tags:

Защита от DoS атака с iptables

Тези команди ще ви помогнат да се защитите от DoS атака. Посредством тях, ще блокирате всяко IP, което за 60 секунди има повече от 20 връзки (connections) към текущата машина:

iptables -I INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set
 
iptables -I INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 20 -j DROP

Резултат от командата:

[root@server ~]# netstat -alpn| grep ":80"| awk '{ print $5 }'| cut -d: -f4| sort| uniq -c | sort -n
      1 *
      3 66.249.72.131
     16 81.100.74.82
     17 82.12.246.158
     19 212.183.140.13
     19 78.148.123.94
     20 85.211.47.252
     20 86.166.141.234
     20 87.97.215.7
     20 89.253.191.173
     20 91.92.170.172
     20 94.156.57.170
     20 94.169.158.18
     22 77.78.11.99

Разбира се това е само пример и можете да смените стоностите за секунди (60) и брои връзки (20).
Имайте впредвид, че максималните стойности за –seconds са 60, а за –hitcount са 20

За да премахнете правило (RULE) от iptables използвайте следните команди.
Лист на всички правила в iptables:

iptables -L INPUT -n --line-numbers
[root@server ~]# iptables -L INPUT -n --line-numbers
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 state NEW recent: UPDATE seconds: 60 hit_count: 20 name: DEFAULT side: source 
2               tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 state NEW recent: SET name: DEFAULT side: source 
3    fail2ban-SSH  tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:22 
4    DROP       all  --  67.195.0.0/24        0.0.0.0/0           
[root@server ~]#

За да изтрием правилото за блокиране на IP-тата в този случай пишем:

iptables -D INPUT 1
Categories: bash, Cent OS, Debian, Linux, Защита Tags:

Проверка за валиден DKIM запис

Преди известно време си играх с DKIM и ми трябваше начин да верифицирам дали домейна, който подписвам е валиден.
Намерих този интересен tool, който свърши чудесна работа :)

Categories: Linux Tags:

Как да убием всички процеси по ключова дума?

При преглед на една от машините днес забелязах, че един cron е останал висящ в опашката и са зависнали близо 60 негови изпълнения.
user 312 0.0 0.0 60376 7164 ? Ss Jan14 1:26 /usr/local/php/bin/php /www/domain.com/www/root/dumper.php
user 635 0.0 0.0 60000 7476 ? Ss 2010 2:24 /usr/local/php/bin/php /www/domain.com/www/root/dumper.php
user 740 0.0 0.0 60000 6656 ? Ss 2010 2:29 /usr/local/php/bin/php
.............

За да убия всичките процеси наведнъж и да не пиша отделно PID на всеки процес, използвах следната команта:

ps aux | grep dumper | kill `awk '{print $2}'`

Въпросната команда обикала дървото с процесите и навсякъде където срещне думата “dumper” kill-ва процеса.

Categories: bash, Linux Tags:

Проблем при компилиране на PHP с опция –with-ssl

За пореден път се натъкнах на грешката:

configure: error: Cannot find OpenSSL's <evp.h>

Решението е много просто. Инсталираме libssl-dev, но разбира се след като имаме инсталиран openssl.

apt-get install libssl-dev
Categories: Linux Tags:

Как да намерим активните компютри в локалната мрежа?

Текущият пост произлезе от това, че трябваше да разбера кое е IP-то на лаптопа ми, който беше включен в локалната мрежа, но нямах физически достъп до него.

За да сканираме цялата мрежа и да изведем активните IP-та трябва да инсталираме nmap

sudo apt-get install nmap

След това изпълняваме следната команда и следим резултата:

nmap -sP 192.168.0.1-255

Така ще сканираме всички IP–та в мрежата, започвайки от 0 и стигайки до 255.

Резултат:

blagomir@dragonfly:~$ nmap -sP 192.168.1.0-255
 
Starting Nmap 5.21 ( http://nmap.org ) at 2010-11-11 13:11 EET
Nmap scan report for 192.168.1.1
Host is up (0.00086s latency).
Nmap scan report for 192.168.1.99
Host is up (0.0045s latency).
Nmap scan report for 192.168.1.100
Host is up (0.0045s latency).
Nmap scan report for dragonfly (192.168.1.104)
Host is up (0.00036s latency).
Nmap scan report for 192.168.1.105
Host is up (0.0040s latency).
Nmap scan report for 192.168.1.106
Host is up (0.0039s latency).
Nmap scan report for 192.168.1.108
Host is up (0.0020s latency).
Nmap scan report for 192.168.1.109
Host is up (0.0032s latency).
Nmap scan report for 192.168.1.110
Host is up (0.0032s latency).
Nmap scan report for 192.168.1.112
Host is up (0.0028s latency).
Nmap scan report for 192.168.1.113
Host is up (0.0028s latency).
Nmap scan report for 192.168.1.116
Host is up (0.0013s latency).
Nmap scan report for 192.168.1.120
Host is up (0.0062s latency).
Nmap scan report for 192.168.1.133
Host is up (0.00083s latency).
Nmap done: 256 IP addresses (14 hosts up) scanned in 2.37 seconds
Categories: Debian, Linux Tags:

GNU Screen – .screenrc

Не веднъж съм говорил за GNU Screen, но днес ще публикувам моят hardstatus.
Той се записва в ~/.screenrc и изглежда по този начин:

vbell on
autodetach on
defscrollback 2048
 
hardstatus alwayslastline "%{= kG}[ %{G}%H ]%{g} [%l] [%= %{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B}%d.%m.%Y %{W}%c %A %{g}]"
Categories: Linux Tags:

Проблем с optimizer на eAccelerator 0.9.6.1

След ъпгрейд на eAccelerator до последната стабилна версия (0.9.6.1) се оказа, че на някои скриптове не им стига оперативната памет “отпусната” за изпълнението на РНР процес.

Разгледах changelog-a на release версиите на eAccelerator и видях, че във версия 0.9.6 rc1 са премахнали optimizer-a. Всъщност точно в него се коренеше целият проблем. При зададен eaccelerator.optimizer = “1″ в php.ini файла, нещо в самият оптимизатор (въпреки, че липсва) зацикля и това води до изяждане на паметта.

Решение на проблема:
в php.ini задаваме стойност 0 и проблема е решен

eaccelerator.optimizer = "0"
Categories: Linux Tags:

Инсталиране на samba под Debian – как да share–нем папка от Linux в Windows мрежа

Samba – най-лесният начин да шернем (share) папка от Linux към Windows.

Под Debian това става по следният начин:

Инсталираме samba

sudo apt-get install samba

Трябва да направим директория, която ще се използва от samba-та, тоест която ще се вижда в windows мрежата. Също така създаваме и потребител, който ще има достъп до тази папка по мрежата:

mkdir /samba
useradd -d /samba newuser

Задаваме парола на потребителя за достъп до samba сървъра:

smbpasswd -a newuser

Кратки настройки, който трябва да запишете във файла /etc/samba/smb.conf

[SAMBA]
 
path=/samba
browseable=yes
writeable=yes
valid users = newuser
admin users = debain

След като въведем настройките рестартираме samba и сме готови:

/etc/init.d/samba restart
Categories: Debian, Linux Tags: