Fail2ban

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Fail2Ban
Логотип программы Fail2Ban
Скриншот программы Fail2Ban
Тип Система обнаружения вторжений
Автор Кирил Жакьер
Разработчики Кирил Жакьер, Ярослав Хальченко, Даниель Блэк, Стивен Хискокс, Артуро «Буанзо» Буслейман и другие.
Написана на Python
Операционная система Unix
Первый выпуск 2004; 20 лет назад (2004)
Последняя версия 0.11.2 (23 ноября 2020; 3 года назад (2020-11-23)[1])
Репозиторий github.com/fail2ban/fail…
Лицензия 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[en] - средство защиты от вторжений на основе логов для Windows
  • DenyHosts[en] - инструмент для предотвращения вторжений.
  • Stockade[en] - инструмент нацеленный на предотвращение спама.
  • OSSEC - система обнаружения вторжений с открытым исходным кодом.

Примечания[править | править код]

  1. fail2ban: Daemon to ban hosts that cause multiple authentication errors (11 ноября 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" (англ.). 2015-12-09. Архивировано 17 декабря 2021. Дата обращения: 22 сентября 2018. {{cite news}}: Указан более чем один параметр |accessdate= and |access-date= (справка)