Mit einer Passwortänderung die unangenehme Folgen hatte, musste ich letzte Woche kämpfen. Nach einem routinemäßigen Austausch des Nextcloud-Passworts stellte ich fest, dass sich der Client am Notebook nach dem Neustart nicht mehr mit meiner eigenen Cloud verbunden hat. Dieser Umstand war nicht schön, beunruhigte mich aber nicht weiter. Am Smartphone traten dann aber ähnliche Verbindungsprobleme auf. Auch der Nextcloud-Cliend für Android konnte nicht mehr auf den Raspberry Pi zugreigen.
Sicherheitshalber wurde das neue Passwort meinerseits nochmal gecheckt. Dabei fiel auf, dass beim Login am Webinterface sehr viel Zeit verging, man sich danach aber wie gewohnt in der Cloud bewegen konnte. Ein wenig Recherche brachte dann die Lösung. Der durch Bruteforce-Attacken geschützte Zugang musste für die entsprechende IP zurück gesetzt bzw. entfernt werden. Dazu werden die IP-Einträge des Clients aus der Tabelle oc_bruteforce_attempts der MySQL-Datenbank gelöscht (xx.xx.xx.xx durch gesperrte IP ersetzen).
1 |
DELETE FROM oc_bruteforce_attempts WHERE ip = 'xx.xx.xx.xx'; |
Anschließend konnten alle Clients, wie zuvor problemlos auf die Nextcloud zugreifen.
Tipp: Genau für diesen Anwendungsfall (sprich diverse Clients für den Dateizugriff oder Nextcloud News etc. auf Mobilgeräten, Kalenderprogramme mit CalDAV-Unterstützung wie KOrganizer, Nextcloud-Desktopclient) gibt es Apppasswörter.
Also in Nextcloud oben rechts auf „Persönlich“, dann in der Spalte links auf „App-Passwörter“. Dort kannst du beliebig viele Zugriffstoken generieren, die in den Clients anstatt des Passworts verwendet werden und auch wieder zurückgezogen werden können. Ich empfehle, für jede einzelne App und jeden einzelnen Client ein separates zu erstellen, dann sieht man sogar, wann der jeweilige Client zuletzt aktiv war. 😉
Ganz vergessen, der Hauptvorteil: Die Apppasswörter funktionieren auch, wenn da Passwort des Accounts geändert wurde oder 2-Faktor-Authentifizierung verwendet wird, d. h. das oben genannte Problem kann dann gar nicht mehr auftreten. 😉
Wie ist denn der Pfad zu dieser oc_bruteforce datei?
find / -name oc_bruteforce , findet nix!
oc_bruteforce_attempts ist eine Tabelle in der MySQL-Datenbank.
Ich habe das mal noch im Text geändert. ????
ah ok, ich nutze sqlite, da gibts das bestimmt auch…
Muss ich ma gucken, Danke
Zu SQLite kann ich nichts sagen. Hast Du denn ähnliche Probleme?
Nein noch habe ich keine Probleme, habe aber versucht, mich mit dem Nextcloud Bruteforce schutz auseinander zu setzen!
Ich wollte erst max login attempts auf 3 setzen, was nicht ging. Letztlich musste ich die standard funktion von NC so belassen. Diese setzt die Zeit pro fehlgeschlagenden Login versuch nach oben, bis zum nächsten versuch.
Das System wurde wohl nicht zu Ende gedacht. Wenn jemand sich mehrmals mit dem selben Passwort verbindet ist dies doch kein Bruteforce Angriff und die IP muss nicht gesperrt werden. Damit sperrt man dann nur den eigentlichen Besitzer aus.