Crowdsec SSH Bruteforce Beispiel: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „= Installation der SSH-Collection = *sudo cscli collections install crowdsecurity/sshd = Überprüfung, ob das SSH-Brute-Force-Szenario aktiv ist = *sudo cscl…“) |
|||
| (43 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| − | = | + | = 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 | + | == 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 === |
| − | * | + | * wget https://xinux.de/downloads/bad-passwords |
| − | |||
| − | |||
| − | = | + | === 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 | ||
| + | |||
| + | <pre> | ||
| + | +----+----------------------+---------------------------+---------+----+-----------+-----------------------------------------+ | ||
| + | | 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 | | ||
| + | +----+----------------------+---------------------------+---------+----+-----------+-----------------------------------------+ | ||
| + | </pre> | ||
| + | |||
| + | == Gebannte IP-Adressen anzeigen == | ||
| + | Zeigt alle aktiven Sperrentscheidungen der Engine an. | ||
| + | * cscli decisions list | ||
| + | |||
| + | <pre> | ||
| + | ╭───────┬──────────┬────────────────────┬───────────────────────────┬────────┬─────────┬────┬────────┬────────────────────┬──────────╮ | ||
| + | │ 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 │ | ||
| + | ╰───────┴──────────┴────────────────────┴───────────────────────────┴────────┴─────────┴────┴────────┴────────────────────┴──────────╯ | ||
| + | </pre> | ||
| + | |||
| + | == 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 | ||
Aktuelle Version vom 24. Mai 2026, 09:01 Uhr
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