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.
Wie man Fail2Ban unter Linux installiert und konfiguriert
Fail2Ban überwacht Ihre Serverprotokolle auf verdächtige Aktivitäten und sperrt automatisch angreifende IPs durch Aktualisierung Ihrer Firewall-Regeln. Fail2Ban stoppt Brute-Force-Angriffe, reduziert das Protokollrauschen und läuft nach der Konfiguration unauffällig im Hintergrund. Diese Anleitung behandelt die Installation unter Ubuntu/Debian, die Grundkonfiguration, die Einrichtung der Jail und einige fortgeschrittene Optionen, die Sie kennen sollten.
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 aufzeichnen
(/var/log/auth.logauf Debian-basierten Systemen,/var/log/secureauf RHEL-basierten Systemen)
Auf RHEL-basierten Systemen müssen Sie zuerst das EPEL-Repository aktivieren. Überprüfen Sie vor der Installation von Fail2Ban, ob Ihre Firewall mit ufw status oder systemctl status firewalld läuft.
Installation von Fail2Ban auf 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 Booten gestartet wird, und starten Sie ihn dann:
sudo systemctl enable fail2ban
sudo systemctl start fail2banKopieren Sie die Standardkonfiguration in eine lokale Überschreibungsdatei. 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 Befehl listet Ihre aktiven Jails auf. Bestätigen Sie, dass Fail2Ban beim Booten mit sudo systemctl is-enabled fail2ban aktiviert ist.
Jails konfigurieren
Standardeinstellungen
Öffnen Sie /etc/fail2ban/jail.local und passen Sie den Abschnitt [DEFAULT] an. Diese Einstellungen gelten für alle Jails, sofern sie nicht überschrieben werden:
| Parameter | Empfohlener Wert | Was bewirkt er |
|---|---|---|
bantime | 3600 | Sperrt eine IP für 1 Stunde |
suchzeit | 600 | Zählt Ausfälle 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ügen Sie Ihre eigene Management-IP zu ignoreip hinzu, damit Sie sich nicht selbst aussperren. Beispiel: ignoreip = 127.0.0.1/8 ::1 203.0.113.50.
SSH-Schutz
Aktivieren Sie das SSH-Gefängnis in jail.local:
[sshd]
enabled = trueStellen Sie sicher, dass logpath auf die richtige Protokolldatei für Ihre Distribution verweist. Wenn Sie SSH auf einen Nicht-Standard-Port (z. B. 2222) verlegt haben, aktualisieren Sie den Port-Parameter entsprechend.
Webserver-Schutz
Aktivieren Sie die Jail, die zu Ihrem Webserver passt:
- Nginx:
[nginx-http-auth]für fehlgeschlagene Authentifizierung,[nginx-botsearch]für bösartige Bots - Apache:
[apache-auth]für Authentifizierung,[apache-badbots]für Bots
Rückfall-Gefängnis
Das [recidive]-Gefängnis fängt IPs ab, die in anderen Gefängnissen immer wieder gesperrt werden, und verhängt eine längere Strafe, normalerweise eine Woche (604.800 Sekunden). Sie ist nützlich für hartnäckige Angreifer, die ihre Vorgehensweise ändern.
Laden Sie nach den Änderungen neu:
sudo systemctl restart fail2ban
sudo fail2ban-client statusTesten und Überwachen
Testen von Verboten
Bevor Sie Fail2Ban in der Produktion einsetzen, sollten Sie es testen. Versuchen Sie von einem entfernten Rechner aus (nicht von Ihrer Admin-IP), sich per SSH anzumelden, bis Sie die maximale Anzahl an Wiederholungen überschreiten. Sie sollten blockiert werden. Bestätigen Sie mit:
sudo fail2ban-client status sshdBeobachten Sie die Sperrungen in Echtzeit:
tail -f /var/log/fail2ban.logWenn Sie versehentlich eine rechtmäßige IP sperren, heben Sie die Sperre auf:
sudo fail2ban-client set sshd unbanip 203.0.113.50Tag-zu-Tag-Überwachung
Überprüfen Sie den Sperrungsverlauf durch Abfragen des Protokolls:
grep "Ban\|Unban" /var/log/fail2ban.logNützliche Verwaltungsbefehle:
| Befehl | Zweck |
|---|---|
fail2ban-Klient Status | Alle aktiven Jails auflisten |
fail2ban-client verbannt | Alle derzeit gesperrten IPs anzeigen |
fail2ban-client set <Gefängnis> unbanip <IP> | Eine bestimmte IP freigeben |
fail2ban-client unban --all | Alle Bans löschen |
fail2ban-client set <Gefängnis> banip <IP> | Manuelles Verbot einer IP |
Bans bleiben über Neustarts hinweg 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 behandelt IPv4 und IPv6 in einem einzigen Framework, skaliert besser mit großen Verbotslisten und hat eine eingebaute Ratenbegrenzung. Wenn Sie mit Ubuntu 22.04+, Debian 11+ oder einer anderen aktuellen Distribution arbeiten, ist es die bessere Wahl.
Setzen Sie es in jail.local:
[DEFAULT]
banaction = nftables-multiportStarten Sie Fail2Ban neu und überprüfen Sie es dann mit sudo nft list ruleset. Sie sollten 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 verbietet Fail2Ban stillschweigend. Um E-Mail-Benachrichtigungen zu erhalten, fügen Sie Folgendes zum Abschnitt [DEFAULT] in jail.local hinzu:
[DEFAULT]
destemail = [email protected]
sender = [email protected]
mta = sendmail
action = %(action_mwl)sDie Aktion action_mwl sendet eine E-Mail mit Verbotsdetails, WHOIS-Daten und den Protokollzeilen, die das Verbot 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 SMTP-Relay, das durch etwas wie msmtp konfiguriert wird.
Für Slack- oder Discord-Benachrichtigungen erstellen Sie ein Skript, das einen Webhook sendet, und verdrahten es mit einer benutzerdefinierten Aktionsdatei in /etc/fail2ban/action.d/.
Wenn Sie auf der Suche nach einem Server mit vollem Root-Zugriff und ungemessener Bandbreite sind, um Fail2Ban auszuführen, schauen 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 freischalten
Checkliste für die Härtung von Linux-Servern
Schritt-für-Schritt-Checkliste zur Absicherung eines Linux-Servers. Behandelt SSH, Firewalls, Patching, Dateiberechtigungen, SELinux/AppArmor und Audit-Protokollierung
15 Min. Lesezeit - 8. Mai 2026
iperf3 Tutorial: Netzwerkgeschwindigkeit unter Linux und Windows testen
10 Min. Lesezeit - 7. 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