Crowdsec Traefik Bouncer: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(9 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
=Traefik mit CrowdSec + CAPTCHA über HTTPS (Label-basiert)=
+
=FORWARD und DOCKER-USER Kette müssen auch gesperrt werden=
 
+
*vi /etc/crowdsec/bouncers/crowdsec-firewall-bouncer.yaml
==Ziel==
+
  iptables_chains:
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 unter Verwendung des offiziellen CrowdSec-Plugins für Traefik.
+
   - INPUT
 
+
  - FORWARD
==Voraussetzungen==
+
   - DOCKER-USER
* Traefik läuft als Container (z. B. mit weyon/traefik-bindtools)
+
=Bouncer neustarten=
* HTTPS ist aktiv (Wildcard-Zertifikat oder Let's Encrypt)
+
*systemctl restart crowdsec-firewall-bouncer.service
* CrowdSec ist direkt auf dem Docker-Host installiert
 
* Externes Docker-Netzwerk heißt ''traefik-public''
 
* Die Dienste wie ''uptime-kuma'' sind über Traefik erreichbar
 
* Das CrowdSec-Traefik-Plugin wird verwendet (kein Bouncer-Container nötig)
 
 
 
==CrowdSec vorbereiten==
 
 
 
*vi /etc/crowdsec/config.yaml
 
listen_uri: 0.0.0.0:8080
 
 
 
*systemctl restart crowdsec
 
 
 
*cscli bouncers add traefik-plugin
 
 
 
→ Den Key kopieren
 
 
 
==Traefik-Plugin aktivieren==
 
 
 
*vi /mnt/docker/traefik/traefik.yaml
 
experimental:
 
  plugins:
 
    crowdsec:
 
      moduleName: "github.com/maxlerebourg/crowdsec-bouncer-traefik-plugin"
 
      version: "v1.4.2"
 
 
 
==Middleware definieren==
 
 
 
*vi /mnt/docker/traefik/conf/middleware.yaml
 
  http:
 
   middlewares:
 
    crowdsec-captcha:
 
      plugin:
 
        crowdsec:
 
          crowdsec_mode: captcha
 
          crowdsec_lapi_url: http://host.docker.internal:8080/
 
          crowdsec_lapi_key: HIER_DEN_KEY_EINFÜGEN
 
 
 
==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 integriert das CrowdSec CAPTCHA direkt in Traefik über das offizielle Plugin. Sie kommt ohne zusätzlichen Container aus und ermöglicht eine saubere und wartbare Absicherung von Diensten über HTTPS – dynamisch, intelligent und benutzerfreundlich.
 

Aktuelle Version vom 9. April 2025, 14:27 Uhr

FORWARD und DOCKER-USER Kette müssen auch gesperrt werden

  • vi /etc/crowdsec/bouncers/crowdsec-firewall-bouncer.yaml
iptables_chains:
  - INPUT
  - FORWARD
  - DOCKER-USER

Bouncer neustarten

  • systemctl restart crowdsec-firewall-bouncer.service