Wie ein maximum an Login versuchen einstellen?

Hi,
ich würde gern eine max anzahl an Login versuchen einstellen, die z.B. nach drei fehlversuchen den zugang verwehrt.
Ich finde nichts im Netz und der suchfunktion hier dazu.
Es muss doch für das Login Web interface, soetwas wie “max_login_attempts = 3” geben?

Settings:
-Raspbian auf Raspberrypi2
-Nextcloud 11
-https enabled
-dyndns (Login UI vom Web erreichbar)
-sqlite3
-php5
-apache2

du könntest fail2ban dafür benutzen.

–> nach 3 falschen Versuchen wird die IP-Adresse für x Sekunden/Minuten/Stunden gebannt.

Datei “nextcloud.conf” in /etc/fail2ban/filter.d anlegen

Inhalt von nextcloud.conf:

[Definition]
failregex={"reqId":".*","remoteAddr":".*","app":"core","message":"Login failed: '.*' \(Remote IP: '<HOST>'\)","level":2,"time":".*"}
ignoreregex =

in /etc/fail2ban/jail.local folgenden Eintrag hinzufügen:

[nextcloud]
enabled = true
port = 80,443
protocol = tcp
filter = nextcloud
maxretry = 3
bantime = 3600
logpath = /var/<Nextcloud data PFAD>/nextcloud.log

Danke,
aber genau soetwas hat NC schon eingebaut, namens “Brute Force Protection”. Fail2Ban brauch ich also nicht installieren und anwenden, ich wollte nur die Anmeldeversuche nochmal extra auf 3 maximal einstellen. Ohne die Zeitverzögerung bis zum nächsten versuch, aber so wie es ist muss es erstmal ausreichen.

Kann das jetzt wirklich bis heute niemand im Deutschen Forum beantworten?

Die Sperre nach x Versuchen ist sinnfrei. Selbst bei extrem schlechten Passwörtern braucht ein Script-Kiddie Hunderte bis Tausende Versuche. Echte Hacker lesen mit Malware oder Keylogger die Passwörter im Klartext mit und brauchen nur genau einen Versuch. Wer das versteht weiß, dass keine Passwortregel an die Qualität von 2FA rankommt. Also vergiss die Passwortregeln und sag es auch deiner Compliance-Abteilung.

Tipp:
Schau dir deine Passwortregeln an und überlege wie viel Versuche selbst bei Trivialpasswörtern aus Wörterbüchern unter Einhaltung dieser Regeln nötig wären. Und du willst Benutzer nach drei Versuchen sperren? Lächerlich.

1 Like

Naja, weil es halt nicht geht mit der eingebauten Brute Force Protection. Die ist nicht wirklich konfigurierbar, zumindest habe ich in der Doku nichts dazu gefunden.

Wenn du unbedingt die Anmeldeversuche ohne Zeitverzögerung auf max. 3 begrenzen willst, deaktiviere die “Brute Force Protection” App und nutze Fail2ban.

Trivialpasswörter zu verwenden, würde ich aber trotzdem nicht empfehlen :wink:

Ist eher ein Problem wenn der Angreifer die Passwortdatenbank klaut. Sonst Angriff über die Anwendung? Eher auch bei Trivialpasswörtern unrealistisch.

Erst mal danke für die Rückmeldung!
Mein Hauptproblem ist nicht das ich das einschalten, sonden das ich dachte es gibt vielleicht eine default wert den ich auf 0 stellen will.
Es ist so das seit ein paar Tagen meine nextcloud MICH alle 20 - 30 minuten DISABLET.
Momentan behelfe ich mir damit das ich alle 10 sekunden
sudo -u www-data /usr/bin/php7.4 /var/www/nextcloud/occ user:enable user
diesen aufruf mache.
Ich habe vor ein paar tagen einen neuen ANDEREN user angelegt. Und dieser user wurde nach einiger zeit auch abgemeldet. Nachdem ich diesen wieder enablet habe ging wieder alles normal weiter. Und dann hat das disablen bei mir als user angefangen. Zur Zeit bin ich etwas verzweifelt.

Meine aktuelle Version ist schon etwas überwuzelt. Nextcloud 24.0.1 Ich werde jetzt einen Snapshot machen und dann ein Upgrade. Hoffentlich wird mein Problem damit behoben.

Hast Du mal in den Logdateien nachgeschaut, woher (IP-Adressen) die Login-Versuche kommen? - Nicht, dass eine Anwendung von Deinem Rechner die Ursache ist.

Naja, besser wäre es das eigentliche Problem zu finden, anstatt die Brute Force Protection einfach abzuschalten, vorallem wenn deine Cloud aus dem Internet erreichbar ist. Aber ja, das geht, indem du folgende Zeile zur config.php hinzufügst:

'auth.bruteforce.protection.enabled' => false,

Eine weitere (bessere) Möglichkeit das Problem zu umgehen, wäre die App Brute Force Settings. Damit könntest du einzelne IP Adressen oder ganze IP Ranges in deinem lokalen Netzwerk (z.B 192.168.1.0/24) whitelisten. Dann wäre die Bruteforce Protection für Geräte im lokalen Netzwerk deaktiviert, für Zugriffe aus dem Internet aber weiterhin aktiv.

Zuerst würde ich aber mal den Tipp von @Mornsgrans befolgen, um den Verursacher der fehlerhaftern Loginversuche herausfinden. Dazu noch folgender Tipp: Falls du im lokalen Netzwerk via externe Adresse / DynDNS Adresse auf deine Cloud zugreifst, ist es gut möglich, dass wegen NAT Reflection alle Geräte mit der selben IP Adresse daherkommen, nämlich der IP Adresse des Routers. Wenn das der Fall sein sollte, genügt es wenn ein einziges Gerät, oder eine einzelne App auf einem Gerät, sich mit einem falschen Passwort anzumelden versucht, damit alle anderen Geräte im lokalen Netzwerk ebenfalls geblockt werden.