In dieser Anleitung erfahrt ihr, wie ihr Nextcloud mittels des Tools CrowdSec in wenigen Minuten absichern könnt.
Datum | Änderungen |
---|---|
08.09.2022 | Erstellung dieser Anleitung |
22.09.2022 | Apache2 Logs wurden entfernt. Apache2 wurde aus Crowdsec entfernt, da es dazu führte, dass man selbst gebannt wurde. |
17.11.2022 | Kapitel 5 Whitelist hinzugefügt |
25.04.2023 | Kapitel 2.2 Parser hinzugefügt, damit wir nicht immer gebannt werden. Danke an @flohallo |
29.05.2023 | Anpassung an neue Traefik Anleitung |
1. Voraussetzung
Diese Anleitung basiert auf folgenden Anleitungen
Bei diesem Inhalt handelt es sich um exklusiven Content für Community Plus Mitglieder und Supporter.
Bitte logge dich mit deinem Account ein um den Inhalt zu sehen.
4.2 Testen, ob die Logs gelesen werden
Nun schauen wir uns an, ob unsere beiden Nextcloud Log Dateien gelesen werden. Dazu loggt euch zuerst ein paar Mal falsch bei eurer Nextcloud an, damit in den Logs auch falsche Logins auftauchen. Anschließend gebt ihr folgenden Befehl ein:
docker exec crowdsec cscli metrics
Bei mir sieht dies dann so aus:
Wenn ihr Nextcloud gerade erst aufgesetzt habt, dann kann es sein, dass die Logs noch (ziemlich) leer sind. Dies hat zur Folge, dass wahrscheinlich noch kein “schädliches Verhalten” protokolliert wurde und daher die Log Datei auch nicht in der Übersicht angezeigt wird. Wiederholt dann diese Ausgabe einfach ein paar Stunden später 😉
Hallo,
auch von meiner Seite besten Dank für die detaillierte Anleitung.
Ich habe ein Problem, dass die “nextcloud.log” nicht in den sources (docker exec crowdsec cscli metrics) auftaucht (” file:/var/log/traefik/access.log” und “file:/var/log/traefik/traefik.log” sind vorhanden). Wenn ich mich im Container anmelde ist die “nextcloud.log” in dem Verzeichnis “/var/log/” ebenfalls vorhanden. In der “crowdsec/config/acquis.yaml” habe ich folgende Einträge:
Offensichtlich habe ich etwas übersehen.
Besten Dank
Tom
Guten Tag,
ich oute mich mal als Linux/Ubuntu-Neuling. Trotzdem habe ich es aber nach den Anleitungen auf goneuland geschafft docker, docker-compose, Traefik, crowdsec, Vaultwarden und nun auch Nextcloud auf meinem Server zu installieren.
Dieser blog ist aussergewöhnlich detailliert und ausführlich, wirklich top und vielen Dank!
Es gibt aber nun noch ein Problem, das die Test-Bann-Sequenz nicht funktioniert. In der Konsole wird das Bannen der IP zwar bestätigt, aber ich kann die NextCloud-Instanz trotzdem aufrufen ….
Für einen Tipp wäre ich dankbar.
Vielen Dank im voraus.
Hallo zusammen,
erst einmal vielen Dank für die tollen Anleitungen! Ich habe mehrere Anleitungen zum Thema Nextcloud (AOI) und Traefik + CrowdSec ausprobiert. Leider funktionierte das Blockieren von Brute-Force-Angriffen direkt auf der Nextcloud jedes Mal nicht. Obwohl die Logs von Crowdsec gelesen werden, wurden die IP-Adressen nicht blockiert. Das hat mich verzweifeln lassen. Heute habe ich den AAAA Record für die Domain gelöst, und siehe da, CrowdSec blockiert die Falschanmeldungen. Also habe ich das Ganze noch einmal genauer untersucht. Es scheint, dass, wenn IPv6-Anfragen an den Server gesendet werden, diese intern auf IPv4 umgesetzt werden. Dadurch tauchen in den Logs interne proxy IP Adressen auf .
172.31.0.1 – – [20/Feb/2024:17:31:22 +0000] “GET /apps/theming/img/background/kamil-porembinski-clouds.jpg HTTP/2.0” 200 84586 “-” “-” 645 “nextcloud@docker” “http://172.30.0.3:80” 9ms
Guten Abend,
kann es sein, dass der Punkt 5 “Whitelist” aus der Anleitung verschwunden ist? Im Changelog oben wird darauf referenziert, aber es ist nichts zu finden. Und beim durchmachen der Anleitung hatte ich jetzt auch den Eindruck, dass was fehlt am Ende bzgl. Konfiguration der Whitelist, um von Nextcloud (hier AIO) nicht immer wieder selbst gebannt zu werden.
Guten Tag, in der Anleitung TRAEFIK V2 + 3 – REVERSE-PROXY MIT CROWDSEC IM STACK EINRICHTEN wurde die “crowdsec.env” mit einem “=” Zeichen geschrieben. “COLLECTIONS=“crowdsecurity/trae….”.
In dieser Anleitung wurde “COLLECTIONS: “crowdsecurity/tr” ein Doppelpunkt statt einem “=” verwendet. Ist beides eine valide Schreibweise? Kenne .env datein nur mit = statt :.
Hallo Leute,
ich bin erst nach intensiver Recherche auf die offizielle Crowdsec Nextcloud Whiteliste gestoßen:
https://hub.crowdsec.net/author/crowdsecurity/configurations/nextcloud-whitelist
Das hat bei mir das Bannen der eigenen IP abgestellt.
Das sollte meiner Meinung nach unbedingt in diese Anleitung hier und am besten auch noch in der generellen Anleitung für traefik und Crowdsec erwähnt werden!
Hallo zusammen,
bei mir blockt nicht Crowdsec sondern Nextcloud selbst Brute-Force Attacken.
Crowdsec analysiert zwar die Logs, handelt aber nicht. Wenn ich mich falsch anmelde, sehe ich wie die Einträge in den Metrics-Listen hochgezählt werden. Ich habe mich zum testen ca. 15 mal falsch bei Nextcloud angemeldet und Crowdsec blockt mich nicht.
Ich habe Crowdsec und zuvor auch Nextcloud, Traefik und Vaultwarden nach den Anleitungen hier eingerichtet. Kapitel 5 Whitelist hinzufügen habe ich noch nicht gemacht.
Das Blocken von IP Adressen funktioniert generell. Wenn ich mich bei Vaultwarden 9 mal falsch anmelde, blockt Crowdsec die IP in Traefik für Vaultwarden und Nextcloud.
Warum reagiert Crowdsec nicht auf die Brute-Force Attacken auf Nextcloud, sondern wertet nur die Logs aus?
Metrics-Liste im Anhang, in den anderen einträgen der Liste die nicht mehr auf dem Bild sind, steht kein Eintrag mehr von Nextcloud, die stehen nur oben.
Ich würde mich freuen, wenn mir jemand von euch weiterhelfen kann
VG Patrick
hallo miteinander. mir ist gerade aufgefallen das bei mir der inhalt in der Nextcloud.log schön geschrieben wird. Nachdem der wöchentliche logrotate über die log drüber fährt, habe ich eine datrei mit 0 kb die nicht erneut beschrieben wird. sobald ich den nextcloud comtainer neu starte funktioniert es wieder. an was kann das liegen?
Müsste das hier:
docker compose exec -t crowdsec kill -SIGHUP 1
nicht so lauten?:
docker exec -t crowdsec kill -SIGHUP 1
Huhu bin relativ neu hier … erstmal ein großes Danke für deine harte Arbeit.
Ich haben auch das Problem mit “selbst gebannt werden” vlt. hilft mein workaround.
Zur info bei mir kam der Bann bei der Kalender und Kontakt Synchronisierung auf.
aus dem accesslog den Request raussuchen in meinem Fall:
die Whitelist-Datei von crowdsec öffnen:
hier eine eigene Bedingung hinzufügen ( in meinem Fall) :
config neuladen
achso entbannen nicht vergessen.
ich hoffe es hilft euch Andreas Christian
Beim Fall von stephan.oede würde es ungefähr so aussehen
und Andreas, guck mal bitte im accesslog nach wo du den ersten 403er bekommst. Gerade wenn es um DAV-Sync von Android zu Nextcloud geht sollte da wie bei mir ein “PUT”-Request stehen.
Moin Christian ,
wenn ich Traefik schon mit Crowdsec abgesichert habe (Danke für euren Post), warum sollte man dann Nextcloud separat absichern?
Welche Vorteile bietet das?
Viele Grüße
Jonas
Hallo Christian,
auch bei mir nach kurzer Zeit die IP geblockt. Ich gehe über Duckdns. Ist das vielleicht eh problematisch. Wie setze in CrowdSec eine IP auf die Whitelist. Danke für eine Rückmeldung.
Moin Christian,
ich habe alle Tutorials von dir befolgt und schon viele neue Dinge gelernt.
Leider stocke ich momentan. Meine Nextcloud läuft super jedoch möchte ich ca. 500GB in meine Nextcloud laden. CrowdSec macht mir da einen Strich durch die Rechnung und bannt meine IP regelmäßig.
In der CrowdSec Console sehe ich dass crowdsecurity/http-probing schuld sei.
Was mache ich genau?
Ich uploade viele Files über den Windows Client in meine Nextcloud.
dabei wird meine eigene IP regelmäßig gebannt 🙁
Hast du eine Idee was ich machen kann?
Klar könnte ich jetzt meine IP whitelisten aber ich habe für die Zukunft Angst, dass ich ständig meine dynamische IP whitelisten muss.
Gibts da weitere Ansätze?
Vielen Dank für deine super Arbeit!
PS: bin jetzt auch Premium Mitglied 👍
Vielen Dank Christian. Gerade ausprobiert und funktioniert.