Parte do problema é que você está extraindo o <HOST>
errado. Seu ^<HOST>
corresponderá a <HOST>
quando encontrado no início do mesmo, por ex. 10.0.2.18 quando eu acho que o que você realmente quer é 42.104.63.31. Você pode corrigir isso informando ao fail2ban para procurar <HOST>
dentro de ()
, por exemplo,
failregex=\(<HOST>\) -.*(GET|POST)
que parece funcionar quando executado por meio do fail2ban-regex com seu snippet de log
fail2ban-regex logsnippet '\(<HOST>\) -.*(GET|POST)'
Running tests
=============
Use failregex line : \(<HOST>\) -.*(GET|POST)
Use log file : logsnippet
Results
=======
Failregex: 1 total
|- #) [# of hits] regular expression
| 1) [1] \(<HOST>\) -.*(GET|POST)
| 42.104.63.31 Thu May 01 16:05:39 2014
'-