
In diesem Tutorial werde ich Ihnen erklären, wie Sie den Netzwerkbereich Ihrer Webserver mit Crowdsec absichern können.
Das Tutorial wurde unter Ubuntu 20.04 erstellt
Inhaltsverzeichnis
Vorstellung von Crowdsec
Crowdsec ist ein Open-Source-Tool, mit dem Sie Ihre Server (Linuxbald auch Windows) „sichern“ oder vielmehr um eine zusätzliche Sicherheitsebene erweitern können, indem es Netzwerkangriffe (Port-Scans, SSH-Brute-Force-Angriffe, Web-Content-Scans …) erkennt und IP-Adressen zu sperren.
Wenn Sie fail2ban kennen: Crowdsec macht dasselbe, nur besser:
- Es verbraucht sehr wenig Ressourcen
- Gemeinsame Nutzung von IP-Adressen über eine Datenbank, die von allen Crowdsec-Nutzern gemeinsam genutzt wird
- Einfach zu bedienen
Um den Austausch von Konfigurationen zwischen den Nutzern zu erleichtern, gibt es einen Hub (eine Art Marktplatz), auf dem Sie Konfigurationen zur Absicherung Ihres Servers finden.
Voraussetzungen für die Nutzung von Crowdsec
Eine der Voraussetzungen für die Nutzung von Crowdsec ist eine aktive Firewall (IPTABLE) auf Ihrem Server.
Wenn keine Firewall vorhanden ist, kann Crowdsec keine Regel zum Blockieren des Datenverkehrs hinzufügen.
Bevor Sie Ihre Firewall aktivieren, müssen Sie sicherstellen, dass eingehender Datenverkehr auf den Ports 80, 443 und 22 zugelassen ist.
Überprüfen Sie zunächst mit dem folgenden Befehl, ob die Firewall aktiv ist:
sudo ufw statusIst diese deaktiviert, fügen wir zunächst die grundlegenden Regeln für eingehenden Datenverkehr hinzu: 22, 80 und 443:
sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443Für jede Regel (jeden Befehl) wird eine Bestätigungsmeldung angezeigt, die angibt, dass die Regel hinzugefügt wurde.
Nachdem die Regeln nun erstellt sind, aktivieren Sie ufw:
sudo ufw enableDer Befehl fordert eine Bestätigung an
Nachdem ufw nun aktiviert ist, geben Sie den folgenden Befehl ein, um den Status und die Liste der Regeln anzuzeigen:
sudo ufw status verbose
Eine letzte Maßnahme vor der Installation von Crowdsec ist die Aktivierung der Firewall-Protokolle, da diese zur Erkennung von Angriffen analysiert werden.
Geben Sie den folgenden Befehl ein, um die Protokolle zu aktivieren:
sudo ufw logging onDer Befehl gibt Folgendes zurück: Logging enabled.
Die Protokolle werden in der Datei gespeichert/var/log/syslog.
Um sicherzustellen, dass die Protokolle ordnungsgemäß gespeichert werden, kann man von einem anderen Server aus eine Telnet-Verbindung zu einem nicht geöffneten Port herstellen:
telnet ip 514
Unser Server ist bereit, wir fahren nun mit der Installation von Crowdsec fort.
Crowdsec-Installation
Die Installation von Crowdsec ist sehr einfach. Während der Installation erkennt das Programm die verschiedenen Komponenten (Nginx, Apache2, MySQL …), die es überwachen kann, und konfiguriert sich „automatisch“.
1. Fügen Sie das Repository mithilfe des folgenden Skripts zu Ihrem Server hinzu:
curl -s https://packagecloud.io/install/repositories/crowdsec/crowdsec/script.deb.sh | sudo bash2. Aktualisieren Sie die Paketliste:
sudo apt update3. Installieren Sie Crowdsec:
sudo apt install crowdsecAuf dem folgenden Screenshot ist der Installationsvorgang zu sehen, bei dem die automatische Erkennung, Installation und Konfiguration für sshd und nginx erfolgt.

