🛡️
Безопасность

Установка и настройка Fail2ban — защита Linux сервера от брутфорса

05.10.2033
← Все статьи

Fail2ban — это инструмент, который автоматически обнаруживает атакующие IP-адреса и временно или постоянно блокирует их через iptables или firewalld. Он работает как фоновая служба и постоянно мониторит лог-файлы. Если с одного IP происходит много неудачных попыток входа или подозрительных запросов, Fail2ban блокирует этот IP. Это очень эффективный способ защиты, потому что он работает автоматически без вмешательства человека.

Что такое Fail2ban и как он работает

Fail2ban — небольшая программа на Python, которая анализирует лог-файлы с помощью регулярных выражений. Для каждого защищаемого сервиса пишется отдельный фильтр, в котором определяется, какой текст считается попыткой брутфорса. Например, в логе SSH строка "Failed password for" появляется при неудачной попытке входа. Fail2ban подсчитывает такие события и при превышении порога блокирует IP. Срок блокировки настраивается — от нескольких минут до постоянной блокировки.

Установка в Ubuntu и Debian

Fail2ban есть в стандартных репозиториях всех популярных дистрибутивов Linux. В Ubuntu и Debian устанавливается одной командой через apt. После установки служба запускается автоматически и защита SSH включена по умолчанию. В CentOS, AlmaLinux или Rocky Linux используются yum или dnf, но сначала может понадобиться добавить репозиторий EPEL. После установки нужно проверить статус через systemctl и убедиться, что служба работает.

Настройка jail и фильтров

В Fail2ban каждый защищаемый сервис называется "jail". Все настройки хранятся в файле jail.local, и не рекомендуется менять исходный jail.conf, потому что он перезаписывается при обновлениях. В каждом jail указывается путь к логу, какой фильтр использовать, сколько попыток до блокировки и срок блокировки. Стандартные настройки для SSH хорошие, но для сервисов на нестандартных портах нужно писать jail вручную.

Защита веб-сервера и FTP

Для Nginx и Apache есть готовые фильтры — они отслеживают 404 ошибки, попытки входа и другую подозрительную активность. Для сайта на WordPress пишется специальный фильтр для блокировки брутфорса по wp-login.php. Для ProFTPD, vsftpd и других FTP-серверов есть готовые jails, их нужно только включить. Для почтовых серверов — Postfix, Dovecot — тоже есть фильтры, это защищает от спам-ботов.

Практика Sayt.uz

На серверах Sayt.uz Fail2ban установлен и настроен на всех клиентских серверах по умолчанию. После 5 неудачных попыток на SSH порт IP блокируется на 24 часа. Для веб и почтовых сервисов jails тоже включены. Клиенты могут видеть в кабинете, какие IP заблокированы, и при необходимости добавить доверенный IP в белый список. По нашим данным, после включения Fail2ban брутфорс попытки уменьшаются на 95%.

Похожие статьи

🛡️ Защита от ransomware: бэкапы, сегментация, EDR и реагирование на инциденты 🎣 Защита сотрудников от фишинговых атак: обучение и технические меры 📋 Чеклист аудита безопасности: WordPress, сервер, SSL и проверка резервных копий 🔐 Мониторинг SSL-сертификатов: отслеживание срока действия и авто-обновление
🌐 Язык
🇺🇿 O'zbek 🇺🇿 Ўзбек 🇷🇺 Русский 🇬🇧 English