Немного о Fail2ban
Fail2ban по анализу логов позволяет блокировать тех, кто злоупотребляет доступностью вашего сервера по сети. Механизм работы fail2ban прост — по определённым в шаблоне параметрам срабатывает заданное правило. Устанавливаем пакет:
sudo apt install fail2ban
Сразу после установки fail2ban уже сконфигурирован для защиты большинства портов. По умолчанию, настройки fail2ban хранятся в файле /etc/fail2ban/jail.conf, но рекомендуется создать свой файл конфигурации, например:
sudo nano /etc/fail2ban/jail.local
В созданном файле можно прописать настройки, которыми будут замещены настройки по умолчанию, при этом можно правила настраивать индивидуально для каждого приложения. Пример содержимого файла:
# общие настройки [DEFAULT] ignoreip = 127.0.0.1 bantime = 2592000 findtime = 43200 maxretry = 6 banaction = iptables-multiport # настройка отправки сообщения на почту destemail = user@localhost sendername = Fail2Ban mta = sendmail action = %(action_mwl)s # защита SSH [ssh] enabled = true port = 10600 filter = sshd logpath = /var/log/auth.log
Где ignoreip указывает ip-адрес, который fail2ban будет игнорировать, можно добавить диапазон адресов через пробел.
Bantime определяет на какой срок блокировать атакующего.
Findtime — интервал времени в секундах, в течении которого программой будет определяться подозрительная активность.
Maxretry — количество действий, которые разрешено совершить до бана(например чсило попыток ввода пароля). В квадратных скобках указывается название правила.
В приведённом выше примере при 6-ти неверных попытках входа в течении 12 часов fail2ban забанит IP-адрес на 30 дней, используя iptables.
После изменения или добавления правил необходимо перезапустить программу:
sudo service fail2ban restart
Полезные команды
Список работающих правил:
sudo fail2ban-client status
Получить статистику заблокированных адресов:
sudo fail2ban-client status «имя правила»
Удаление IP-адреса из списка заблокированных:
sudo fail2ban-client set «имя правила» unbanip «IP-адрес»
Проверка работоспособности правила:
sudo fail2ban-regex «путь к файлу log» /etc/fail2ban/filter.d/«ваше правлило».conf
При этом стоит помнить, что fail2ban очень капризен в части синтаксиса правил, поэтому всегда проверяйте работоспособность своих правил.
Обсудить этот пост