← Alle Blogartikel
Infrastruktur

Fail2ban: Wiederholte SSH-Fehlversuche automatisch begrenzen

Fail2ban erkennt wiederholte Anmeldefehler in Logs und setzt zeitlich begrenzte Sperren. Eine einfache SSH-Konfiguration für Debian und Ubuntu.

Was Fail2ban leistet

Fail2ban beobachtet Protokolle und kann Quelladressen nach wiederholten fehlgeschlagenen Anmeldungen vorübergehend sperren. Das reduziert automatisierte Passwortversuche gegen Dienste wie SSH. Es ersetzt keine Schlüsselanmeldung, starke Zugangskontrollen oder sichere Serverupdates.

Die Beispiele sind für Debian und Ubuntu gedacht. Das konkrete Firewall-Backend hängt von Distribution und installierter Firewall ab. Prüfen Sie die Paketdokumentation Ihres Systems, bevor Sie mehrere Firewall-Verwalter kombinieren.

Installation und SSH-Jail

sudo apt update
sudo apt install fail2ban
sudoedit /etc/fail2ban/jail.d/sshd.local

Fügen Sie diese lokale Konfiguration ein:

[DEFAULT]
bantime = 1h
findtime = 10m
maxretry = 5

[sshd]
enabled = true

Die Werte bedeuten: Nach fünf passenden Fehlversuchen innerhalb von zehn Minuten wird die Adresse für eine Stunde gesperrt. Das ist ein Startwert, kein universeller Idealwert. Fail2ban empfiehlt lokale .local-Dateien statt Änderungen an den mitgelieferten .conf-Dateien, damit Paketupdates eigene Anpassungen nicht überschreiben.

Testen und starten Sie den Dienst:

sudo fail2ban-client -t
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd

Die Statusausgabe sollte das Jail sshd und seine Zähler anzeigen. Falls es nicht aktiv ist, kontrollieren Sie die SSH-Protokolle, die Systemd-Journaleinbindung und die Fail2ban-Logs der Distribution.

Sicher einsetzen

Setzen Sie bei einem entfernten Server Fail2ban nicht blind ein: Fehlerhafte Regeln können auch legitime Administratoren aussperren. Halten Sie einen Konsolenzugang bereit und prüfen Sie, ob Ihr tatsächliches SSH-Port- und Log-Setup vom Jail erfasst wird. Erlauben Sie außerdem nicht dauerhaft ganze große Netze, nur um einzelne Admins vor Sperren zu schützen.

Fail2ban schützt vor allem gegen wiederholte Anmeldeversuche, die es in den beobachteten Logs erkennt. Es blockiert nicht zuverlässig jeden Bot, keinen Angriff über gestohlene Schlüssel und keine Schwachstelle im SSH-Dienst. Ergänzen Sie es durch aktuelle Pakete, SSH-Schlüssel, deaktivierte Passwortanmeldung sofern betrieblich möglich, MFA oder Zugang über VPN beziehungsweise Bastion-Host.

Quellen