Grande!!
Stò testando ora la regex ed alcune modifiche, per adattarla anche ad altre condizioni (altri log o altri tentativi di intrusione) e finalmente sembra funzionare correttamente usando la logica che mi hai spiegato.
Ho modificato la regex che mi hai dato per in questo modo:
Codice PHP:
Per cercare i match del w00tw00t in error_log:
failregex = [[]client <HOST>[]] .*File does not exist.*w00tw00t.*$
Per cercare i match del w00tw00t access_log:
failregex = <HOST> .*w00tw00t.*$
Poi, siccome nei log ci sono anche i soliti ennmila tentativi di individuare match per phpmyadmin, etc... ho sfruttato i tuoi suggerimenti anche per questo
Codice PHP:
Per cercare i match per gli scanner phpmyadmin in error_log:
failregex = [[]client <HOST>[]].*setup.php.*$
[[]client <HOST>[]].*MyAdmin.*$
[[]client <HOST>[]].*mysqlmanager$
[[]client <HOST>[]].*mysql$
[[]client <HOST>[]].*phpmanager$
[[]client <HOST>[]].*phpadmin$
[[]client <HOST>[]].*sqlmanager$
[[]client <HOST>[]].*sqlweb$
[[]client <HOST>[]].*webdb$
e sembrano funzionare:
Codice PHP:
Success, the total number of match is 18
Codice PHP:
Per cercare gli errori 405 in access_log:
failregex = <HOST> .*HTTP\/1.1" 405.*$