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.
