fbpx
Перейти к содержимому

Fail2Ban — установка и базовые команды

Fail2Ban — простой в использорвании локальный сервис, который отслеживает log–файлы запущенных программ, и на основании различных условий блокирует злоумышлинников.

Установка

Установка Fail2ban на Debian/Ubuntu

apt install fail2ban

Установка Fail2ban на CentOS/Fedora/RHEL

yum install fail2ban

Конфигурирование

Основная папка со всеми конфигурационными файлами находится по адресу /etc/fail2ban/
Главный файл настроек блокировки jail.conf — но сами разработчики не советуют редактировать его так как при обновлении он может быть перезаписан.

Для конфигурирования Fail2Ban правильнее создавать файлы в директории /etc/fail2ban/jail.d

Все настрйоки которые будут одинаковыми для всех сервисов выносятся в файд default.conf

nano /etc/fail2ban/jail.d/default.conf

В данный файл можео вынести такие переменные как

[DEFAULT]
ignoreip = 1.1.1.1
maxretry = 3

findtime = 2m
bantime = 60m
action = iptables[name=sshd]

ignoreip — домеренный IP который не будет попадать в списко блокировок
maxretry — количество действий, которые разрешено совершить до срабатывания правила блокировки
findtime — временной диапазон, в течение которого должно попадать правило maxretry
bantime — время, на которое будет блокироваься злоумышленник
action — действия, которое будет выполняться при обнаружужении активность, соответствующую критериям поиска

Правила

Каждое правило рекомендуется создавать в отдельных файлах в папке /etc/fail2ban/jail.d/

Для защиты ssh сервера создадим файл sshd.conf

nano /etc/fail2ban/jail.d/sshd.conf
[sshd]
enabled = true
port = ssh
filter = sshd
action = iptables[name=sshd]
logpath = /var/log/auth.log
maxretry = 3
findtime = 2m

sshd — название правила
enabled — переменная активации правила
port — порт службы, может быть как цифровой так и буквенный
filter — фильтр (критерий поиска), который будет использоваться для поиска подозрительных действий. Список всех вы можете просмотреть в папке /etc/fail2ban/filter.d . Название фильтра — имя файла без .conf
action — действие, совершаемое в случае срабатывания правила. Все доступные действия находиться в папке /etc/fail2ban/action.d . Название действия — имя файла без .conf
logpath — расположение лог-файла, в котором фильтр будет искать подозрительную активность

Для применения правил, обязательно нужно перезапустить Fail2ban

systemctl restart fail2ban

Actions

Описание базовых правил для блокировки . Полный список правил находится в папке /etc/fail2ban/action.d

iptables — создание простого правила в netfilter с помощью одноименной утилиты
iptables-multiport — использование модуля multiports, позволяющий добавлять диапазоны портов для блокировки
iptables-ipset — использование ipset для придания более лаконичного вида правилам
iptables-allports — блокирует для адреса все порты
firewallcmd-new — создание простого правила в netfilter с помощью firewall-cmd
firewallcmd-ipset — добавляет правила с помощью утилиты firewall-cmd, используя ipset
firewallcmd-rich-rules — создает rich-rules при помощи firewall-cmd

Управление списком блокировок

Просмотр всех активных правил блокировок

fail2ban-client status

Просмотр конкретного правила блокировок

fail2ban-client status название_правила

Удаление IP из правила блокировок

fail2ban-client set имя_правила unbanip 1.1.1.1