Wie man Fail2Ban unter Linux installiert und konfiguriert
9 Min. Lesezeit - 14. Mai 2026

Schritt-für-Schritt-Anleitung zum Installieren, Konfigurieren und Testen von Fail2Ban auf Ubuntu-, Debian- und RHEL-basierten Linux-Servern.
So installieren und konfigurieren Sie Fail2Ban unter Linux
Fail2Ban überwacht Ihre Serverprotokolle auf verdächtige Aktivitäten und sperrt problematische IP-Adressen automatisch, indem es Ihre Firewall-Regeln aktualisiert. Es stoppt Brute-Force-Angriffe, reduziert Protokoll-Rauschen und läuft nach der Konfiguration unauffällig im Hintergrund. Diese Anleitung behandelt die Installation unter Ubuntu/Debian, die Kernkonfiguration, die Einrichtung von Jails sowie einige wissenswerte erweiterte Optionen.
Voraussetzungen
Fail2Ban läuft auf den meisten Linux-Distributionen: Ubuntu, Debian, AlmaLinux, CentOS, RHEL, Rocky Linux und Fedora. Sie benötigen:
- Python 3 auf dem System installiert
- Root- oder Sudo-Zugriff für die Paketinstallation und Änderungen an der Firewall
- Eine aktive Firewall (iptables, nftables, ufw oder firewalld)
- Protokolldateien, die fehlgeschlagene Anmeldeversuche erfassen (
/var/log/auth.logauf Debian-basierten Systemen/var/log/secureauf RHEL-basierten Systemen)
Auf RHEL-basierten Systemen aktivieren Sie zunächst das EPEL-Repository. Bevor Sie Fail2Ban installieren, überprüfen Sie, ob Ihre Firewall läuft, mit ufw status oder systemctl status firewalld.
Installation von Fail2Ban unter Ubuntu/Debian
Aktualisieren Sie Ihre Pakete und installieren Sie Fail2Ban:
sudo apt update && sudo apt upgrade -y
sudo apt install fail2banAktivieren Sie den Dienst, damit er beim Systemstart ausgeführt wird, und starten Sie ihn anschließend:
sudo systemctl enable fail2ban
sudo systemctl start fail2banKopieren Sie die Standardkonfiguration in eine lokale Übersteuerungsdatei. Bearbeiten Sie immer jail.local, nicht jail.conf, damit Paketaktualisierungen Ihre Einstellungen nicht überschreiben:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.localÜberprüfen Sie, ob alles läuft:
sudo systemctl status fail2ban
sudo fail2ban-client statusDer erste Befehl sollte „Active: active (running)“ anzeigen. Der zweite listet Ihre aktiven Jails auf. Vergewissern Sie sich, dass Fail2Ban beim Systemstart aktiviert ist, mit sudo systemctl is-enabled fail2ban.
Konfigurieren von Jails
Standardeinstellungen
Öffnen /etc/fail2ban/jail.local und passen Sie den [DEFAULT] Abschnitt an. Diese Einstellungen gelten für alle Jails, sofern sie nicht überschrieben werden:
| Parameter | Empfohlener Wert | Funktion |
|---|---|---|
bantime | 3600 | Sperrt eine IP-Adresse für 1 Stunde |
findtime | 600 | Zählt Fehler innerhalb eines 10-Minuten-Fensters |
maxretry | 3 bis 5 | Fehlversuche, bevor eine Sperre ausgelöst wird |
ignoreip | 127.0.0.1/8 ::1 | IPs, die nie gesperrt werden |
Füge deine eigene Verwaltungs-IP hinzu ignoreip damit Sie sich nicht selbst aussperren. Beispiel: ignoreip = 127.0.0.1/8 ::1 203.0.113.50.
SSH-Schutz
Aktivieren Sie den SSH-Jail in jail.local:
[sshd]
enabled = trueStellen Sie sicher, dass logpath auf die richtige Logdatei für Ihre Distribution verweist. Wenn Sie SSH auf einen nicht standardmäßigen Port (z. B. 2222) verschoben haben, passen Sie den port entsprechend an.
Webserver-Schutz
Aktivieren Sie die Jail, die zu Ihrem Webserver passt:
- Nginx:
[nginx-http-auth]bei Authentifizierungsfehlern,[nginx-botsearch]für bösartige Bots - Apache:
[apache-auth]für die Authentifizierung,[apache-badbots]für Bots
Recidive Jail
Der [recidive] Jail erfasst IPs, die in anderen Jails immer wieder gesperrt werden, und verhängt eine längere Sperre, in der Regel eine Woche (604.800 Sekunden). Dies ist nützlich bei hartnäckigen Angreifern, die ihre Vorgehensweise variieren.
Nach dem Vornehmen von Änderungen neu laden:
sudo systemctl restart fail2ban
sudo fail2ban-client statusTesten und Überwachen
Testen von Sperren
Bevor Sie sich in der Produktion auf Fail2Ban verlassen, testen Sie es. Versuchen Sie von einem Remote-Rechner (nicht Ihrer Admin-IP) aus SSH-Anmeldungen, bis Sie maxretry. Sie sollten gesperrt werden. Überprüfen Sie dies mit:
sudo fail2ban-client status sshdBeobachten Sie, wie Sperren in Echtzeit erfolgen:
tail -f /var/log/fail2ban.logWenn Sie versehentlich eine legitime IP gesperrt haben, heben Sie die Sperre auf:
sudo fail2ban-client set sshd unbanip 203.0.113.50Tägliche Überwachung
Überprüfen Sie den Sperrverlauf, indem Sie das Protokoll durchsuchen:
grep "Ban\|Unban" /var/log/fail2ban.logNützliche Verwaltungsbefehle:
| Befehl | Zweck |
|---|---|
fail2ban-client status | Alle aktiven Jails auflisten |
fail2ban-client banned | Alle derzeit gesperrten IPs anzeigen |
fail2ban-client set <jail> unbanip <IP> | Eine bestimmte IP-Adresse entsperren |
fail2ban-client unban --all | Alle Sperren aufheben |
fail2ban-client set <jail> banip <IP> | Eine IP manuell sperren |
Sperren bleiben auch nach Neustarts bestehen. Fail2Ban speichert sie in einer SQLite-Datenbank unter /var/lib/fail2ban/fail2ban.sqlite3.
Erweiterte Konfiguration
Umstellung auf nftables
nftables ist der moderne Ersatz für iptables. Es verarbeitet IPv4 und IPv6 in einem einzigen Framework, skaliert besser bei großen Sperrlisten und verfügt über eine integrierte Ratenbegrenzung. Wenn Sie Ubuntu 22.04+, Debian 11+ oder eine andere aktuelle Distribution verwenden, ist dies die bessere Wahl.
Konfigurieren Sie es jail.local:
[DEFAULT]
banaction = nftables-multiportStarten Sie Fail2Ban neu und überprüfen Sie dies mit sudo nft list ruleset. Sie sollten Folgendes sehen f2b-table und f2b-chain in der Ausgabe sehen. Bleiben Sie nur bei iptables, wenn Sie ein älteres System verwenden oder Kompatibilitätsanforderungen haben.
E-Mail-Benachrichtigungen
Standardmäßig sperrt Fail2Ban ohne Benachrichtigung. Um E-Mail-Benachrichtigungen zu erhalten, fügen Sie Folgendes in den [DEFAULT] Abschnitt von jail.local:
[DEFAULT]
destemail = [email protected]
sender = [email protected]
mta = sendmail
action = %(action_mwl)sDie action_mwl Aktion sendet eine E-Mail mit Details zum Sperrvorgang, WHOIS-Daten und den Log-Einträgen, die die Sperre ausgelöst haben. Verwenden Sie action_mw , wenn Sie nur WHOIS-Daten wünschen. Sie benötigen einen Mail-Transfer-Agent wie sendmail oder ein über etwas wie msmtp.
Für Slack- oder Discord-Benachrichtigungen erstellen Sie ein Skript, das einen Webhook sendet, und binden Sie es über eine benutzerdefinierte Aktionsdatei in /etc/fail2ban/action.d/.
Wenn Sie nach einem Server mit vollem Root-Zugriff und unbegrenzter Bandbreite für den Betrieb von Fail2Ban suchen, sehen Sie sich die dedizierten Server von FDC an.

Haben Sie genug von langsamen Bereitstellungen oder Bandbreitenbeschränkungen? FDC Servers bietet sofortige dedizierte Leistung, globale Reichweite und flexible Pläne, die für jede Größenordnung geeignet sind. Sind Sie bereit für ein Upgrade?
Leistung jetzt freischaltenWarum es wichtig ist, einen leistungsstarken und ungemessenen VPS zu haben
Ein ungemessener VPS bietet eine pauschale Bandbreite mit einer festen Portgeschwindigkeit. Wie er sich von gebührenpflichtigen Tarifen unterscheidet, wann er sich lohnt und worauf Sie vor dem Kauf achten sollten.
7 Min. Lesezeit - 9. Mai 2025
Linux-Speicherverwaltung: Swap, OOM Killer & Cgroups
12 Min. Lesezeit - 31. Mai 2026

Haben Sie Fragen oder benötigen Sie eine individuelle Lösung?
Flexible Optionen
Globale Reichweite
Sofortige Bereitstellung
Flexible Optionen
Globale Reichweite
Sofortige Bereitstellung