V19.0.0 - Sicherheitseinstellungen

Hallo an alle
die schon v19 am Laufen haben.
Unter den Sicherheitseinstellungen - Verschiedenes gibt es
„Maximale Anzahl fehlgeschlagener Authentifizierungen innerhalb von 24 Stunden, um die Anmeldung zu verweiger“
Standardwert ist „100 fehlgeschlagene Authentifizierungen“
Der Wert springt bei meiner Installation nach einer Änderung immer zurück auf 100.
Kann das bitte mal jemand nachvollziehen.
Danke

Hallo,
bei mir auch.

BG
Jason

Hab noch was aus meiner installation aus 2022 gefunden

Installation und “Grund”-Härtung von Dolibarr - Dolibarr installieren - Dolibarr Forum in deutscher Sprache

nano /etc/fail2ban/jail.local

Hier fügen wir folgenden Inhalt ein:

[doli-passforgotten]
; rule against call of passwordforgottenpage
enabled = true
port    = http,https
filter  = doli-passforgotten
logpath = /var/log/doli-passforgotten.log
action  = %(action_mw)s
bantime  = 86400     ; 1 day
findtime = 3600      ; 1 hour
maxretry = 5

[doli-passwrong]
; rule against bruteforce hacking (login + api)
enabled = true
port    = http,https
filter  = doli-passwrong
logpath = /var/log/doli-passwrong.log
action  = %(action_mw)s
bantime  = 86400     ; 1 day
findtime = 3600      ; 1 hour
maxretry = 5

Vielen Dank für s nachprüfen und den Auszug aus Deinem jail.

f2b wird von meinem bash-Script auch standardmäßig installiert. Aber ich dachte, wenn Doli jetzt schon eine eigene Prüfung von fehlerhaften Anmeldungen macht, sollte der Wert auch anpassbar sein. (100 Fehler in 24h isss doch a bisserl viel :slight_smile: )

VG
Bernd

Guten Morgen,
ich hab mir am Wochenende nochmal Deine jail-config angeschaut.
Hast Du die Funktion an Deinem Server schon einmal getestet?
VG
Bernd

:see_no_evil:
Es Funktioniert nicht, auch mit den Beispielen aus GitHub

dolibarr/dev/setup/fail2ban at develop · Dolibarr/dolibarr · GitHub

auch nicht, muss ich nochmal schauen wo der Wurm ist.

Das kann ich Dir sagen, warum es nicht geht:

  1. Du musst in den Modul-Einstellungen, System (ganz unten), Debug Logs aktivieren. Über das Zahnrad Log-Level auf 5 stellen
  2. In der jail.local Datei den Parameter für „logpath“ auf den Pfad der dololibarr.log Datei einstellen. In der Regel liegt die Datei im Dokumentenverzeichnis.
  3. Die Vorgehensweise mit dem jail.local ist auch nicht richtig. Dein jail sollte unter "/etc/fail2ban/jail.d/ z.B. als „dolibarr.local“ erstellt werden.
  4. Die Filter müssen dann entsprechend in „/etc/fail2ban/filter.d/“ abgelegt sein. (evtl. auch noch die Bezeichnungen der Filter im jail und Filter überprüfen)
  5. Mit „systemctl restart fail2ban.service“ die Änderungen übernehmen
  6. Mit „systemctl status fail2ban.service“ schauen, ob f2b jetzt ordentlich läuft. wenn Du das jetzt vor den Änderungen anschaust, siehst Du auch die Fehlermeldungen.
  7. Mit
    fail2ban-client status
    kann man den Status der jails abfragen und bekommt z.B. eine solche Liste:
    Status
    |- Number of jail: 3
    |- Jail list: dolibarr-passforgotten, dolibarr-passwrong, sshd

Für weitere Fragen immer gerne :wink:

Vielen Dank für die ausführliche erklärung, es will noch nicht richtig bei mir

mein jail.local liegt nun in „/etc/fail2ban/jail.d/doli.local“
filter liegen in „/etc/faul2ban/filter.d/“

