вход на сайт

Имя пользователя :
Пароль :

Восстановление пароля Регистрация
Установка и настройка fail2ban в CentOS
Fail2ban — простой в использовании локальный сервис, который отслеживает log–файлы запущенных программ, и на основании различных условий блокирует по IP найденных нарушителей.

Программа умеет бороться с различными атаками на все популярные *NIX–сервисы, такие как Apache, Nginx, ProFTPD, vsftpd, Exim, Postfix, named, и т.д.

Fail2ban приобрел свою известность за счет защиты от атак типа "bruteforce" из коробки.

Устанавливаем fail2ban:
yum install fail2ban


Создаем копию и редактируем файла конфигурации:
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
nano /etc/fail2ban/jail.local


Настраиваем исключения для IP адресов, время бана, поиск за период времени и сколько ошибочных попыток было за это время, настраивая параметры в секции [Default] (время указывается в секундах):
ignoreip = 127.0.0.1
bantime  = 3600
findtime  = 600
maxretry = 3

Здесь хотелось бы отметить, что лучше не указывать IP 127.0.0.1, так как в случае получения доступа хотя бы к одному из локальных пользователей, у злоумышленника будет возможность тихого локального брутфорса.

Проверяем блокирование при попытке подбора пароля к доступу ssh, параметр enabled=true:
[ssh-iptables]

enabled  = true
filter   = sshd
action   = iptables[name=SSH, port=ssh, protocol=tcp]
           sendmail-whois[name=SSH, dest=user@domain.local, sender=fail2ban@domain.local]
logpath  = /var/log/secure
maxretry = 4


где:
dest - адрес получателя уведомления, sender адрес отправителя, если рассматривать более подробно:
enabled - параметр для включения \ отключения фильтра, выставляется значениями true \ false
filter - определяет фильтр, параметры фильтра (правила) располагаются в конфигруационном файле /etc/fail2ban/filter.d/sshd.conf
action - действие, происходящее в момент срабатывания правила т.е. в момент соответсвия его условиям, в результате блокируемый IP добавляется в список блокирования файервола (/etc/fail2ban/action.d/iptables.conf), если настроен почтовый сервер, то будет отослано почтовое сообщение с whois информацией о блокируемом IP
logpath - файл, который будет анализироваться fail2ban на предмет ошибочных повторов
maxretry - количество ошибочных повторов ввода пароля

Далее определяем глобальный лог файл для fail2ban в файле /etc/fail2ban/fail2ban.conf, изменив параметр logtarget, на:
logtarget = /var/log/fail2ban.log


Добавляем fail2ban в автозагрузку:
chkconfig fail2ban on


и запускам:
service fail2ban start


Проверяем наличие правил в iptables:
iptables -L


Чтобы посмотреть дату и время ошибочных попыток используем команду:
cat /var/log/secure | grep 'Failed password' |  sort | uniq -c


Количество ошибочных попыток:
cat /var/log/secure* | grep 'Failed password' | grep sshd | awk '{print $1,$2}' | sort | uniq -c


Для удаления IP из бана используем команду:
fail2ban-client set ssh-iptables unbanip xxx.xxx.xxx.xxx


Проверить статус сервиса можно:
/etc/init.d/fail2ban status


Текущее состояние fail2ban по ssh-iptables:
fail2ban-client  -i

status ssh-iptables


Перезапустить fail2ban выполняется командой:
service fail2ban restart

Материал опубликован 28-03-2014, 15:24, его прочитали 5 892 раз(а).
Похожие публикации: