Crowdsec Docker Beispiel
Absicherung von Docker-Containern mit CrowdSec
- Ziel
CrowdSec soll neben SSH auch Angriffe auf Dienste erkennen, die in Docker-Containern betrieben werden. Dazu werden die Logs der Container ausgewertet.
Voraussetzungen
CrowdSec ist installiert und läuft.
Die Logs der Docker-Dienste sind für CrowdSec zugänglich, beispielsweise über das Journal:
- journalctl -u docker.service | tail
Schritt 1: Parser für Docker-Logs aktivieren
Hub aktualisieren:
- cscli hub update
Docker-Log-Parser installieren:
- cscli parsers install crowdsecurity/docker-logs
Schritt 2: Traefik-Collection installieren
Traefik-Collection installieren:
- cscli collections install crowdsecurity/traefik
Diese Collection enthält:
- Parser für Traefik-Logs
- Szenarien zur Erkennung typischer Angriffe auf HTTP-Dienste
Schritt 3: CrowdSec-Dienst neu starten
- systemctl restart crowdsec
Überprüfung der Konfiguration
Aktive Szenarien anzeigen:
- cscli scenarios list
Aktive Collections anzeigen:
- cscli collections list
Hinweise zur Feinabstimmung
Nur bestimmte Container absichern:
- Logs gezielt weiterleiten, z. B. mit spezifischen Journald-Filtern oder syslog.
CrowdSec-Logs live verfolgen:
- journalctl -u crowdsec -f
Ergänzung: Weitere Dienste absichern
Falls nginx oder HTTP-APIs im Container laufen, empfiehlt es sich, folgende Collections zu installieren:
- cscli collections install crowdsecurity/nginx
- cscli scenarios install crowdsecurity/http-bf
Fazit
Mit diesen Schritten lässt sich CrowdSec so erweitern, dass auch Angriffe auf Docker-Container erkannt und geblockt werden. Voraussetzung ist, dass die Logs der Container für CrowdSec zugänglich sind.