V19.0.0 - Sicherheitseinstellungen

wenn f2b Probleme mit dem Zugriff auf das Logfile hat, kommt diese Fehlermeldung:

[3441]: ERROR Failed during configuration: Have not found any log file for dolibarr-passforgotten jail
[3441]: ERROR Async configuration of server failed

Guten Morgen,
erstmal vielen Dank, für die Ausdauernde Unterstützung :slight_smile:
„dolibarr.log“ Rechte

-rw-rw---- 1 www-data www-data 123564 Mär 5 22:20 /var/www/dolibarr/documents/dolibarr.log

das Journal

Mär 06 06:08:08 doli…info systemd[1]: Starting Fail2Ban Service…
Mär 06 06:08:08 doli…info systemd[1]: Started Fail2Ban Service.
Mär 06 06:08:08 doli…info fail2ban-server[7791]: Server ready

Kann es sein das mein Dolibarr hinter einem nginx proxy manager liegt?
Ich vermute das mein Filter den Text nicht im Log findet oder kann es an der Zeitzone liegen?
Ich würde es gerne mal ohne Log Datei testen.

Ich habe jetzt mal ein Test mit „fail2ban-regex“ durchgeführt, es gab 34 Matches, und nach einem weiteren Falschen passwort, tatsächlich 35 Matches, also funktioniert der Filter schonmal, die frage ist nun, warum kein BAN, greifen hier eventuell doch die 100 Versuche in Dolibarr?

Ich hab Dir eine PN geschickt …

Es ist länger her, dass ich mich mit fail2ban beschäftigt habe, aber fehlt in den regulären Ausdrücken nicht sowas wie HOST oder ADDR, damit fail2ban weiß, welche IP-Adresse geblockt werden soll? Es nützt ja nichts, wenn der Ausdruck auf eine Logzeile matcht, aber daraus keine IP-Adresse isoliert werden kann, die dann an fail2ban übergeben wird.

Für meine Installation verwende ich kein fail2ban. Mein Dolibarr liegt zwar auf einem öffentlich erreichbaren Server, aber da ich nur statische IP-Adressen habe, ist der Webserver so konfiguriert, dass für die entsprechende Subdomain nur Zugriffe von meinen IP-Adressen erlaubt werden.

Du hast Recht :smiley:
Das hab ich in seinem Filter ganz übersehen.

Richtig sollte die Definition für passwrong so aussehen:

[Definition]
failregex = ^ [A-Z\s]+ <HOST>\s+functions_dolibarr::check_user_password_.* Authentication KO
ignoreregex =

Und für passforgotten:

[Definition]
failregex = ^ [A-Z\s]+ <HOST>\s+--- Access to .*/passwordforgotten.php - action=buildnewpassword
ignoreregex =

Guten Morgen,
den Filter hatte ich schon wieder mit dem fehlenden HOST korrigiert, ich denke das dieser auch funktioniert, ich habe mal ein Auszug von fail2ban-regex
Er findet 60 Matches aber es scheint keine Action zu geben.

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

Use   failregex filter file : passwrong, basedir: /etc/fail2ban
Use         log file : /var/www/dolibarr/documents/dolibarr.log
Use         encoding : UTF-8


Results
=======

Failregex: 60 total
|-  #) [# of hits] regular expression
|   1) [60] ^ [A-Z\s]+ <HOST>\s+functions_dolibarr::check_user_password_.* Authentication KO
`-

Ignoreregex: 0 total

Date template hits:
|- [# of hits] date format
|  [1112] {^LN-BEG}ExYear(?P<_sep>[-/.])Month(?P=_sep)Day(?:T|  ?)24hour:Minute:Second(?:[.,]Microseconds)?(?:\s*Zone offset)?
`-

Lines: 1112 lines, 0 ignored, 60 matched, 1052 missed
[processed in 0.03 sec]

Missed line(s): too many to print.  Use --print-all-missed to print all 1052 lines

Hallo,
Kurzes Feedback, die Filter Funktionieren und auch die Einträge werden in die UFW Firewall eingetragen und nach der Frist wieder ausgetragen, der Grund, warum keine Blockade stattgefunden hat war der Nginx Proxy Manager, die Firewall sieht nur die IP vom Proxy und nicht die RealeIP.
Derzeit lasse ich im Nginx Webserver, eine Umleitung auf eine Banned IP Seite laufen wenn RealeIP auf BannedHost vorhanden ist, klappt gut.
Wenn ich herausgefunden habe wie ich die UFW Firewall dazu bringe die RealeIP zu erkennen und zu blocken (sofern das überhaupt möglich ist) melde ich mich nochmal.

VG
Jason