Crowdsec SSH Bruteforce Beispiel: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 5: | Zeile 5: | ||
*'''sudo systemctl reload crowdsec''' | *'''sudo systemctl reload crowdsec''' | ||
| − | |||
| − | |||
| − | == 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> | ||
| − | + | == 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
- hydra -l root -P /usr/share/wordlists/rockyou.txt ssh://127.0.0.1 -V
Ü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?**