Wiki
Start › Rootserver › fail2ban gegen Brute-Force

fail2ban gegen Brute-Force

IP-Adressen nach wiederholten Fehlanmeldungen automatisch sperren.

Automatisierte Programme probieren ständig Passwörter auf offenen SSH-Ports durch. fail2ban liest die Log-Einträge des SSH-Dienstes und sperrt eine Adresse vorübergehend, wenn sie sich zu oft falsch anmeldet. Die Sperre passiert über die Firewall, der Angreifer erreicht den Server dann gar nicht mehr.

Wie die Einstellungen wirken

Warum jail.local statt jail.conf

Die Datei /etc/fail2ban/jail.conf enthält die Standardwerte und wird bei Paket-Updates überschrieben. Eigene Werte kommen deshalb in jail.local. Diese Datei hat Vorrang, auch wenn sie nur die Abweichungen enthält.

  1. fail2ban installieren:
    sudo apt install -y fail2ban
  2. Lokale Konfiguration anlegen:
    sudo nano /etc/fail2ban/jail.local
  3. Inhalt eintragen:
    [DEFAULT]
    bantime  = 1h
    findtime = 10m
    maxretry = 5
    ignoreip = 127.0.0.1/8 ::1
    
    [sshd]
    enabled = true

    [sshd] aktiviert den Schutz für SSH. Andere Dienste wie Webserver oder Mail sind hier standardmäßig aus und können bei Bedarf eigene Abschnitte bekommen.

  4. Dienst starten und Status prüfen:
    sudo systemctl enable --now fail2ban
    sudo fail2ban-client status sshd

    Die Ausgabe zeigt die Anzahl der Fehlversuche und die aktuell gesperrten Adressen.

Gesperrte IP wieder freigeben

Wer sich versehentlich selbst gesperrt hat, holt die Adresse so zurück:

sudo fail2ban-client set sshd unbanip IP-ADRESSE
Die eigene IP nur in ignoreip eintragen, wenn sie fest ist. Ändert sich die Adresse, greift die Ausnahme nicht mehr.

Zusammenspiel mit dem Schlüssel-Login

Mit Schlüssel-Login und abgeschalteter Passwort-Anmeldung (siehe SSH-Schlüssel und SSH absichern) kann niemand das Passwort erraten. fail2ban bleibt trotzdem sinnvoll: Es hält die Log-Einträge übersichtlich und bremst Scanner, die ständig anklopfen.

Zum Mitverfolgen

Die Vorführung zeigt Installation, Konfiguration, einen simulierten Angriff im Log, die Sperre und das Entsperren. Sie läuft nicht auf einem echten Server.