Usando o filtro regex abaixo:
[Definition]
failregex = ^<HOST>.*Priority: 0
ignoreregex =
Fail2Ban não detecta nenhuma das entradas de log abaixo.
Mon Apr 1 21:11:29 2024 [**] [1:1000002:1] SSH attempt [**] [Priority: 0] {TCP} 192.x.x.x:58867 -> 192.168.x.x:22
Mon Apr 1 21:11:29 2024 [**] [1:1000002:1] SSH attempt [**] [Priority: 0] {TCP} 192.x.x.x:58914 -> 192.168.x.x:22
Mas esse mesmo filtro regex acima detecta com precisão as linhas de log abaixo no Fail2Ban e a única diferença nas entradas de log é o formato da data.
03/26-10:57:44.146011 [**] [1:1000002:1] SSH attempt [**] [Priority: 0] {TCP} 192.x.x.x:58867 -> 192.168.x.x:22
03/26-11:23:52.317989 [**] [1:1000002:1] SSH attempt [**] [Priority: 0] {TCP} 192.x.x.x:58914 -> 192.168.x.x:22
Por favor, preciso de ajuda urgente para fazer esse filtro regex funcionar, pois é para o meu trabalho de projeto e meu cronograma é muito limitado.
<HOST>
é algum regex predefinido que deve corresponder a um domínio/IP.Seu regex tenta corresponder a um domínio e depois a alguns caracteres e, literalmente,
Priority: 0
.Seu arquivo de log é exibido
<HOST>
após a mensagemPriority: 0
, você deve colocar a<HOST>
parte depoisPriority: 0
no regex.Se torna: