База знаний Clodo.ru
Перейти на сайт clodo.ru

Описание работы с утилитой Fail2ban

Fail2ban - это инструмент, который отслеживает в log-файлах попытки обратится к сервисам, таким, как SSH, FTP, SMTP, HTTP и другим, и если находит постоянно повторяющиеся неудачные попытки авторизации с одного и того же IP-адреса или хоста, fail2ban блокирует дальнейшие попытки с этого IP-адреса/хоста, с помощью правила iptables(ipfw) или host.deny.

Важно понимать, что fail2ban это не единственное средство предотвращения несанкционированного доступа к сервисам на вашем сервере. Данный инструмент не поможет, если запросы авторизации приходят с очень большого числа хостов (например ботнет).

Все дальнейшие операции стоит выполнять с правами суперпользователя.

Установка

Ubuntu/Debian:

apt-get install fail2ban

CentOS/Fedora:

yum install fail2ban

Настройка

После установки вам нужно будет установить правила блокировки для различных сервисов (шаблоны для основных сервисов уже есть в дистрибутиве). Для этого отредактируйте файл /etc/fail2ban/jail.conf

В разделе [DEFAULT] содержатся настройки блокировки по-умолчанию. Параметры:

ignoreip IP-адрес, который не будет блокироваться в любом случае. Здесь можно указать IP-адрес, CIDR-маску или же имя DNS-хоста;
bantime время в секундах, на которое будет блокироваться доступ;
maxretry количество неудачных попыток авторизации, после которых хост будет заблокирован на bantime секунд;
destemail email-адрес, на который будут отсылаться уведомления о блокировании хостов.

Так же в конфигурационном файле содержатся настройки для отдельных сервисов. Рассмотрим на примере блокировку доступа к SSH (она включена по-умолчанию).

Найдите секцию [ssh]

enabled = true
# означает, что данное правило активно
port = ssh
# указывается порт, который будет заблокирован для хоста
filter = sshd
# фильтр-файл с правилами блокировки, используемый для данного правила
logpath = /var/log/auth.log
# log-файл
maxretry = 4 #количество неудачных попыток авторизации, после которых хост будет заблокирован на bantime секунд (по-умолчанию используется значение bantime из секции [DEFAULT]).

Параметры по-умолчанию, указанные в секции [DEFAULT] можно переопределять для каждой секции отдельно.

Аналогично настраиваются и другие правила. В настоящей статье указаны далеко не все параметры конфигурирования fail2ban. За более подробной информацией вы можете обратиться к wiki fail2ban.

Условия использования документа

Материал представленный на данной странице может быть использован Вами по своему усмотрению. Разрешается копирование и распространение предоставленного материала без изменения содержания и без предварительного уведомления администрации Clodo.ru.

Мы будем признательны Вам за сообщения об ошибках в представленной документации и за предложения об улучшении документации. По этим вопросам необходимо обращаться по адресу mail@clodo.ru. При обращении не забывайте указывать URL-адрес публикации.