Brute Force или метод грубой силы . Достаточно популярный способ взлома сервера, методом перебора. В основном ломятся всякие боты в поисках стандартных логинов и простых пароле.Но давно уже придумали как с этим бороться. Fail2ban — простой в использовании локальный сервис, который отслеживает log–файлы запущенных программ, и на основании различных условий блокирует по IP найденных нарушителей.
apt-get install fail2ban
Собственно Fail2ban уже работает и по умолчанию настроен на отслеживание SSH попыток входа на сервер. Но мы конечно поковыряемся еще немного в конфиг файле. Собственно из два:
/etc/fail2ban/fail2ban.conf -настройки запуска Fail2ban. Здесь мы ничего менять не будем.
/etc/fail2ban/jail.conf — содержит настройки защиты конкретных сервисов.
nano /etc/fail2ban/jail.conf
[DEFAULT] ignoreip = 127.0.0.1/8 игнорируем IP. bantime = 600 время бана в секундах , -1 значит «навечно». findtime = 600 максимальное время между попытками ,время в секундах. maxretry = 3 число попыток. destemail = root@localhost на какой адрес слать уведомления. Далее следует раздел настройки как отправлять почту , как банить и т.д. [ssh] настройки SSH. enabled = true или не включить ) false port = ssh название порта , можно и просто указать порт. filter = sshd фильтр , какую службу искать в логах. пример лога: Apr 10 17:45:10 debian sshd[1187]: Accepted password logpath = /var/log/auth.log путь к лог файлу. maxretry = 6 попытки
Далее идет еще целая куча примеров настроек для FTP , Mail servers , HTTP servers. Настройки там похожи, по аналогии легко разобраться.
/etc/init.d/fail2ban restart Перезагружаем, вот собственно и все.
Fail2ban достаточно гибкий инструмент , я описал только базовую настройку. Если вам интересно то вы можете легко написать скрипт, который будет защищать вас от http-ddos, udp-ddos, исходящего спама и много другого.
Добавив свой фильтр в /etc/fail2ban/filter.d/ , примеры там же . Brute Force здесь не пройдет 😉
Denian / Ubuntu. На других Linux дистрибутивах установка может отличаться.