Crowdsec ist nun installiert und „betriebsbereit“.
Bevor wir zur Konfiguration und Installation eines Bouncers übergehen, zeige ich Ihnen, wie Sie mit dem cscli-Client arbeiten.
Verwendung des cscli-Clients – Crowdsec
Für Crowdsec steht ein Befehlszeilen-Client zur Verfügung, mit dem Sie das System konfigurieren und überwachen können.
Um die Liste der verfügbaren Befehle anzuzeigen, verwenden Sie den Befehl:
cscli
Mit dem Befehl „metric“ lassen sich verschiedene Statistiken zum Crowdsec-Dienst anzeigen:
cscli metrics
Wie auf dem Screenshot zu sehen ist, werden die verwendeten Quelldateien und deren Statistiken sowie die verschiedenen verwendeten Parser angezeigt, mit denen erkannt werden kann
Um die Protokolle anzuzeigen, die mit einer Regel übereinstimmen:
cscli alerts list
Um Details zu einem Alarm anzuzeigen:
cscli alerts inspect ID
Um die Liste der Sperrungen anzuzeigen:
cscli decisions list
Derzeit ist noch kein Bouncer installiert. Wenn Sie den Befehl jetzt ausführen, erhalten Sie folgende Meldung:
No active decisions.
Sobald wir einen Bouncer installiert haben, werde ich Ihnen erklären, wie Sie eine IP-Adresse manuell sperren und wie Sie die Sperre wieder aufheben können.
Liste der Parser anzeigen:
cscli parsers list
Zur Erinnerung: Parser sind die Konfigurationen, die das Lesen und Interpretieren der Protokolle ermöglichen.
Liste der Szenarien anzeigen:
cscli scenarios list
Zur Erinnerung: Szenarien sind die Konfigurationen, die bestimmte Verhaltensweisen erkennen und die zu ergreifenden Maßnahmen festlegen.
Ein weiteres Element, das vorhanden sein kann, sind die Postoverflows
cscli postoverflows listPostoverflows sind Konfigurationsdateien, die Whitelists enthalten, um Blockierungen bestimmter Dienste wie CloudFlare, Indexierungs-Bots usw. zu vermeiden.
Einen Bouncer installieren
Nun sehen wir uns an, wie man einen Bouncer installiert, mit dem wir Angriffe blockieren können.
Die Liste der Bouncer ist auf dem Crowdsec-Hub verfügbar. Es stehen mehrere Blocker zur Verfügung, die Sie einsetzen können:
- Firewall / iptables, mit der Sie eine Sperre über die Server-Firewall einrichten können
- WordPress, das mithilfe eines Plugins den Zugriff auf die Website verhindert
- Nginx
- Cloudflare
- …
In diesem Tutorial werde ich Ihnen erklären, wie Sie den Bouncer „cs-firewall-bouncer“ einrichten.
Automatische Installation aus dem Repository
Es ist nun möglich, bestimmte im Repository verfügbare Bouncer automatisch zu installieren, was insbesondere für den Bouncer „cs-firewall-bouncer-iptables“ gilt.
Geben Sie den folgenden Befehl ein, um den Bouncer zu installieren:
sudo apt install crowdsec-firewall-bouncer-iptablesManuelle Installation von iptables-Firewall-Bouncern
Rufen Sie die entsprechende Seite im Crowdsec-Hub oder auf GitHub auf:
Die folgenden Anweisungen gelten zum Zeitpunkt der Erstellung dieses Tutorials; der Bouncer kann sich inzwischen weiterentwickelt haben.
1. Laden Sie den Quellcode herunter:
wget https://github.com/crowdsecurity/cs-firewall-bouncer/releases/download/v0.0.12/cs-firewall-bouncer.tgz2. Das Archiv entpacken:
tar xzvf cs-firewall-bouncer.tgz3. Wechseln Sie in den entpackten Ordner (je nach Version des Archivs anpassen):
cd cs-firewall-bouncer-vX.Y.ZZ/4. Das Installationsskript ausführen:
sudo ./install.shWährend der Installation werden Sie aufgefordert, diesen zu installieren
ipset, falls er noch nicht vorhanden ist.

Die Konfiguration des Bouncers befindet sich in der Datei: /etc/crowdsec/cs-firewall-bouncer/cs-firewall-bouncer.yaml.
Öffnen Sie die Datei und überprüfen Sie, ob sie im iptables-Modus ist:
cat /etc/crowdsec/cs-firewall-bouncer/cs-firewall-bouncer.yaml
Verwenden Sie den folgenden Befehl, um den Bouncer anzuzeigen:
sudo cscli bouncers list
Überprüfen Sie den Status des Bouncers:
sudo systemctl status cs-firewall-bouncerAb sofort werden Angriffe Linuxje nach Szenario von der Firewall blockiert.
Eine Komponente mit cscli und dem Hub installieren
In diesem Abschnitt werde ich Ihnen erklären, wie Sie eine Komponente des Hubs mithilfe des Clients (cscli) installieren.
Da ich Crowdsec auf einem Webserver installiert habe, werden wir nun die Whitelist für Crawler einrichten.
Auf der Konfigurationsseite des CrowdSec-Hubs finden Sie die auszuführende Befehlszeile.
sudo cscli postoverflows install crowdsecurity/seo-bots-whitelistWenn Sie nicht das Root-Konto verwenden, müssen Sie „sudo“ voranstellen

Laden Sie die Konfiguration neu, damit die Änderungen übernommen werden:
sudo systemctl reload crowdsecSie wissen nun, wie Sie eine Konfiguration mit dem Client installieren.
Es gibt weitere Befehle, mit denen Sie die Konfiguration aktualisieren oder deinstallieren können.
Aktualisierung:
cscli hub updateDeinstallation:
cscli {composant} remove {nom_du/composant}Entscheidungen bearbeiten
Es ist möglich, Entscheidungen manuell zu beeinflussen, um eine IP-Adresse zu sperren oder die Sperre aufzuheben.
Eine IP-Adresse sperren:
sudo cscli decisions add --ip 172.69.32.87Die IP-Adresse 172.69.32.87 wird für einen Zeitraum von 4 Stunden gesperrt.
Eine IP-Adresse für 24 Stunden sperren:
sudo cscli decisions add --ip 172.69.32.87 --duration 24hEinen IP-Adressbereich sperren:
sudo cscli decesions add --range 172.69.0.0/16Um eine Sperre aufzuheben, muss „add“ durch „delete“ ersetzt werden:
sudo cscli decisions delete --ip 172.69.32.87
sudo cscli decesions delete --range 172.69.0.0/16Zusammenfassung
Mit diesem Tutorial verfügen Sie nun über alle notwendigen Informationen, um Crowdsec zu installieren, zu konfigurieren und zu verwalten, um Ihren Server zu sichernLinux.
Seit ich diese Software entdeckt habe, installiere ich sie persönlich anstelle von fail2ban, da mir der Community-Charakter und die einfache Bedienung sehr gut gefallen.
Weitere Tutorials zu Crowdsec werden folgen, in denen ich Ihnen erkläre, wie Sie Dateiquellen hinzufügen und ein Szenario erstellen können.
Abschließend sei noch erwähnt, dass es ein auf einem Image basierendes Dashboard gibt undDocker dass es möglich ist, eine MySQL-/PostgreSQL-Datenbank zu verwenden, um Entscheidungen zwischen mehreren Ihrer Server zu bündeln.
