Crowdsec Traefik Bouncer
Version vom 9. April 2025, 09:59 Uhr von Thomas.will (Diskussion | Beiträge) (→Middleware aktivieren für uptime-kuma)
Traefik mit CrowdSec + CAPTCHA über HTTPS (Label-basiert)
Ziel
HTTP-Angreifer sollen nicht sofort geblockt, sondern auf eine CAPTCHA-Seite umgeleitet werden. Nach erfolgreicher Bestätigung wird der Zugriff automatisch freigegeben – ausschließlich über HTTPS. Die Konfiguration erfolgt vollständig über Docker-Labels.
Voraussetzungen
- Traefik läuft als Container (z. B. mit weyon/traefik-bindtools)
- HTTPS ist aktiv (Let's Encrypt mit certresolver=letsencrypt)
- CrowdSec ist direkt auf dem Docker-Host installiert
- Externes Docker-Netzwerk heißt traefik-public
- Die Dienste wie uptime-kuma sind über Traefik erreichbar
CrowdSec vorbereiten
- vi /etc/crowdsec/config.yaml
listen_uri: 0.0.0.0:8080
- systemctl restart crowdsec
- cscli bouncers add traefik-bouncer
→ Den Key kopieren
Bouncer-Konfiguration
- mkdir -p /mnt/docker/traefik/bouncer
- vi /mnt/docker/traefik/bouncer/config.yml
listen_uri: 0.0.0.0:8081 crowdsec_lapi_key: HIER_DEN_KEY_EINFÜGEN crowdsec_lapi_url: http://host.docker.internal:8080/ log_level: info mode: captcha
Docker-Compose ergänzen
Nur den neuen Dienst einfügen:
traefik-bouncer:
image: crowdsecurity/cs-traefik-bouncer
container_name: traefik-bouncer
volumes:
- ./bouncer/config.yml:/config.yml:ro
ports:
- "8081:8081"
extra_hosts:
- "host.docker.internal:host-gateway"
restart: unless-stopped
networks:
- traefik-public
→ traefik bleibt unangetastet.
Middleware definieren
- vi /mnt/docker/traefik/conf/middleware.yaml
http:
middlewares:
crowdsec-captcha:
forwardAuth:
address: http://traefik-bouncer:8081/api/v1/forwardAuth
trustForwardHeader: true
authResponseHeaders:
- X-Crowdsec-Captcha-Result
Middleware aktivieren für uptime-kuma
In der docker-compose.yaml von uptime-kuma ergänzen:
- "traefik.http.routers.uptime-kuma.middlewares=crowdsec-captcha@file"
System starten
- docker compose up -d
Testen
- cscli decisions add --ip DEINE_IP --type captcha --duration 10m
- Browser öffnen → https://uptime-kuma.samogo.de
→ CAPTCHA-Seite erscheint
Fazit
Diese Konfiguration ergänzt dein vorhandenes Setup um eine sichere, dynamische CAPTCHA-Funktion mit CrowdSec. Angreifer werden zuverlässig erkannt und gebremst – ohne legitime Nutzer dauerhaft auszuschließen.