Crowdsec SSH Bruteforce Beispiel: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 5: Zeile 5:
 
*'''sudo systemctl reload crowdsec'''
 
*'''sudo systemctl reload crowdsec'''
  
== Überprüfung, ob das SSH-Brute-Force-Szenario aktiv ist ==
 
*'''sudo cscli scenarios list | grep ssh'''
 
  
== Installation und Aktivierung des nftables-Bouncers == *'''sudo cscli bouncers add crowdsec-firewall-bouncer-nftables''' *'''sudo systemctl reload crowdsec'''
+
== Installation und Aktivierung des nftables-Bouncers ==
 +
*'''sudo cscli bouncers add crowdsec-firewall-bouncer-nftables'''
 +
*'''sudo systemctl reload crowdsec'''
  
== Erstellen des notwendigen Verzeichnisses == Falls das Verzeichnis für die Konfigurationsdatei nicht existiert: *'''sudo mkdir -p /etc/crowdsec/bouncers'''
+
== Erstellen des notwendigen Verzeichnisses ==
 +
Falls das Verzeichnis für die Konfigurationsdatei nicht existiert:
 +
*'''sudo mkdir -p /etc/crowdsec/bouncers'''
  
== API-Key für den Bouncer in die Konfiguration eintragen == Ersetze <API-KEY> durch den generierten Schlüssel. *'''sudo vi /etc/crowdsec/bouncers/crowdsec-firewall-bouncer.yaml'''
+
== API-Key für den Bouncer in die Konfiguration eintragen ==
 +
Ersetze `<API-KEY>` durch den generierten Schlüssel.
 +
*'''sudo vi /etc/crowdsec/bouncers/crowdsec-firewall-bouncer.yaml'''
 +
<pre>
 +
mode: nftables
 +
daemonize: true
 +
pid_dir: /var/run/
 +
update_frequency: 10s
 +
api_url: http://127.0.0.1:8080/
 +
api_key: "<API-KEY>"
 +
nftables:
 +
  ipv4: true
 +
  ipv6: false
 +
</pre>
  
<pre> mode: nftables daemonize: true pid_dir: /var/run/ update_frequency: 10s api_url: http://127.0.0.1:8080/ api_key: "<API-KEY>" nftables: ipv4: true ipv6: false </pre>
+
== Neustart des Bouncers ==
== Neustart des Bouncers == *'''sudo systemctl restart crowdsec-firewall-bouncer''' *'''sudo systemctl status crowdsec-firewall-bouncer'''
+
*'''sudo systemctl restart crowdsec-firewall-bouncer'''
 +
*'''sudo systemctl status crowdsec-firewall-bouncer'''
 +
 
 +
== Überprüfung, ob der Bouncer Entscheidungen umsetzt ==
 +
*'''sudo cscli decisions list'''
 +
Falls keine Entscheidungen vorhanden sind, eine Test-Entscheidung hinzufügen:
 +
*'''sudo cscli decisions add -i 10.0.10.99 -t ban -d 5m'''
 +
Danach erneut überprüfen:
 +
*'''sudo cscli decisions list'''
 +
Falls die Entscheidung gesetzt ist, den Bouncer auf Regelverarbeitung testen:
 +
*'''sudo nft list ruleset | grep crowdsec'''
  
 
== Überprüfung der erkannten SSH-Angriffe ==
 
== Überprüfung der erkannten SSH-Angriffe ==

Version vom 8. März 2025, 08:52 Uhr

Installation des CrowdSec SSH-Bruteforce-Schutzes

Installation der SSH-Collection

  • sudo cscli collections install crowdsecurity/sshd
  • sudo systemctl reload crowdsec


Installation und Aktivierung des nftables-Bouncers

  • sudo cscli bouncers add crowdsec-firewall-bouncer-nftables
  • sudo systemctl reload crowdsec

Erstellen des notwendigen Verzeichnisses

Falls das Verzeichnis für die Konfigurationsdatei nicht existiert:

  • sudo mkdir -p /etc/crowdsec/bouncers

API-Key für den Bouncer in die Konfiguration eintragen

Ersetze `<API-KEY>` durch den generierten Schlüssel.

  • sudo vi /etc/crowdsec/bouncers/crowdsec-firewall-bouncer.yaml
mode: nftables
daemonize: true
pid_dir: /var/run/
update_frequency: 10s
api_url: http://127.0.0.1:8080/
api_key: "<API-KEY>"
nftables:
  ipv4: true
  ipv6: false

Neustart des Bouncers

  • sudo systemctl restart crowdsec-firewall-bouncer
  • sudo systemctl status crowdsec-firewall-bouncer

Überprüfung, ob der Bouncer Entscheidungen umsetzt

  • sudo cscli decisions list

Falls keine Entscheidungen vorhanden sind, eine Test-Entscheidung hinzufügen:

  • sudo cscli decisions add -i 10.0.10.99 -t ban -d 5m

Danach erneut überprüfen:

  • sudo cscli decisions list

Falls die Entscheidung gesetzt ist, den Bouncer auf Regelverarbeitung testen:

  • sudo nft list ruleset | grep crowdsec

Überprüfung der erkannten SSH-Angriffe

  • sudo cscli alerts list

Anzeige der gebannten IP-Adressen

  • sudo cscli decisions list

Detailansicht einer spezifischen IP-Adresse

  • sudo cscli decisions inspect <IP-Adresse>

Live-Log der CrowdSec-Analyse anzeigen

  • sudo journalctl -u crowdsec -f

Überprüfung der installierten Parser, Szenarien und Bouncer

  • sudo cscli parsers list
  • sudo cscli scenarios list
  • sudo cscli bouncers list

Test: Anzeige der letzten SSH-Fehlversuche

  • sudo journalctl -u ssh -g "Failed password" --no-pager | tail -n 20

Optional: Hydra für SSH-Bruteforce-Simulation installieren

  • sudo apt install hydra -y

Simulieren eines SSH-Brute-Force-Angriffs mit Hydra

Überprüfung, ob CrowdSec den Angriff erkannt hat

  • sudo cscli alerts list

Überprüfung, ob die angreifende IP gesperrt wurde

  • sudo cscli decisions list

Eigene IP-Adresse entsperren (falls gebannt)

  • sudo cscli decisions delete -i <deine-IP>

---

Jetzt kannst du **alles auf einmal kopieren** und hast den vollständigen Ablauf. **Passt das so?**