Fail2Ban

Инструмент для защиты серверов от брутфорс-атак путем мониторинга системных логов и автоматической блокировки подозрительных IP-адресов через брандмауэр.

Fail2Ban — это сервис анализа логов, предназначенный для защиты сетевых служб от атак методом перебора (brute-force). Он работает в фоновом режиме, сканируя файлы журналов, такие как /var/log/auth.log или /var/log/apache2/error.log, на предмет повторяющихся неудачных попыток аутентификации или других аномалий.

При обнаружении подозрительной активности, соответствующей заданным критериям, утилита автоматически обновляет правила брандмауэра (iptables, nftables или firewalld), чтобы временно или навсегда заблокировать IP-адрес атакующего. Это позволяет снизить нагрузку на системные ресурсы, предотвращая обработку заведомо вредоносного трафика.

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

Fail2Ban использует концепции «фильтров» и «действий». Фильтры определяют регулярные выражения для поиска ошибок в логах, а действия задают команды для блокировки. Основные параметры настройки включают bantime (длительность блокировки), findtime (временное окно для подсчета попыток) и maxretry (лимит неудачных входов).

Инструмент эффективен для защиты SSH, FTP, SMTP и веб-серверов. Например, стандартная конфигурация для SSH может блокировать IP после 5 неудачных попыток входа на 10 минут, что практически исключает успех автоматизированного подбора паролей.