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

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