Aumente a depuração para ajudar a descobrir por que o fail2ban não está bloqueando nada quando seus regexs funcionam com o arquivo de log configurado.
fail2ban-client set loglevel DEBUG
No meu caso, tive um problema semelhante ao seu. Config check out está bem, jail estava em execução, arquivo de log adequado, e o regex foram todos recebendo contagens altas ao verificar com fail2ban-regex
. Depois de aparecer a depuração, a pista vital apareceu:
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
Observe que a diferença de tempo está fora do findtime
(600) e, na verdade, é de 3600 segundos ou uma hora. Anteriormente, o fuso horário do sistema foi alterado e o sistema não foi reinicializado. Os tempos no syslog estavam todos fora de uma hora da hora do sistema. A reinicialização do rsyslogd fez com que novas entradas de log fossem gravadas com a hora correta, e o fail2ban não mais ignorava essas entradas de log.