
Wenn Sie einen Linux-Server mit Nginx, SSH oder WordPress betreiben, kennen Sie wahrscheinlich bereits Fail2Ban. Es ist ein gutes Tool, arbeitet jedoch lokal — es blockiert nur IP-Adressen, die Ihren Server angegriffen haben.
CrowdSec funktioniert völlig anders. Es handelt sich um ein Sicherheitssystem, das auf gemeinsamer IP-Reputation basiert. Wenn tausende Server weltweit eine angreifende IP-Adresse erkennen, kann Ihr Server diese blockieren, bevor überhaupt ein Angriff erfolgt.
Wie funktioniert CrowdSec?
- analysiert Systemlogs (nginx, ssh, wordpress)
- erkennt verdächtiges Verhalten
- tauscht Informationen über angreifende IP-Adressen mit anderen Servern aus
- blockiert den Datenverkehr auf Firewall-Ebene
Das Ergebnis? Die meisten Bots und Internet-Scanner erreichen Ihren Nginx-Server gar nicht erst.
Installation von CrowdSec auf Debian / Ubuntu
Die Installation von CrowdSec ist sehr einfach und direkt über die Debian-Repositories verfügbar.
|
1 2 |
apt update apt install crowdsec |
Während der Installation führt CrowdSec automatisch folgende Schritte aus:
- erstellt eine lokale API (LAPI)
- registriert den Server in der CrowdSec Central API
- lädt grundlegende Sicherheitsszenarien herunter
Installation des Firewall-Bouncers
CrowdSec erkennt Bedrohungen, benötigt jedoch eine ausführende Komponente — den sogenannten Bouncer, der den Datenverkehr in der Firewall blockiert.
|
1 |
apt install crowdsec-firewall-bouncer |
Standardmäßig verwendet der Bouncer nftables und fügt automatisch Regeln zum Blockieren schädlicher IP-Adressen hinzu.
Installation der Sicherheitskollektionen
Kollektionen enthalten Log-Parser sowie Angriffserkennungs-Szenarien.
|
1 2 3 4 |
cscli collections install crowdsecurity/nginx cscli collections install crowdsecurity/wordpress cscli collections install crowdsecurity/base-http-scenarios cscli collections install crowdsecurity/sshd |
Laden Sie anschließend die Konfiguration neu:
|
1 |
systemctl reload crowdsec |
Konfiguration der Nginx-Logs
Damit CrowdSec den HTTP-Verkehr analysieren kann, müssen die Nginx-Logdateien angegeben werden.
Datei bearbeiten:
|
1 |
nano /etc/crowdsec/acquis.yaml |
Folgende Konfiguration hinzufügen:
|
1 2 3 4 5 |
filenames: - /var/log/nginx/access*.log - /var/log/nginx/error*.log labels: type: nginx |
Anschließend den Dienst neu starten:
|
1 |
systemctl restart crowdsec |
Überprüfung der CrowdSec-Funktion
Dienststatus:
|
1 |
systemctl status crowdsec |
Liste aktiver Sperren:
|
1 |
cscli decisions list |
Systemmetriken:
|
1 |
cscli metrics |
Endergebnis
Nach einer korrekten CrowdSec-Installation:
- blockiert der Server automatisch bekannte Botnetze
- werden WordPress- und SSH-Brute-Force-Angriffe bereits auf Firewall-Ebene gestoppt
- muss Nginx deutlich weniger schädlichen Traffic verarbeiten
- werden CPU- und IO-Ressourcen spürbar entlastet
CrowdSec kann als Weiterentwicklung von Fail2Ban betrachtet werden — ein System, das nicht nur lokal reagiert, sondern globale Bedrohungsinformationen nutzt.