Fail2Ban unter Ubuntu einrichten und konfigurieren

Fail2Ban unter Ubuntu einrichten und konfigurieren

23. August 2026 | Server, Netzwerk und Hosting | 0 Kommentare

So richtest du Fail2Ban auf deinem Ubuntu-Server ein und schützt ihn vor Brute-Force-Angriffen – von der Installation bis zur individuellen Konfiguration, verständlich erklärt auch für Einsteiger.

In meiner Serie Projekt Linux-Webserver – Teil 6 hatte ich Fail2Ban nur kurz erwähnt, weil es für den dort beschriebenen, rein lokalen Entwicklungsserver nicht zwingend notwendig ist. Sobald dein Server aber aus dem Internet erreichbar ist – zum Beispiel, weil du ihn produktiv nutzt oder von unterwegs per SSH darauf zugreifen willst – wird Fail2Ban schnell zu einem wichtigen Baustein deiner Serverabsicherung. Diesen Baustein schauen wir uns in diesem Beitrag ausführlich an.

Was ist Fail2Ban und warum brauchst du es?

Sobald ein Server aus dem Internet erreichbar ist, probieren automatisierte Bots rund um die Uhr, sich per SSH mit erratenen Benutzernamen und Passwörtern anzumelden. Das nennt man einen Brute-Force-Angriff. Selbst mit einem sicheren Passwort verursacht das unnötige Serverlast und volle Log-Dateien.

Fail2Ban löst dieses Problem, indem es die Log-Dateien deines Servers laufend beobachtet. Erkennt es innerhalb eines bestimmten Zeitraums mehrere fehlgeschlagene Anmeldeversuche von derselben IP-Adresse, sperrt es diese IP-Adresse automatisch für eine festgelegte Zeit über die Firewall. Der Angreifer kann sich dann schlicht nicht mehr mit deinem Server verbinden.

Das Beste daran: Einmal eingerichtet, läuft Fail2Ban komplett automatisch im Hintergrund, ohne dass du selbst eingreifen musst.

Schema: Ablauf einer Fail2Ban-Sperrung von Angreifer bis zur automatischen Entsperrung

Fail2Ban installieren

Fail2Ban ist in den offiziellen Ubuntu-Paketquellen enthalten und lässt sich mit einem einzigen Befehl installieren:

sudo apt install fail2ban -y

Nach der Installation startet Fail2Ban automatisch mit sinnvollen Grundeinstellungen und überwacht bereits den SSH-Zugang. Ob der Dienst läuft, prüfst du mit:

sudo systemctl status fail2ban

Steht dort „active (running)“ in grün, läuft alles wie erwartet.

Grundkonzept der Config-Dateien

Bevor wir Einstellungen ändern, ein wichtiger Punkt vorab: Fail2Ban speichert seine Grundkonfiguration in der Datei /etc/fail2ban/jail.conf. Diese Datei wird aber bei jedem Fail2Ban-Update überschrieben – eigene Änderungen dort wären also beim nächsten Update wieder weg.

Wichtiger Hinweis, bevor wir weitermachen: Bearbeite niemals direkt die jail.conf. Stattdessen kopierst du sie einmalig in eine jail.local-Datei, die von Fail2Ban automatisch bevorzugt wird und bei Updates unangetastet bleibt:

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

Ab jetzt bearbeiten wir ausschließlich diese jail.local-Datei.

Die wichtigsten Einstellungen im Überblick

In der jail.local findest du ganz oben den Abschnitt . Dort gelten folgende Einstellungen für alle Dienste, die Fail2Ban überwacht, sofern du sie nicht später für einen einzelnen Dienst überschreibst.

EinstellungBedeutung
bantimeWie lange eine IP-Adresse gesperrt bleibt, z. B. bantime = 1h. Werte wie 10m, 1h oder 1d sind möglich. Der Standardwert ist oft nur 10 Minuten – für echten Schutz meist zu kurz.
findtimeDas Zeitfenster, in dem die Fehlversuche gezählt werden, z. B. findtime = 10m. Innerhalb dieser Zeit müssen die Fehlversuche passieren, sonst beginnt die Zählung wieder von vorn.
maxretryWie viele Fehlversuche erlaubt sind, bevor gesperrt wird, z. B. maxretry = 5. Bei SSH sind Werte zwischen 3 und 5 üblich.
ignoreipEine Whitelist mit IP-Adressen/Netzwerken, die niemals gesperrt werden, z. B. ignoreip = 127.0.0.1/8 ::1 192.168.0.0/24. Wichtig, damit du dich nicht versehentlich selbst aussperrst.

