Crowdsec Configuring NGINX Bouncer: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
 +
=Wichtig=
 +
'''Die lokalen Netze sind Whitegelistet. Wir müssen dies im Labor entfernen
 +
*rm /etc/crowdsec/parsers/s02-enrich/whitelists.yaml
 +
*systemctl restart crowdsec
 +
 +
 
= Optimierung des NGINX-Bouncers =
 
= Optimierung des NGINX-Bouncers =
  

Version vom 7. April 2025, 10:10 Uhr

Wichtig

Die lokalen Netze sind Whitegelistet. Wir müssen dies im Labor entfernen

  • rm /etc/crowdsec/parsers/s02-enrich/whitelists.yaml
  • systemctl restart crowdsec


Optimierung des NGINX-Bouncers

Standardmodus auf performanten Modus umstellen

  • nano /etc/crowdsec/bouncers/crowdsec-nginx-bouncer.conf

Modus auf stream setzen

MODE=stream

Unterschied zwischen live und stream

Im Modus live fragt der Bouncer bei jeder HTTP-Anfrage die zentrale LAPI ab. Im Modus stream erfolgt die Abfrage regelmäßig im Abstand von z. B. 10 Sekunden (konfiguriert über UPDATE_FREQUENCY). Die IP-Entscheidungen werden dabei zwischengespeichert. Das entlastet den Server erheblich, kann aber eine kleine Verzögerung in der Reaktion auf neue Angriffe verursachen.

NGINX neu laden

  • nginx -t && nginx -s reload

HTTP-Bans mit Benutzerfeedback einrichten

Ziel: Blockseite anzeigen statt Verbindungsabbruch

Standardmäßig erhalten geblockte Clients keine Rückmeldung. Um stattdessen eine informierende Webseite (z. B. CAPTCHA) anzuzeigen, muss eine alternative Decision-Art genutzt werden.

profiles.yaml anpassen

Wir definieren eine zusätzliche Entscheidung vom Typ captcha für alle http-basierten Szenarien.

  • echo "
name: captcha_remediation
filters:
  - Alert.Remediation == true && Alert.GetScope() == \"Ip\" && Alert.GetScenario() contains \"http\"
decisions:
 - type: captcha
   duration: 4h
on_success: break
---
" > /tmp/profiles.yaml

Alte Konfiguration anhängen

  • cat /etc/crowdsec/profiles.yaml >> /tmp/profiles.yaml

Neue Konfiguration übernehmen

  • mv /tmp/profiles.yaml /etc/crowdsec/profiles.yaml

CrowdSec neu starten

  • systemctl restart crowdsec.service