Fail2ban führt keine Regex im Odoo-Protokoll aus

Fail2ban führt keine Regex im Odoo-Protokoll aus

Ich habe fail2ban mit Odoo 13 installiert.

Unten sind meine Konfiguration und die Beispielausgabe, aber ich kann nicht herausfinden, warum nicht gefiltert wird.

Benutzer@tempdev:/etc/fail2ban# fail2ban-regex -v /var/log/odoo/odoo.log /etc/fail2ban/filter.d/odoo-login.conf

Running tests
=============

Use   failregex filter file : odoo-login, basedir: /etc/fail2ban
Use         log file : /var/log/odoo/odoo.log
Use         encoding : UTF-8


Results
=======

Failregex: 0 total
|-  #) [# of hits] regular expression
|   1) [0] ^\d+ INFO \S+ \S+ Login failed for db:\S+ login:\S+ from <HOST>
`-

Benutzer@tempdev:/etc/fail2ban# cat /var/log/odoo/odoo.log | grep 'Anmeldung fehlgeschlagen'

2020-12-11 12:54:06,442 1620 INFO TestSRV odoo.addons.base.models.res_users: Login failed for db:TestSRV login:asfd from 1.2.23.3 
2020-12-11 13:11:20,945 1620 INFO TestSRV odoo.addons.base.models.res_users: Login failed for db:TestSRV login:asfd from 1.2.23.3 
2020-12-11 13:12:07,928 1620 INFO TestSRV odoo.addons.base.models.res_users: Login failed for db:TestSRV login:asdf from 1.2.23.3 

Antwort1

\s*Fail2ban schneidet zwar den Teil des Strings heraus, der mit dem Datumsmuster übereinstimmt, aber es bleibt immer noch ein Leerzeichen übrig, sodass Sie nach dem Anker davor Folgendes hinzufügen müssen \d+:

-failregex = ^\d+ INFO \S+ \S+ Login failed for db:\S+ login:\S+ from <HOST>
+failregex = ^\s*\d+ INFO \S+ \S+ Login failed for db:\S+ login:\S+ from <HOST>

verwandte Informationen