Перейти к содержанию
🌲 С 2026 годом! 🥂
Пусть он будет победным! 🌟

Fail2ban

Материал из энциклопедии Руниверсалис
Fail2Ban
Логотип программы Fail2Ban
Скриншот программы Fail2Ban
Тип Система обнаружения вторжений
Автор Кирил Жакьер
Разработчик Кирил Жакьер, Ярослав Хальченко, Даниель Блэк, Стивен Хискокс, Артуро «Буанзо» Буслейман и другие.
Операционная система Unix
Первый выпуск 2004; 22 года назад (2004)
Последняя версия 0.11.2 (23 ноября 2020; 5 лет назад (2020-11-23)[1])
Лицензия GPLv2+
Сайт fail2ban.org

Fail2Ban – программа для защиты серверов от атак методом грубой силы.[2][3] Написанная на языке программирования Python, может работать на POSIX-системах имеющих встроенный менеджер пакетов и брандмауэр, например, iptables. [4]

Принцип работы

Fail2ban считывает логи (например, /var/log/apache2/error.log)[5] и блокирует IP-адреса, активность которых является подозрительной(например, большое количество попыток войти с неправильно введенным паролем, выполнение опасных или бессмысленных действий и т.д.). В случае обнаружения подобных действий программа обновляет правила брандмауэра для блокировки такого IP-адреса на определенный промежуток времени. Программа может быть настроена и для выполнения другого действия (например, отправки электронного письма).

Конфигурация по умолчанию содержит фильтры для Apache, Lighttpd, sshd, vsftpd, qmail, Postfix, Courier Mail Server, Asterisk и других популярных серверных приложений. В фильтрах используются регулярные выражения, которые могут быть легко изменены и настроены в случае необходимости.

Настройка

Стандартные настройки программы находятся в файле /etc/fail2ban/jail.conf, изменять настройки рекомендуют в /etc/fail2ban/jail.local, который является копией jail.conf. Файл содержит раздел общих настроек [DEFAULT] и разделы специфических настроек для определенных сервисов (например, наличие раздела [ssh]).

[DEFAULT]
ignoreip = 127.0.0.1/8
bantime  = 3600
findtime = 600
maxretry = 3
backend = auto
usedns = warn
banaction = iptables-multiport

[sshd]
enabled  = true
port     = ssh
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 6

См. также

  • IPBan[англ.] - средство защиты от вторжений на основе логов для Windows
  • DenyHosts[англ.] - инструмент для предотвращения вторжений.
  • Stockade[англ.] - инструмент нацеленный на предотвращение спама.
  • OSSEC - система обнаружения вторжений с открытым исходным кодом.

Примечания

  1. fail2ban: Daemon to ban hosts that cause multiple authentication errors (11 November 2017). Дата обращения: 17 декабря 2021. Архивировано 9 апреля 2018 года.
  2. Tip of the Trade: Fail2Ban (недоступная ссылка) (15 августа 2006). Дата обращения: 17 декабря 2021. Архивировано 3 марта 2016 года.
  3. Bledsoe, Greg Server Hardening | Linux Journal (англ.). Linux Journal (14 января 2016). Дата обращения: 22 сентября 2018. Архивировано 28 февраля 2021 года.
  4. Jordan, Jeff How to protect your GNU/Linux computer from remote attacks with Fail2ban (англ.) (16 июня 2015). Дата обращения: 22 сентября 2018. Архивировано 26 августа 2018 года.
  5. Defending Against Apache Web Server DDoS Attacks (англ.) (9 декабря 2015). Архивировано 17 декабря 2021 года. Дата обращения 17 декабря 2021.