Fail2Ban — простой в использорвании локальный сервис, который отслеживает log–файлы запущенных программ, и на основании различных условий блокирует злоумышлинников.
Установка Fail2ban на Debian/Ubuntu
Установка Fail2ban на CentOS/Fedora/RHEL
Основная папка со всеми конфигурационными файлами находится по адресу /etc/fail2ban/ Главный файл настроек блокировки jail.conf — но сами разработчики не советуют редактировать его так как при обновлении он может быть перезаписан.
Для конфигурирования Fail2Ban правильнее создавать файлы в директории /etc/fail2ban/jail.d
Все настрйоки которые будут одинаковыми для всех сервисов выносятся в файд default.conf
В данный файл можео вынести такие переменные как
ignoreip — домеренный IP который не будет попадать в списко блокировок maxretry — количество действий, которые разрешено совершить до срабатывания правила блокировки findtime — временной диапазон, в течение которого должно попадать правило maxretry bantime — время, на которое будет блокироваься злоумышленник action — действия, которое будет выполняться при обнаружужении активность, соответствующую критериям поиска
Каждое правило рекомендуется создавать в отдельных файлах в папке /etc/fail2ban/jail.d/
Для защиты ssh сервера создадим файл sshd.conf
sshd — название правила enabled — переменная активации правила port — порт службы, может быть как цифровой так и буквенный filter — фильтр (критерий поиска), который будет использоваться для поиска подозрительных действий. Список всех вы можете просмотреть в папке /etc/fail2ban/filter.d . Название фильтра — имя файла без .conf action — действие, совершаемое в случае срабатывания правила. Все доступные действия находиться в папке /etc/fail2ban/action.d . Название действия — имя файла без .conf logpath — расположение лог-файла, в котором фильтр будет искать подозрительную активность
Для применения правил, обязательно нужно перезапустить Fail2ban
Описание базовых правил для блокировки . Полный список правил находится в папке /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
Просмотр всех активных правил блокировок
Просмотр конкретного правила блокировок
Удаление IP из правила блокировок