Linux Security

SSH mit CrowdSec effektiv schützen – Brute-Force-Angriffe automatisch erkennen und blockieren

Schützen Sie Ihren SSH-Dienst mit CrowdSec vor Brute-Force-Angriffen, Passwortspraying und Botnetzen. Lernen Sie die Einrichtung und den Live-Test Schritt für Schritt kennen.

4 min Lesezeit
Grafik: SSH mit CrowdSec effektiv schützen

SSH-Zugänge zuverlässig absichern

Der SSH-Dienst gehört zu den am häufigsten angegriffenen Diensten auf öffentlich erreichbaren Linux-Servern. Kaum ist ein Server mit dem Internet verbunden, beginnen automatisierte Bots mit dem Scannen offener SSH-Ports und versuchen, sich mit bekannten Benutzernamen und Passwortlisten anzumelden.

Diese Angriffe laufen meist vollautomatisch und erreichen innerhalb weniger Minuten tausende Login-Versuche. Selbst wenn sichere Passwörter verwendet werden, verursachen sie unnötige Last und erschweren die Auswertung der Protokolle.

CrowdSec erkennt solche Angriffe anhand der SSH-Logdateien und kann Angreifer automatisch blockieren – lange bevor sie Schaden anrichten. In diesem Teil der Serie richten wir den SSH-Schutz ein und zeigen, wie CrowdSec Brute-Force-Angriffe, Passwortspraying und Botnetze erkennt.


Voraussetzungen

Für diesen Beitrag benötigen Sie:

  • Debian 13
  • CrowdSec installiert
  • OpenSSH Server installiert
  • Root-Rechte oder sudo-Berechtigung
  • Zugriff auf die SSH-Konfiguration

Ob der SSH-Dienst läuft, prüfen Sie mit:

sudo systemctl status ssh

Die Ausgabe sollte den Status active (running) anzeigen.


SSH-Logdateien

CrowdSec analysiert die Protokolle des SSH-Dienstes.

Unter Debian befinden sich diese standardmäßig im Systemjournal.

Aktuelle SSH-Meldungen anzeigen:

sudo journalctl -u ssh -f

Alternativ lassen sich sämtliche SSH-Ereignisse filtern.

sudo journalctl | grep ssh

Hier erscheinen unter anderem:

  • erfolgreiche Anmeldungen
  • fehlgeschlagene Logins
  • ungültige Benutzernamen
  • Verbindungsabbrüche
  • Authentifizierungsfehler

Diese Informationen dienen CrowdSec als Grundlage für die Angriffserkennung.


SSH-Collection installieren

Für OpenSSH stellt CrowdSec eine eigene Collection bereit.

Installation:

sudo cscli collections install crowdsecurity/sshd

Anschließend CrowdSec neu starten.

sudo systemctl restart crowdsec

Installation überprüfen

Installierte Collections:

sudo cscli collections list

Die Ausgabe sollte unter anderem enthalten:

crowdsecurity/sshd

Zusätzlich lassen sich die Parser prüfen.

sudo cscli parsers list

Welche Angriffe erkennt CrowdSec?

Bereits die Standard-Collection erkennt zahlreiche SSH-Angriffe.

Dazu gehören:

  • Brute Force
  • Passwortspraying
  • Login-Bots
  • bekannte Scanner
  • Botnetze
  • wiederholte Fehlanmeldungen
  • verdächtige Login-Muster

Alle Szenarien werden regelmäßig aktualisiert.


Brute-Force-Angriffe

Der häufigste Angriff auf SSH ist der klassische Brute-Force-Angriff.

Ein Bot versucht wiederholt, sich mit demselben Benutzer anzumelden.

Beispiel:

root
root
root
root
root

CrowdSec erkennt:

  • gleiche IP-Adresse
  • viele Fehlversuche
  • kurzer Zeitraum

Decision

Firewall-Bouncer

IP wird automatisch blockiert.


Passwortspraying

Passwortspraying unterscheidet sich vom klassischen Brute-Force-Angriff.

Hier wird ein Passwort gegen viele verschiedene Benutzer getestet.

Beispiel:

root
admin
test
backup
oracle
postgres
ubuntu

Da nur wenige Versuche pro Benutzer erfolgen, erkennen klassische Schutzmechanismen solche Angriffe oft nicht.

CrowdSec analysiert dagegen das Verhalten einer IP-Adresse über mehrere Konten hinweg und kann Passwortspraying zuverlässig identifizieren.


Botnetze

Heute stammen SSH-Angriffe nur noch selten von einer einzelnen IP-Adresse.

Meist greifen Botnetze an.

Typische Merkmale:

  • tausende kompromittierte Geräte
  • wenige Login-Versuche pro IP
  • weltweite Verteilung
  • permanenter Angriff

Hier profitiert CrowdSec besonders von der optionalen Community Threat Intelligence.

