четверг, 25 декабря 2014 г.

вторник, 23 декабря 2014 г.

Защита SSH с помощью fail2ban

# yum install fail2ban
(в CentOS 6, для установки fail2ban нужно подключить репозиторий EPEL):
# rpm -ivh http://download.fedoraproject.org/pub/epel/6/$(arch)/epel-release-6-8.noarch.rpm

# cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
# vim /etc/fail2ban/jail.local
... 
[ssh-iptables] 
# включаем защиту ssh (по умолчанию включена) 
enabled = true 
filter = sshd 
# блокируем с помощью IPTables 
action = iptables[name=SSH, port=ssh, protocol=tcp] 
# настройки почтовых уведомлений 
sendmail-whois[name=SSH, [email protected], [email protected], sendername="Fail2Ban"] 
# пишем лог в /var/log/secure logpath = /var/log/secure 
# максимально 5 попыток
maxretry = 5 
# бан на 24 часа 
bantime = 86400

# service fail2ban start
# iptables -L fail2ban-SSH

Разблокировать IP адрес из бана:
# fail2ban-client set JAIL unbanip IP
Пример:
# fail2ban-client set ssh-iptables unbanip 192.168.0.100

пятница, 19 декабря 2014 г.

ISPmanager не работает fastcgi

После отключения nginx в возможностях ISPmanager и включения его заново, не работает fcgid.
В итоге я оставил один только апач, восстановил конфиг apache.conf из бэкапа.
И тут возникала первая проблема, порт apache2 после связки с nginx остался 81, это решить просто:
# vim /etc/apache2/ports.conf
Listen 80

# service apache2 restart

Однако после включения апача модуль fcgid не работал, хотя был подключен, решается это так:
# vim /etc/apache2/mods-available/php5.conf
#<FilesMatch ".+\.ph(p[345]?|t|tml)$">
#    SetHandler application/x-httpd-php
#</FilesMatch>

# service apache2 restart

via

четверг, 11 декабря 2014 г.

Вывод прав доступа в восьмеричном виде

$ stat -c "%a %A %n" /usr/bin/python*
777 lrwxrwxrwx /usr/bin/python
777 lrwxrwxrwx /usr/bin/python2
755 -rwxr-xr-x /usr/bin/python2.6
755 -rwxr-xr-x /usr/bin/python2.7

via

среда, 10 декабря 2014 г.

fork-бомбы и ISPmanager

На шаред хостинге пользователем была запущена fork-бомба. Скрывалась она за обычным сайтом на Joomla.
Дело было так.
Упал сервер, ни по http, ни по ssh он не отвечал, только ping шел. Мне удалось ловить микромоменты, чтобы вывести список процессов. Последнее что успела засечь моя сессия по ssh примерно такое:
user_11   1088  0.0  0.0      0     0 ?        Z    22:27   0:00 /bin/bash /var/www/user_11/data/www/site.ru/cli/submiss
user_11   1089  0.0  0.0      0     0 ?        Z    22:27   0:00 [bash] <defunct>
и таких процессов было очень много.
На любые попытки что либо сделать с сервером, шел ответ:
bash: fork: Ресурс временно недоступен

понедельник, 1 декабря 2014 г.

CentOS 6: Transaction Check Error

Бывает такая ошибка при установке munin, связанная с использованием нескольких репозиториев, в частности rpmforge:
# yum install munin-node
Transaction Check Error:
  file /usr/share/man/man3/XML::SAX::Base.3pm.gz conflicts between attempted installs of perl-XML-SAX-0.96-7.el6.noarch and perl-XML-SAX-Base-1.04-1.el6.rf.noarch
  file /usr/share/man/man3/XML::SAX::Exception.3pm.gz conflicts between attempted installs of perl-XML-SAX-0.96-7.el6.noarch and perl-XML-SAX-Base-1.04-1.el6.rf.noarch

Решается это так:
# vim /etc/yum.repos.d/rpmforge.repo
   exclude=perl-XML-SAX-Base

# yum update
# yum install munin-node