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 |
Inhaltsverzeichnis
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 😉
5. Whitelist hinzufügen (optional)
@monk und @andreas ist aufgefallen, dass es in einigen Fällen zu Banns kommen kann, da der eigene Client sehr viele Anfragen schickt. Daher haben die Beiden einige Pfade rausgesucht, welche man “freigeben” kann / sollte, damit alles funktioniert.
Zuerst legen wir uns dazu eine Whitelist an. Gebt dazu folgendes ein:
nano /opt/containers/crowdsec/config/parsers/s02-enrich/nextcloud-white.yaml
Kopiert nun folgenden Code in die Datei:
name: NextcloudWhitelist description: NextcloudAntiBanWL whitelist: reason: banne keine NC nutzer expression: - "evt.Parsed.request contains '/remote.php/dav'" - "evt.Parsed.request contains '/apps/mail'" - "evt.Parsed.request contains '/index.php/apps'"
Nun müssen wir CrowdSec die Konfiguration neu einlesen lassen. Dazu gebt ihr folgendes ein:
docker exec -t crowdsec kill -SIGHUP 1
Jetzt können wir unsere Arbeit überprüfen. Gebt dazu folgenden Befehl ein:
docker exec crowdsec cscli metrics
Nun solltet ihr folgendes sehen:
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.
Andreas
Christian
ich hoffe es hilft euch
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.