Wichtiger Hinweis, bevor wir weitermachen: Trag unbedingt dein eigenes lokales Netzwerk bzw. deine feste IP-Adresse bei ignoreip ein, bevor du Fail2Ban aktivierst. Vertippst du dich mehrfach beim eigenen Login, sperrt dich Fail2Ban sonst genauso aus wie einen Angreifer.

Den SSH-Zugang gezielt konfigurieren

Neben den globalen -Werten kannst du für jeden Dienst (in Fail2Ban „Jail“ genannt) eigene, individuelle Einstellungen festlegen, die die globalen Werte überschreiben. Für SSH suchst du in der jail.local den Abschnitt und passt ihn so an:


enabled = true
port = 22
maxretry = 3
bantime = 1h

Damit gilt für SSH ein strengerer Wert (3 statt 5 Fehlversuche), während andere, später hinzugefügte Dienste weiterhin die globalen Standardwerte nutzen.

Nach jeder Änderung an der jail.local muss Fail2Ban neu gestartet werden, damit die neuen Einstellungen aktiv werden:

sudo systemctl restart fail2ban

Fail2Ban im Alltag verwalten

Mit ein paar einfachen Befehlen behältst du im Alltag den Überblick, was Fail2Ban gerade tut:

BefehlBedeutung
sudo fail2ban-client statusZeigt eine Übersicht aller aktiven Jails.
sudo fail2ban-client status sshdZeigt Details zum SSH-Jail, inklusive aller aktuell gesperrten IP-Adressen.
sudo fail2ban-client set sshd unbanip IP-ADRESSEEntsperrt eine bestimmte IP-Adresse manuell wieder, z. B. falls du dich selbst versehentlich ausgesperrt hast.

Versehentlich gesperrte Nutzer wieder freischalten

Es kommt schnell mal vor, dass man sich selbst beim Passwort vertippt und nach ein paar Fehlversuchen plötzlich ausgesperrt ist. Das lässt sich in drei Schritten beheben:

1. Gesperrte IP-Adressen anzeigen lassen. Mit folgendem Befehl siehst du alle aktuell gesperrten IP-Adressen für den SSH-Jail:

sudo fail2ban-client status sshd

In der Ausgabe findest du unter „Banned IP list“ alle betroffenen Adressen.

2. Die passende IP-Adresse entsperren. Ersetze IP-ADRESSE durch die Adresse aus Schritt 1:

sudo fail2ban-client set sshd unbanip IP-ADRESSE

Die Sperre ist damit sofort aufgehoben, ein Neustart von Fail2Ban ist dafür nicht nötig.

3. Falls kein Zugriff mehr möglich ist: Solltest du komplett ausgesperrt sein und auch sonst niemand mehr per SSH auf den Server zugreifen kann, hilft nur der Zugriff über einen anderen Weg – etwa die Konsole deines Hosters im Kundenbereich, oder bei einer virtuellen Maschine die VirtualBox-Konsole direkt am Fenster der VM. Von dort aus kannst du dich lokal anmelden, ohne über SSH zu gehen, und die Schritte 1 und 2 von dort ausführen.

Abschluss Fail2Ban

Mit diesen Grundlagen hast du Fail2Ban installiert, verstehst den Unterschied zwischen jail.conf und jail.local und kannst die wichtigsten Einstellungen (bantime, findtime, maxretry, ignoreip) an deine eigenen Bedürfnisse anpassen. Für einen aus dem Internet erreichbaren Server ist das ein einfacher, aber wirkungsvoller Baustein gegen automatisierte Angriffsversuche.

Wie hat dir dieser Beitrag gefallen?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 0 / 5. Anzahl Bewertungen: 0

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Hier schreibt: Thomas

Hier schreibt: Thomas

Ich heiße Thomas und bin Inhaber einer Agentur für eCommerce und Online Marketing. Zusätzlich interessiere ich mich für CMS Systeme, Wordpress, Drupal, Grafik und Multimedia. Ihr findet mich auf Twitter und Facebook. Über einen Kommentar zu diesem Beitrag würde ich mich freuen.

0 Kommentare

Einen Kommentar abschicken

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Blog via E-Mail abonnieren

Gib Deine E-Mail-Adresse an, um diesen Blog zu abonnieren und Benachrichtigungen über neue Beiträge via E-Mail zu erhalten.

Schließe dich 2.594 anderen Abonnenten an

In eigener Sache

Mit einem Stern (*) markierten Links sind Affiliate-Links. Wenn du einen Kauf über diese Links tätigst, bekomme ich eine Provision und du unterstützt aktiv diesen Blog. Für dich ändert sich der Preis nicht.

Wichtig: Ich empfehle nur Produkte, die ich selbst verwende und/oder von denen ich überzeugt bin. Vielen Dank für deine Unterstützung!