Como mencionado por Michael Hampton em alguns comentários, o tempo de reação , com que frequência fail2ban
verifica os logs, não tem nada a ver com o parâmetro findtime
. Espera-se que fail2ban
leia novos dados de log a cada segundo (isso dependerá da carga do seu computador, mas deve ser muito rápido, pois na maioria dos casos novos dados de log ainda estarão na memória, em um buffer de kernel). p>
O findtime=...
define o quanto os registros anteriores são verificados. O filtro é verificado em relação à entrada que possui uma data entre now - findtime
e now
. Se o filtro encontrou maxretry
ou mais linhas de log correspondentes (sem contar as que também correspondem ao ignoreregex
) nesse período de tempo ( now - findtime
to now
), ele emite a ação ban
.
ancient past | past | ban | future
----------------+--*--*-*--*---*-+-------------------+------------->
| | |
| | +--> now + bantime
| +--> now
+--> now - findtime
Existe um gráfico mostrando a linha do tempo. Os logs do passado antigo são ignorados. Os logs entre now - findtime
e now
, seção denominada passado , são verificados quanto a correspondências. Se o número de correspondências (representado por asteriscos) for >= maxretry
, será iniciada uma proibição em now
. A proibição dura até now + bantime
. Observe que os hits com o mesmo IP, uma vez que o IP foi banido, não devem acontecer na porta para a qual ele foi banido. Ainda pode acontecer para outros portos, no entanto.
Portanto, ao aumentar o findtime=...
você não afeta o tempo de reação, você aumenta a chance de um IP ser banido pelo filtro correspondente.