Увеличьте отладку, чтобы выяснить, почему fail2ban ничего не блокирует, когда ваши regexs работают с настроенным файлом журнала.
fail2ban-client set loglevel DEBUG
В моем случае у меня была проблема, похожая на вашу. Конфиг проверен, jail запущен, лог-файл правильный, и все regex получали высокие показатели при проверке с помощью fail2ban-regex
. После включения отладки появилась важная подсказка:
2016-02-17 11:27:57,450 fail2ban.datedetector [30443]: DEBUG Got time 1455722877.000000 for "u'Feb 17 10:27:57'" using template (?:DAY )?MON Day 24hour:Minute:Second(?:\.Microseconds)?(?: Year)?
2016-02-17 11:27:57,450 fail2ban.filter [30443]: DEBUG Processing line with time:1455722877.0 and ip:8.8.8.8
2016-02-17 11:27:57,450 fail2ban.filter [30443]: DEBUG Ignore line since time 1455722877.0 < 1455726477.45 - 600
Обратите внимание, что разница во времени находится за пределами findtime
(600), и на самом деле составляет 3600 секунд, или один час. Ранее часовой пояс системы был изменен, и система не перезагружалась. Все время в syslog было отклонено на один час от системного времени. Перезапуск rsyslogd привел к тому, что новые записи журнала стали записываться с правильным временем, и fail2ban больше не игнорировал эти записи журнала.