Schlagwort: Linux Administration

  • Fail2Ban konfigurieren und SSH-Angriffe verhindern (2026)

    Fail2Ban konfigurieren und SSH-Angriffe verhindern (2026)

    Einleitung

    Server im Internet werden rund um die Uhr automatisiert angegriffen. Besonders SSH-Dienste gehören zu den beliebtesten Zielen von Angreifern. Bereits wenige Minuten nach der Bereitstellung eines neuen Linux-Servers beginnen sogenannte Brute-Force-Angriffe, bei denen automatisierte Bots tausende Benutzernamen- und Passwortkombinationen ausprobieren.

    Wer einen Linux-Server betreibt, sollte daher nicht ausschließlich auf starke Passwörter oder SSH-Schlüssel vertrauen. Eine zusätzliche Schutzschicht ist sinnvoll, um wiederholte Login-Versuche automatisch zu erkennen und Angreifer auszusperren.

    Genau hier kommt Fail2Ban ins Spiel. Das Open-Source-Tool überwacht Logdateien, erkennt verdächtige Aktivitäten und blockiert Angreifer automatisch über die Firewall. Dadurch werden unzählige automatisierte Angriffe abgewehrt, bevor sie Schaden anrichten können.

    In diesem Artikel lernst du Schritt für Schritt, wie du Fail2Ban konfigurieren kannst, um SSH-Angriffe effektiv zu verhindern und deinen Linux-Server deutlich sicherer zu machen.


    Inhaltsverzeichnis

    • Was ist Fail2Ban?
    • Warum SSH-Angriffe ein Problem sind
    • Vorteile und Nachteile von Fail2Ban
    • Fail2Ban installieren
    • Fail2Ban konfigurieren
    • SSH-Schutz einrichten
    • Firewall-Integration
    • Praxisbeispiele
    • Best Practices
    • Häufige Fehler
    • Fazit
    • FAQ
    • Checkliste

    Was ist Fail2Ban?

    Fail2Ban ist ein Sicherheitswerkzeug für Linux-Server.

    Es überwacht Systemprotokolle und erkennt wiederholte fehlgeschlagene Anmeldeversuche. Wird ein definierter Grenzwert überschritten, blockiert Fail2Ban die betreffende IP-Adresse automatisch.

    Typische Schutzbereiche:

    • SSH
    • Apache
    • Nginx
    • WordPress Login
    • FTP
    • Mailserver
    • Datenbanken

    So funktioniert Fail2Ban

    1. Überwachung von Logdateien
    2. Erkennung verdächtiger Muster
    3. Zählen fehlgeschlagener Anmeldeversuche
    4. Automatische Sperrung der IP-Adresse
    5. Entsperrung nach definierter Zeit

    Warum SSH-Angriffe ein Problem sind

    SSH ist das Standardwerkzeug für die Administration von Linux-Servern.

    Dadurch wird Port 22 permanent von Bots gescannt.

    Typische Angriffe:

    AngriffBeschreibung
    Brute ForceTausende Passwortversuche
    Credential StuffingNutzung gestohlener Zugangsdaten
    User EnumerationErkennung existierender Benutzer
    Botnet-AngriffeVerteilte Angriffe von vielen IPs

    Ein ungeschützter Server kann innerhalb weniger Stunden mehrere tausend Login-Versuche verzeichnen.


    Vorteile und Nachteile von Fail2Ban

    VorteileNachteile
    KostenlosBenötigt Logdateien
    Einfache InstallationFalsch konfigurierte Regeln können legitime Nutzer sperren
    Unterstützt viele DiensteKeine vollständige Firewall-Lösung
    Automatische SperrenWartung erforderlich
    Geringe SystemlastSchutz erst nach mehreren Fehlversuchen

    Fail2Ban installieren

    Ubuntu und Debian

    sudo apt update
    sudo apt install fail2ban -y

    Rocky Linux, AlmaLinux und CentOS

    sudo dnf install fail2ban -y

    Dienst starten

    sudo systemctl enable fail2ban
    sudo systemctl start fail2ban

    Status prüfen:

    sudo systemctl status fail2ban

    Fail2Ban konfigurieren

    Die Standardkonfiguration sollte niemals direkt bearbeitet werden.

    Stattdessen wird eine lokale Konfiguration erstellt.

    Konfigurationsdatei anlegen

    sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

    Wichtige Parameter

    [DEFAULT]

    bantime = 1h
    findtime = 10m
    maxretry = 5

    Bedeutung:

    ParameterBeschreibung
    bantimeDauer der Sperre
    findtimeBeobachtungszeitraum
    maxretryMaximale Fehlversuche

    Fail2Ban für SSH konfigurieren

    SSH-Jail aktivieren

    [sshd]

    enabled = true
    port = ssh
    logpath = %(sshd_log)s
    backend = systemd
    maxretry = 3
    bantime = 24h
    findtime = 15m

    Danach Dienst neu starten:

    sudo systemctl restart fail2ban

    Aktive Jails anzeigen

    sudo fail2ban-client status

    Beispiel:

    Status
    |- Number of jail: 1
    `- Jail list: sshd

    SSH-Jail prüfen

    sudo fail2ban-client status sshd

    Ausgabe:

    Currently banned: 3
    Total banned: 125

    Firewall-Integration

    Fail2Ban arbeitet hervorragend mit modernen Firewalls zusammen.

    UFW

    sudo apt install ufw

    Aktivieren:

    sudo ufw enable

    SSH erlauben:

    sudo ufw allow ssh

    nftables

    2026 setzen viele Distributionen standardmäßig auf nftables.

    Fail2Ban unterstützt nftables direkt.

    Prüfen:

    sudo nft list ruleset

    Praxisbeispiel: Schutz eines Ubuntu-Webservers

    Ausgangssituation:

    • Ubuntu 24.04 LTS
    • Öffentliche IP-Adresse
    • SSH-Port 22
    • Nginx-Webserver

    Konfiguration:

    [DEFAULT]
    bantime = 24h
    findtime = 10m
    maxretry = 3

    [sshd]
    enabled = true

    Ergebnis:

    • Bots werden nach drei Fehlversuchen blockiert
    • Deutlich weniger Logeinträge
    • Reduzierte Serverlast
    • Höhere Sicherheit

    Praxisbeispiel: Dauerhafte Sperre von Angreifern

    [DEFAULT]
    bantime = -1

    Bedeutung:

    -1 = Permanent

    Einsatz nur bei besonders sensiblen Systemen.


    Zusätzliche SSH-Härtung

    Fail2Ban sollte niemals die einzige Schutzmaßnahme sein.

    SSH-Port ändern

    Port 2222

    Datei:

    /etc/ssh/sshd_config

    Passwortanmeldung deaktivieren

    PasswordAuthentication no

    Root-Login deaktivieren

    PermitRootLogin no

    SSH-Schlüssel verwenden

    Erstellen:

    ssh-keygen -t ed25519

    Tipps und Best Practices

    Ban-Zeit erhöhen

    Empfohlen:

    bantime = 24h

    SSH-Schlüssel statt Passwörter

    Der größte Sicherheitsgewinn entsteht durch die Nutzung von SSH-Keys.


    Regelmäßig Logs prüfen

    sudo journalctl -u fail2ban

    Eigene IP whitelisten

    ignoreip = 127.0.0.1 192.168.1.0/24 DEINE-IP

    Updates einspielen

    sudo apt update
    sudo apt upgrade

    Häufige Fehler

    jail.conf direkt bearbeiten

    Problem:

    Updates überschreiben Änderungen.

    Lösung:

    Immer jail.local verwenden.

    Eigene IP aussperren

    Problem:

    Administrator wird gebannt.

    Lösung:

    ignoreip = eigene-ip

    Zu kurze Ban-Zeit

    Schlecht:

    bantime = 5m

    Besser:

    bantime = 24h

    SSH-Port vergessen freizugeben

    Nach Portwechsel:

    sudo ufw allow 2222/tcp

    Fail2Ban konfigurieren: Die wichtigsten Einstellungen auf einen Blick

    EinstellungEmpfehlung 2026
    maxretry3
    findtime10m
    bantime24h
    SSH KeysJa
    Root LoginNein
    Password LoginNein
    FirewallUFW oder nftables
    UpdatesRegelmäßig

    Fazit

    Wer einen Linux-Server betreibt, sollte Fail2Ban konfigurieren, bevor der Server produktiv genutzt wird. Das Werkzeug bietet einen wirksamen Schutz gegen automatisierte SSH-Angriffe und lässt sich innerhalb weniger Minuten einrichten.

    In Kombination mit SSH-Schlüsseln, deaktiviertem Root-Login, einer Firewall und regelmäßigen Updates entsteht ein deutlich höheres Sicherheitsniveau. Für private VPS, Unternehmensserver und selbst gehostete Anwendungen gehört Fail2Ban auch 2026 weiterhin zu den wichtigsten Sicherheitswerkzeugen im Linux-Umfeld.


    FAQ

    Was macht Fail2Ban?

    Fail2Ban überwacht Logdateien und sperrt IP-Adressen nach mehreren fehlgeschlagenen Anmeldeversuchen automatisch.

    Ist Fail2Ban kostenlos?

    Ja. Fail2Ban ist Open Source und kostenlos nutzbar.

    Funktioniert Fail2Ban mit Ubuntu?

    Ja. Ubuntu, Debian, AlmaLinux, Rocky Linux und viele weitere Distributionen werden unterstützt.

    Reicht Fail2Ban alleine aus?

    Nein. SSH-Schlüssel, Firewalls und regelmäßige Updates sollten zusätzlich eingesetzt werden.

    Wie kann ich gebannte IPs anzeigen?

    sudo fail2ban-client status sshd

    Kann Fail2Ban auch WordPress schützen?

    Ja. Mit passenden Filtern können Login-Angriffe auf WordPress erkannt und blockiert werden.

    Wie entsperre ich eine IP-Adresse?

    sudo fail2ban-client set sshd unbanip IP-ADRESSE

    Deine Meinung ist gefragt

    Möchtest du weitere Linux-Sicherheitsanleitungen erhalten? Dann besuche regelmäßig Lumio Studios und erfahre, wie du Linux-Server, Webserver und Netzwerke professionell absicherst.

    Interne Verlinkungsvorschläge

    Externe Quellen