Wurde eine IP bereits auf anderen Systemen als Angreifer erkannt, kann sie häufig schon blockiert werden, bevor sie den eigenen Server angreift.


Kombination mit SSH-Schlüsseln

CrowdSec ersetzt keine sichere SSH-Konfiguration.

Für maximale Sicherheit empfiehlt sich die Kombination mehrerer Schutzmaßnahmen.

Dazu gehören:

  • SSH-Schlüssel statt Passwörter
  • starke Passphrasen
  • aktueller OpenSSH-Server
  • CrowdSec
  • Firewall-Bouncer
  • regelmäßige Updates

Falls Passwortanmeldungen weiterhin benötigt werden, sollten sichere Passwörter und – wenn möglich – eine Zwei-Faktor-Authentifizierung eingesetzt werden.

CrowdSec ergänzt diese Maßnahmen, indem verdächtige Zugriffe frühzeitig erkannt und blockiert werden.


Live-Test durchführen

Nach der Installation sollte die Angriffserkennung getestet werden.

Führen Sie mehrere bewusst fehlerhafte SSH-Anmeldungen gegen Ihren eigenen Server durch.

Beispiel:

ssh testuser@server.example.com

Geben Sie mehrmals ein falsches Passwort ein.

Alternativ können Sie einen nicht existierenden Benutzer verwenden.

ssh unbekannt@server.example.com

Nach mehreren Fehlversuchen sollte CrowdSec entsprechende Alerts erzeugen.

Hinweis: Testen Sie ausschließlich gegen Systeme, die Sie selbst verwalten oder für die Sie ausdrücklich berechtigt sind.


Alerts auswerten

Erkannte Vorfälle anzeigen:

sudo cscli alerts list

Beispiel:

ID      SCENARIO              SOURCE
2021    ssh-bf               203.0.113.17

Details:

sudo cscli alerts inspect 2021

Hier sehen Sie unter anderem:

  • IP-Adresse
  • Zeitpunkt
  • Anzahl der Fehlversuche
  • ausgelöstes Szenario
  • betroffener Dienst

Decisions prüfen

Hat CrowdSec bereits reagiert?

sudo cscli decisions list

Beispiel:

203.0.113.17

Ist zusätzlich ein Firewall-Bouncer installiert, wird diese IP automatisch blockiert.


SSH-Protokolle beobachten

Während des Tests empfiehlt sich die Live-Auswertung.

SSH:

sudo journalctl -u ssh -f

CrowdSec:

sudo journalctl -u crowdsec -f

So lässt sich nachvollziehen, wann CrowdSec den Angriff erkennt.


Metriken prüfen

Die aktuelle Verarbeitung zeigt:

sudo cscli metrics

Hier erscheinen unter anderem:

  • gelesene SSH-Ereignisse
  • Parser
  • Szenarien
  • Alerts
  • Decisions

Best Practices

Für einen sicheren SSH-Betrieb empfehlen sich folgende Maßnahmen:

  • SSH-Collection aktuell halten.
  • Firewall-Bouncer verwenden.
  • SSH-Schlüssel bevorzugen.
  • Root-Login deaktivieren.
  • Starke Passwörter verwenden.
  • Nur notwendige Benutzer zulassen.
  • OpenSSH regelmäßig aktualisieren.
  • CrowdSec Hub regelmäßig aktualisieren.
  • Alerts regelmäßig kontrollieren.

Typische Fehler

Keine Alerts

Kontrollieren:

sudo cscli metrics

Werden SSH-Ereignisse verarbeitet?


Collection fehlt

sudo cscli collections list

Keine SSH-Logs

sudo journalctl -u ssh

CrowdSec läuft nicht

sudo systemctl status crowdsec


Mit der SSH-Collection bietet CrowdSec einen wirkungsvollen Schutz vor den häufigsten Angriffen auf Linux-Server. Die integrierten Parser und Szenarien erkennen klassische Brute-Force-Angriffe ebenso zuverlässig wie Passwortspraying und Aktivitäten verteilter Botnetze. In Kombination mit einem Firewall-Bouncer können verdächtige IP-Adressen automatisch blockiert werden, bevor sie weiteren Schaden anrichten.

Für eine bestmögliche Absicherung sollte CrowdSec jedoch Teil eines ganzheitlichen Sicherheitskonzepts sein. Die Kombination aus SSH-Schlüsseln, deaktiviertem Root-Login, regelmäßigen Updates und automatischer Angriffserkennung bietet einen deutlich höheren Schutz als jede einzelne Maßnahme für sich.

Im nächsten Teil der Serie installieren wir den Firewall-Bouncer. Er setzt die von CrowdSec erstellten Decisions direkt in Firewall-Regeln um und sorgt dafür, dass erkannte Angreifer automatisch ausgesperrt werden.