Crowdsec SSH Bruteforce Beispiel

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

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-iptables
  • sudo systemctl reload crowdsec

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üfen, ob der Bouncer mit CrowdSec verbunden ist

  • sudo cscli bouncers list

Überprüfung der installierten SSH-Szenarien

Bevor wir einen Angriff simulieren, stellen wir sicher, dass CrowdSec überhaupt SSH-Angriffe erkennt.

  • sudo cscli scenarios list | grep ssh

Auf dem Attacker starten wir nun einen Angriff

Passwortliste besorgen
Hydra installieren
  • apt install hydra -y
Attacke

Überprüfung, ob der Bouncer Entscheidungen umsetzt

  • sudo cscli decisions list
╭───────┬──────────┬───────────────┬───────────────────────────┬────────┬─────────┬────┬────────┬────────────────────┬──────────╮
│  ID   │  Source  │  Scope:Value  │          Reason           │ Action │ Country │ AS │ Events │     expiration     │ Alert ID │
├───────┼──────────┼───────────────┼───────────────────────────┼────────┼─────────┼────┼────────┼────────────────────┼──────────┤
│ 15002 │ crowdsec │ Ip:10.0.10.99 │ crowdsecurity/ssh-slow-bf │ ban    │         │    │ 13     │ 3h58m41.750831936s │ 3        │
╰───────┴──────────┴───────────────┴───────────────────────────┴────────┴─────────┴────┴────────┴────────────────────┴──────────╯
1 duplicated entries skipped

Ü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?**