Crowdsec SSH Bruteforce Beispiel
CrowdSec – SSH Brute-Force Erkennung
Voraussetzung
- CrowdSec ist installiert und die Whitelist ist angepasst.
Installation der SSH-Collection
Installiert alle Parser und Szenarien für SSH-Brute-Force-Erkennung.
- cscli collections install crowdsecurity/sshd
- systemctl reload crowdsec
Installation des nftables Bouncers
Der Bouncer setzt erkannte Angriffe in nftables-Regeln um und blockt die Angreifer-IP.
- apt install crowdsec-firewall-bouncer-nftables
Bouncer neu starten und prüfen
Nach der Installation wird der Bouncer gestartet und der Status geprüft.
- systemctl restart crowdsec-firewall-bouncer
- systemctl status crowdsec-firewall-bouncer
Bouncer-Verbindung zu CrowdSec prüfen
Zeigt ob der Bouncer korrekt bei der Engine registriert ist.
- cscli bouncers list
Installierte SSH-Szenarien prüfen
Filtert die Szenarienliste auf SSH-relevante Einträge.
- cscli scenarios list | grep ssh
Angriff vom Attacker durchführen
Passwortliste herunterladen
Hydra installieren
- apt update
- apt install hydra -y
Angriff starten
Hydra führt einen SSH-Brute-Force-Angriff gegen das Ziel durch.
- hydra -l christine -P bad-passwords ssh://10.88.2XX.11 -V
Erkannte Angriffe anzeigen
Listet alle von CrowdSec erkannten und protokollierten Alerts auf.
- cscli alerts list
+----+----------------------+---------------------------+---------+----+-----------+-----------------------------------------+ | ID | value | reason | country | as | decisions | created_at | +----+----------------------+---------------------------+---------+----+-----------+-----------------------------------------+ | 3 | Ip:172.26.2XX.100 | crowdsecurity/ssh-slow-bf | | | ban:1 | 2025-03-08 10:07:24.268224992 +0000 UTC | | 2 | Ip:172.26.2XX.100 | crowdsecurity/ssh-bf | | | ban:1 | 2025-03-08 10:07:24.268879637 +0000 UTC | +----+----------------------+---------------------------+---------+----+-----------+-----------------------------------------+
Gebannte IP-Adressen anzeigen
Zeigt alle aktiven Sperrentscheidungen der Engine an.
- cscli decisions list
╭───────┬──────────┬────────────────────┬───────────────────────────┬────────┬─────────┬────┬────────┬────────────────────┬──────────╮ │ ID │ Source │ Scope:Value │ Reason │ Action │ Country │ AS │ Events │ expiration │ Alert ID │ ├───────┼──────────┼────────────────────┼───────────────────────────┼────────┼─────────┼────┼────────┼────────────────────┼──────────┤ │ 15002 │ crowdsec │ Ip:172.26.2XX.100 │ crowdsecurity/ssh-slow-bf │ ban │ │ │ 13 │ 3h58m41.750831936s │ 3 │ ╰───────┴──────────┴────────────────────┴───────────────────────────┴────────┴─────────┴────┴────────┴────────────────────┴──────────╯
Ban aufheben
Entfernt den Ban für eine bestimmte IP-Adresse manuell.
- cscli decisions delete --ip 172.26.2XX.100
Live-Log der CrowdSec-Analyse
Zeigt die laufende Analyse von CrowdSec in Echtzeit.
- journalctl -u crowdsec -f
Installierte Komponenten prüfen
Gibt einen Überblick über alle aktiven Parser, Szenarien und Bouncer.
- cscli parsers list
- cscli scenarios list
- cscli bouncers list
Letzte SSH-Fehlversuche anzeigen
Filtert das Systemjournal nach fehlgeschlagenen SSH-Anmeldeversuchen.
- journalctl -u ssh -g "Failed password" --no-pager | tail -n 20