fail2ban-server add rule without restart
Необходимо добавить правило, без перезагрузки fail2ban-server. Так как количество заблокированных IP адресов очень большое, рестарт проходит крайне долго. В связи с этим решил добавить правило на горячую из консоли
Добавляем описание jail
1 2 3 |
fail2ban-client add dovecot-ban-ddos |
Запускаем
1 2 3 |
fail2ban-client start dovecot-ban-ddos |
Задаем время поиска
1 2 3 |
fail2ban-client set dovecot-ban-ddos bantime 6000 |
Количество повторов
1 2 3 |
fail2ban-client set dovecot-ban-ddos maxretry 1 |
Что ищем
1 2 3 4 5 6 |
fail2ban-client set dovecot-ban-ddos addfailregex '.* \(auth failed.* rip=<HOST>' The following regular expression are defined: `- [0]: .* \(auth failed.* rip=(?:::f{4,6}:)?(?P<host>[\w\-.^_]*\w) |
Где искать
1 2 3 |
fail2ban-client set dovecot-ban-ddos addlogpath /var/log/dovecot.log |
Какое правило применять
1 2 3 |
fail2ban-client set dovecot-ban-ddos addaction iptables-multiport |
Вот тут немного не дожал. Использую цепочку, которая уже создана при запуске fail2ban с именем fail2ban-dovecot
1 2 3 |
fail2ban-client set dovecot-ban-ddos action iptables-multiport actionban 'iptables -I fail2ban-dovecot 1 -s <ip> -j REJECT' |
Как я понимаю, для создания цепочки необходимо воспользоваться следующей конструкцией
<tt>set <JAIL> action <ACT> actionstart <CMD></tt> sets the start command <CMD> of the action <ACT> for <JAIL>
В которой описать правила создания цепочки
actionstart = iptables -N fail2ban-<name>
iptables -A fail2ban-<name> -j RETURN
iptables -I <chain> -p <protocol> —dport <port> -j fail2ban-<name>
Пока так
1 2 3 4 5 6 7 8 9 10 11 |
fail2ban-client stop dovecot-ban-ddos fail2ban-client add dovecot-ban-ddos fail2ban-client start dovecot-ban-ddos fail2ban-client set dovecot-ban-ddos bantime 6000 fail2ban-client set dovecot-ban-ddos maxretry 1 fail2ban-client set dovecot-ban-ddos addfailregex '.* \(auth failed.* rip=<HOST>' fail2ban-client set dovecot-ban-ddos addlogpath /var/log/dovecot.log fail2ban-client set dovecot-ban-ddos addaction iptables-multiport fail2ban-client set dovecot-ban-ddos action iptables-multiport actionban 'iptables -I fail2ban-dovecot 1 -s <ip> -j REJECT' |
Есть еще моменты с остановкой данного правила и БД самом fail2ban
1 2 3 |
fail2ban-client set dovecot-ban-ddos action iptables-multiport actionuban 'iptables -D fail2ban-dovecot -s <ip> -j REJECT' |