Die Sicherheit der Nextcloud ist von entscheidender Bedeutung, da sie wichtige und sensible Daten enthalten kann. Eine effektive Methode, um deine Cloud vor potenziellen Sicherheitsbedrohungen zu schützen, ist die Kombination mit Fail2ban. Fail2ban ist eine bewährte Software zur Intrusion Detection and Prevention.
Nextcloud enthält oft sensible Daten, darunter persönliche Fotos, Dokumente und Kontakte. Eine unzureichend gesicherte Nextcloud-Instanz könnte ein attraktives Ziel für Hacker sein. Fail2Ban kann Brute-Force-Angriffe und andere verdächtige Aktivitäten erkennen und automatisch IP-Adressen blockieren, die diese Angriffe durchführen. Dies erhöht die Sicherheit deiner Nextcloud-Instanz erheblich und schützt somit deine persönlichen Daten vor unautorisiertem Zugriff. Fail2ban ist eine von mehreren Sicherheitsvorkehrungen.
Falls noch nicht geschehen, wird Fail2ban einfach mit folgendem Befehl installiert:
apt-get install fail2ban
Erstelle jetzt einen Filter für Nextcloud.
nano /etc/fail2ban/filter.d/nextcloud.conf
Trage hier den folgenden Inhalt ein. Diese Konfiguration definiert ein Fail2ban-Jail für das Monitoring von Log-Einträgen, die von einer Nextcloud-Instanz erzeugt werden. Sie erfasst fehlgeschlagene Anmeldeversuche und Trusted-Domain-Fehler und verwendet ein Datumsmuster für die Zeitstempel in den Log-Einträgen.
[Definition] _groupsre = (?:(?:,?\s*"\w+":(?:"[^"]+"|\w+))*) failregex = ^\{%(_groupsre)s,?\s*"remoteAddr":""%(_groupsre)s,?\s*"message":"Login failed: ^\{%(_groupsre)s,?\s*"remoteAddr":" "%(_groupsre)s,?\s*"message":"Trusted domain error. datepattern = ,?\s*"time"\s*:\s*"%%Y-%%m-%%d[T ]%%H:%%M:%%S(%%z)?"
Erstelle jetzt eine neue neue Konfigurations-Datei für den Jail:
nano /etc/fail2ban/jail.d/nextcloud.local
In diese Datei kommt folgender Inhalt hinein. Die Zeitsperre wird in Sekunden angegeben, in meinem Beispiel wird der User nach 5 fehlgeschlagenen Anmeldeversuchen für 1 Stunde ausgesperrt. Je nach Einrichtung von Nextcloud musst du den Pfad zur Log-Datei anpassen.
[nextcloud] backend = auto enabled = true port = 80,443 protocol = tcp filter = nextcloud maxretry = 5 bantime = 3600 findtime = 43200 logpath = /var/www/nextcloud/data/nextcloud.log
Anschließend wird Fail2ban noch einmal neu gestartet:
/etc/init.d/fail2ban restart
Bei mehrfacher falschen Passworteingabe in Nextcloud wird die IP-Adresse des Nutzers für die angegebene Zeit gesperrt. Mit folgendem Befehl lässt sich der aktuelle Status des Jails auslesen:
fail2ban-client status nextcloud
Bei Fragen oder Anregungen freue ich mich natürlich über eure Kommentare.
Über mich
Ich bin Janis (aka. EurenikZ), 25 Jahre alt und komme aus der Nähe von Frankfurt am Main. Ich habe eine abgeschlossene IHK-Ausbildung zum Fachinformatiker für Systemintegration und arbeite als Junior IT-Administrator in einem IT-Systemhaus. Neben meinem IT-Blog beschäftige ich mich viel mit diversen IT-Themen und meinen Webseiten sowie Telegram Bots und biete IT-Dienstleistungen an.