Nytrix Nytrix
Start Produkte Standorte Über uns Blog FAQ Anmelden
Nytrix Nytrix
Anmelden
vServer

Fail2ban einrichten — Schutz vor Brute-Force-Angriffen

Aktualisiert 25.05.2026 7 Min. Lesezeit

Warum Fail2ban?

Sobald dein Server eine öffentliche IP-Adresse hat, dauert es meist nur Minuten, bis die ersten automatisierten Login-Versuche auf Port 22 eintrudeln. Bots klappern rund um die Uhr bekannte Benutzernamen und Passwörter ab. Einzelne Fehlversuche sind harmlos, aber tausende pro Tag sind ein echtes Risiko — und belasten nebenbei dein System.

Fail2ban liest deine Logdateien mit, erkennt verdächtige Muster (etwa wiederholte fehlgeschlagene SSH-Logins von derselben IP) und sperrt die Adresse für eine festgelegte Zeit per Firewall-Regel aus. Das Prinzip ist simpel und genau deshalb so wirksam. In dieser Anleitung richtest du Fail2ban auf einem Debian- oder Ubuntu-Server ein.

Installation

Auf Debian 12 und Ubuntu 24.04 liegt Fail2ban in den offiziellen Paketquellen. Logge dich per SSH als Root oder mit einem sudo-fähigen Benutzer ein und installiere das Paket:

Der Dienst startet danach in der Regel automatisch. Prüfe das mit systemctl status fail2ban. Falls er nicht läuft, aktivierst du ihn dauerhaft mit systemctl enable --now fail2ban. Damit startet Fail2ban auch nach einem Neustart automatisch wieder.

Auf modernen Systemen nutzt Fail2ban standardmäßig nftables bzw. die vorhandene Firewall, um Sperren zu setzen. Du musst dafür normalerweise nichts weiter konfigurieren.

jail.local statt jail.conf

Die mitgelieferte /etc/fail2ban/jail.conf solltest du nicht direkt bearbeiten. Sie wird bei Updates überschrieben, deine Änderungen wären weg. Stattdessen legst du eine eigene Datei /etc/fail2ban/jail.local an. Werte dort haben Vorrang und überschreiben die Voreinstellungen.

Lege die Datei mit deinem Editor an, zum Beispiel nano /etc/fail2ban/jail.local, und beginne mit einem [DEFAULT]-Block für globale Einstellungen:

Trage bei ignoreip unbedingt deine eigene feste IP-Adresse ein (mit Leerzeichen getrennt), damit du dich nicht versehentlich selbst aussperrst. Hast du keine feste IP, sei bei den Werten etwas großzügiger und merke dir den Weg über die Notfall-Konsole (dazu unten mehr).

bantime, findtime und maxretry verstehen

Diese drei Werte steuern das gesamte Verhalten. Es lohnt sich, sie wirklich zu verstehen statt nur zu kopieren:

Praktisch ist die Option bantime.increment = true: Damit verlängert sich die Sperrdauer bei Wiederholungstätern automatisch. Eine IP, die immer wieder auftaucht, wird so Stufe um Stufe länger ausgesperrt — sehr wirksam gegen hartnäckige Bots.

Das SSH-Jail aktivieren

Ein Jail ist eine Regel, die einen bestimmten Dienst überwacht. Das wichtigste ist das SSH-Jail. Füge es in deiner jail.local hinzu:

Hast du SSH auf einen anderen Port gelegt (etwa 2222), trage diesen bei port ein. Werte wie maxretry kannst du pro Jail setzen — hier überschreibt die 3 den globalen Default. Für SSH sind strengere Grenzen sinnvoll, weil legitime Tippfehler selten sind.

Nach jeder Änderung an der Konfiguration lädst du Fail2ban neu: systemctl reload fail2ban. Prüfe vorher mit fail2ban-client -t, ob deine Konfiguration syntaktisch in Ordnung ist.

Status prüfen und IPs entsperren

Ob alles läuft, siehst du über den fail2ban-client. Mit fail2ban-client status bekommst du eine Liste aller aktiven Jails. Details zu einem einzelnen Jail liefert:

Die Ausgabe zeigt dir die Zahl der erkannten Fehlversuche und die aktuell gesperrten IP-Adressen. Hast du dich (oder einen Kollegen) versehentlich ausgesperrt, hebst du die Sperre gezielt auf:

Solltest du dich komplett ausgesperrt haben und gar nicht mehr per SSH reinkommen, brauchst du einen anderen Zugang zum Server. Bei einem vServer von Nytrix nutzt du dafür die KVM-Konsole im Dashboard — die läuft unabhängig vom SSH-Dienst und du kommst auch dann auf den Server, wenn Port 22 für dich gerade dicht ist.

Eigene Filter für andere Dienste

Fail2ban schützt nicht nur SSH. Für viele gängige Dienste bringt es bereits fertige Filter unter /etc/fail2ban/filter.d/ mit, etwa für Webserver, FTP oder Mailserver. Aktivieren tust du sie nach demselben Muster wie das SSH-Jail — mit eigenem Jail-Block, passendem logpath und dem Namen des Filters.

Brauchst du einen eigenen Filter, etwa für eine selbst gehostete Anwendung, legst du eine Datei wie /etc/fail2ban/filter.d/meinedienst.conf an. Kern ist ein regulärer Ausdruck, der die fehlgeschlagene Zeile in deinem Log erkennt. Der Platzhalter <HOST> markiert dabei die Stelle, an der die IP-Adresse steht:

Im zugehörigen Jail verweist du dann über filter = meinedienst und logpath = /pfad/zum/logfile darauf. Mit fail2ban-regex /pfad/zum/logfile /etc/fail2ban/filter.d/meinedienst.conf testest du deinen Ausdruck gegen echte Logzeilen, bevor du das Jail scharf schaltest. Das spart viel Raterei.

Mit Nytrix umsetzen

Fail2ban entfaltet seinen Nutzen erst auf einem Server mit Root-Zugriff — und genau den bekommst du bei den vServern von Nytrix. Alle Tarife bieten vollen Root-Zugriff per SSH, SSD/NVMe-Speicher und 5 TB Traffic im Monat. Der BASIC-4 startet bei 9,99 EUR mit eigener IPv4-Adresse, frisch aufgesetzt wahlweise mit Debian 12 oder Ubuntu 24.04 — also genau den Systemen aus dieser Anleitung.

Praktisch für Fail2ban: Über die KVM-Konsole im Dashboard kommst du auch dann auf den Server, wenn du dich versehentlich per SSH ausgesperrt hast. Abgerechnet wird per Prepaid — du lädst Guthaben auf, buchst, und es gibt keine Mindestlaufzeit und keine Vertragsbindung. Den DDoS-Schutz per Voxility-Filterung gibt es bei allen Tarifen inklusive, sodass volumetrische Angriffe schon vor deinem Server abgefangen werden, während Fail2ban sich um die Login-Versuche kümmert. Mehr Tipps rund um Serverbetrieb findest du im Nytrix-Blog.

#fail2ban #ssh-sicherheit #brute-force #vserver #linux

Bereit zum Loslegen?

Im Nytrix-Dashboard findest du alle Produkte zum direkt Bestellen — prepaid, ohne Mindestlaufzeit.

Zur Startseite