meine doli.local sieht wie folgt aus-

[passforgotten]
; rule against call of passwordforgottenpage
enabled = true
port = http,https
filter = passforgotten
logpath = /var/www/dolibarr/documents/dolibarr.log
action = %(action_mw)s
bantime = 86400 ; 1 day
findtime = 3600 ; 1 hour
maxretry = 5

[passwrong]
; rule against bruteforce hacking (login + api)
enabled = true
port = http,https
filter = passwrong
logpath = /var/www/dolibarr/documents/dolibarr.log
action = %(action_mw)s
bantime = 86400 ; 1 day
findtime = 3600 ; 1 hour
maxretry = 5

Status
root@doli:/etc/fail2ban/filter.d# fail2ban-client status
Status
|- Number of jail: 3
`- Jail list: passforgotten, passwrong, sshd
root@doli:/etc/fail2ban/filter.d#

hab ich noch was übersehen?

Hast Du das LOG - Modul aktiviert?

Versuche Dich mal mit einem UNGÜLTIGEN Benutzer einzuloggen.
Schau dann mit

cat /var/www/dolibarr/documents/dolibarr.log | grep "Authentication KO user not found"

ob der Anmeldeversuch im Logfile steht.

Hallo,
Debug Log sind aktiviert.

Bei einem unbekannten User ist die Anmeldung vorhanden im Log

Hast du mit systemctl den Dienst neu gestartet?
Schau dir nochmal die Namen der Filter an. Stimmen die mit den jails überein?

Hallo, systemctl habe ich durchgeführt,im dolibarr.log scheint alles zu protokolieren, aber wie greift fail2ban auf die Datei, meine Filter sind wie folgt

passwrong.conf

[Definition]
failregex = ^ [A-Z\s]+ \s+functions_::check_user_password_. Authentication KO
ignoreregex =

passforgotten

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

Also zur Funktion von f2b:
In den Filterdateien stehen regex (regulärer Ausdruck) Definitionen, die aus den entsprechenden Log-Dateien passende Einträge herausfischen.
Die zu verwendende Log-Datei ist in dem zugehörigen jail definiert (logpath = …).
f2b zählt nun jedes raus gefischte Ereignis mit und gibt Alarm, wenn innerhalb einer definierten Zeitspanne die definierte Menge zusammenkommt. In diesem Fall wird die IP-Adresse des betreffenden Endgerätes gesperrt. Du hast dann keinen Zugriff mehr auf den Web-Server.
Im Ubuntu Wiki z.B. kannst Du es auch nochmal ausführlich nachlesen.

Was Du noch testen kannst:
Setze im passwrong jail den Wert für maxretry = 1
Jetzt solltest Deine IP spätestens nach der zweiten fehlerhaften Anmeldung für einen Tag gesperrt werden. Hier noch ein Beispiel, wie Du das überprüfen kannst:
fail2ban-client status passwrong
Status for the jail: passwrong
|- Filter
| |- Currently failed: 0
| |- Total failed: 1
| - File list: /var/www/dolibarr/documents/dolibarr.log - Actions
|- Currently banned: 0
|- Total banned: 0
`- Banned IP list:

Falls Deine IP dann tatsächlich gesperrt wird kannst Du Sei hiermit wieder freischalten:

fail2ban-client unban DEINE-IP-ADRESSE

Es klappt nicht,
in der dolibarr.log wird der Fehler registriert

functions_dolibarr::check_user_password_dolibarr Authentication KO bad password for

aber fail2ban findet es nicht
Current failed: 0
Total failed: 0

Currently banned: 0
Total banned: 0
Banned IP list:

es scheint als hätte fail2ban keine Berechtigung, dolibarr.log zu lesen.

Wie sehen denn die Zugriffsrechte und Eigentümer der Datei aus?
Funktionieren sollte es damit (zumindest bei mir):
-rw-rw---- 1 www-data www-data 50K 5. Mär 18:19 dolibarr.log

was sagt den das f2b log:

journalctl -u fail2ban.service