Crowdsec Traefik Beispiel

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

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

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