Crowdsec Traefik Beispiel: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 13: | Zeile 13: | ||
==Access-Log in Traefik aktivieren== | ==Access-Log in Traefik aktivieren== | ||
| − | *vi / | + | *vi /mnt/docker/traefik/traefik.yaml |
accessLog: | accessLog: | ||
filePath: "/logs/traefik-access.log" | filePath: "/logs/traefik-access.log" | ||
format: json | format: json | ||
| − | + | *vi /mnt/docker/traefik/docker-compose.yaml | |
| − | + | - ./logs:/logs | |
| − | |||
| − | * | ||
==CrowdSec vorbereiten== | ==CrowdSec vorbereiten== | ||
| Zeile 33: | Zeile 31: | ||
*vi /etc/crowdsec/acquis.yaml | *vi /etc/crowdsec/acquis.yaml | ||
filenames: | filenames: | ||
| − | - / | + | - /mnt/docker/traefik/logs/traefik-access.log |
labels: | labels: | ||
type: traefik | type: traefik | ||
| + | --- | ||
*systemctl restart crowdsec | *systemctl restart crowdsec | ||
==Angriff simulieren== | ==Angriff simulieren== | ||
| − | + | *nikto -ssl -h docker-host | |
| − | * | ||
| − | |||
| − | |||
| − | |||
==Erkennung prüfen== | ==Erkennung prüfen== | ||
Aktuelle Version vom 9. April 2025, 07:38 Uhr
Traefik mit CrowdSec absichern
Ziel
CrowdSec soll HTTP-Angriffe auf einen Traefik-Proxy erkennen. Dazu wird das JSON-Access-Log von Traefik per Volume-Mount an CrowdSec übergeben und ausgewertet.
Voraussetzungen
Traefik läuft im Docker-Container.
Access-Logs im JSON-Format sind aktiviert.
CrowdSec ist installiert und läuft.
Access-Log in Traefik aktivieren
- vi /mnt/docker/traefik/traefik.yaml
accessLog: filePath: "/logs/traefik-access.log" format: json
- vi /mnt/docker/traefik/docker-compose.yaml
- ./logs:/logs
CrowdSec vorbereiten
- cscli hub update
- cscli parsers install crowdsecurity/traefik-logs
- cscli collections install crowdsecurity/traefik
- systemctl restart crowdsec
Logquelle einbinden
- vi /etc/crowdsec/acquis.yaml
filenames: - /mnt/docker/traefik/logs/traefik-access.log labels: type: traefik ---
- systemctl restart crowdsec
Angriff simulieren
- nikto -ssl -h docker-host
Erkennung prüfen
- cscli alerts list
- cscli decisions list
- journalctl -u crowdsec -f
Hinweis
CrowdSec kann keine Logs aus docker logs oder journald lesen, wenn das Log im JSON-Format ist. Nur eine explizite Logdatei mit Volume-Mount funktioniert zuverlässig.
Fazit
Traefik lässt sich mit CrowdSec absichern, wenn das JSON-Access-Log korrekt in eine Datei geschrieben und über acquis.yaml eingebunden wird. Die Kombination aus Parser, Szenarien und Volume