Защита от брутфорса паролей при помощи Fail2Ban

В какой-то момент меня задолбало листать длиннющий logwatch с тысячами сообщений о том что на сервер пытались зайти с неверным логином по SSH и я решил оторвать свою пятую точку и поискать как же можно избавиться от ненависных брутфорсеров, и нашел…

Fail2Ban – утилита позволяющая защитить сервер от брутфорса таких сервисов как SSH, FTP, Apache и т.д. Она производит анализ логов программ и в случае превышения лимита на неудачные логины банит IP адрес злоумышленника при помощи iptables, при «бане» администратору высылается оповещение.
Официальный сайт: http://www.fail2ban.org/

Предполагается что вы используете CentOS :)

Для простоты работы и настройки лучше всего использовать версию Fail2Ban >0.8 (в стандартном репозитории есть только 0.6), для этого у вас должен быть установлен репозиторий RPMForge.

Для установки выполняем команду:

yum install fail2ban.noarch

После этого меняем настройки Fail2Ban (почему-то в конфигах указан неправильный путь к логу SSH):

Меняем файл /etc/fail2ban/jail.conf

...
bantime  = 600
...
[ssh-iptables]
 
enabled  = true
filter   = sshd
action   = iptables[name=SSH, port=ssh, protocol=tcp]
           sendmail-whois[name=SSH, dest=root, sender=fail2ban]
logpath  = /var/log/secure
maxretry = 5
...

Обратите внимание на параметры:

bantime – время (в секундах), накоторое забаниться злоумышленник (по умолчанию 600 – 10 мин)
logpath – по умолчанию он указан неправильно
dest – кому слать оповещения о «забаненных»
sender – «отправитель» письма
maxretry – количество повторных «ошибочных» попыток логина

После настройки можно запускать сервис:

service fail2ban start
chkconfig fail2ban on

При условии что вы не поленились поменять алиас у пользователя root, со временем (зависит от «популярности» вашего сервера) вы начнете получать письма о том что хост такой-то забанен, а количество сообщений о неверных логинах уменьшиться до 10-20 в день, вместо 2-3 тысяч как это было у меня.

Похожие посты:

Комментарии

  1. satory:

    Да ДэниХост – только для sshd.
    И как написано в About – имеет элегантность Питона :)

    • admin:

      Хм…могу только сказать что Fail2Ban работает и с FTP и Apache и еще не пойми с чем…и имеет элегантность Perl`а ;)

      ?? Почему на меня нападают евангелисты Python`a ??

  2. anonim:

    для защиты от брутфорса проще и удобнее настроить фаервол посмотри сдесь
    http://linux-online-ru.blogspot.com/2010/06/bruteforce-iptables.html

  3. Да ну зачем такие сложности, уносил sshd на любой удобный порт, отличный от 22 и забываем о тупо брутфорсящих ботах.

    • Ты сильно ошибаешся! Так как например у меня не стандартный порт но боты подберают на простой хост по 10 банит в день.

  4. Alex:

    – offtop on

    Привет. Комент не по теме топика. Пишу сюда т.к. не нашел контактов в блоге.
    В теме «Легально ли смотреть видео с Youtube через JW Player»,
    да легально. Могу предложить альтернативу JW Player, для проигрывания видео с ютуб.
    Напиши на почту указаннную в поле «Mail (will not be published)», пообщаемся.

    – offtop off

    • admin:

      Дело в том что YuoTube в принципе запрещает проигрывать видео не через свой плеер.
      Но за предложение спасибо.

Оставить комментарий