Crowdsec Configuring NGINX Bouncer: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „= Optimierung des NGINX-Bouncers = == Standardmodus auf performanten Modus umstellen == *nano /etc/crowdsec/bouncers/crowdsec-nginx-bouncer.conf == Modus auf…“) |
|||
| (2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| + | =Wichtig= | ||
| + | == Hintergrund == | ||
| + | Standardmäßig sind private IPv4- und IPv6-Adressbereiche in CrowdSec auf einer Whitelist eingetragen. Dadurch werden Angriffe aus internen Netzen wie 192.168.x.x, 10.x.x.x oder 172.16.x.x nicht erkannt oder geblockt. Im Laborbetrieb müssen diese Whitelist-Einträge entfernt werden, um Tests korrekt durchführen zu können. | ||
| + | == Whitelist entfernen == | ||
| + | *rm /etc/crowdsec/parsers/s02-enrich/whitelists.yaml | ||
| + | == CrowdSec neu starten == | ||
| + | *systemctl restart crowdsec | ||
| + | == Hinweis == | ||
| + | Nach dem Entfernen der Whitelist werden auch Angriffe aus dem internen Netz erkannt und können blockiert werden. | ||
| + | |||
= Optimierung des NGINX-Bouncers = | = Optimierung des NGINX-Bouncers = | ||
| Zeile 22: | Zeile 32: | ||
*echo " | *echo " | ||
| − | name: captcha_remediation | + | name: captcha_remediation |
| − | filters: | + | filters: |
| − | + | - Alert.Remediation == true && Alert.GetScope() == \"Ip\" && Alert.GetScenario() contains \"http\" | |
| − | decisions: | + | decisions: |
| − | + | - type: captcha | |
| − | + | duration: 4h | |
| − | on_success: break | + | on_success: break |
| − | --- | + | --- |
| − | " > /tmp/profiles.yaml | + | " > /tmp/profiles.yaml |
== Alte Konfiguration anhängen == | == Alte Konfiguration anhängen == | ||
Aktuelle Version vom 7. April 2025, 10:15 Uhr
Wichtig
Hintergrund
Standardmäßig sind private IPv4- und IPv6-Adressbereiche in CrowdSec auf einer Whitelist eingetragen. Dadurch werden Angriffe aus internen Netzen wie 192.168.x.x, 10.x.x.x oder 172.16.x.x nicht erkannt oder geblockt. Im Laborbetrieb müssen diese Whitelist-Einträge entfernt werden, um Tests korrekt durchführen zu können.
Whitelist entfernen
- rm /etc/crowdsec/parsers/s02-enrich/whitelists.yaml
CrowdSec neu starten
- systemctl restart crowdsec
Hinweis
Nach dem Entfernen der Whitelist werden auch Angriffe aus dem internen Netz erkannt und können blockiert werden.
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