How2-Tipps

Fail2ban: Brute-Force-Angriffe auf Server automatisch blockieren

Fail2ban schützt Linux-Server automatisch vor Brute-Force-Angriffen, indem es verdächtige IP-Adressen blockiert. Erfahre in diesem Artikel, wie Fail2ban funktioniert, wie du es installierst und sicher konfigurierst.

1 min Lesezeit
Fail2ban: Brute-Force-Angriffe auf Server automatisch blockieren

Fail2ban ist ein Open-Source-Sicherheitstool für Linux-Server, das automatisiert bösartige IP-Adressen sperrt, wenn sie verdächtige Aktivitäten wie Brute-Force-Angriffe verursachen. Es ist besonders hilfreich beim Schutz von Diensten wie SSH, FTP, Mailservern oder Webanwendungen und stellt eine wichtige Ergänzung zur Firewall dar.

Warum ist Fail2ban wichtig?

Ein typischer Linux-Server ist dauerhaft über das Internet erreichbar – und damit auch potenziell Ziel automatisierter Angriffe. Besonders häufig betroffen ist der SSH-Dienst, bei dem Angreifer versuchen, mit zufälligen oder systematisch generierten Passwörtern Zugang zu erlangen.

Fail2ban erkennt solche Angriffsversuche anhand von Logdateien und blockiert die IP-Adresse des Angreifers automatisch über die Firewall – meist für einen begrenzten Zeitraum.

Funktionsweise

Fail2ban funktioniert nach einem einfachen Prinzip:

  1. Es überwacht Logdateien (z. B. /var/log/auth.log bei SSH)
  2. Erkennt wiederholte fehlgeschlagene Loginversuche
  3. Reagiert auf diese Erkennung mit einer sogenannten "Ban-Aktion" – meist einem temporären Block über iptables oder nftables

Die Erkennung erfolgt über sogenannte Filter, die auf regulären Ausdrücken basieren. Jede "Jail" überwacht dabei einen spezifischen Dienst oder Pfad.

Installation

Fail2ban ist in den Paketquellen der meisten Distributionen enthalten.

Debian / Ubuntu

``bash sudo apt update sudo apt install fail2ban ``

CentOS / RHEL

``bash sudo yum install epel-release sudo yum install fail2ban ``

Grundkonfiguration

Die Konfigurationsdateien befinden sich typischerweise unter /etc/fail2ban/. Die Hauptdatei ist:

``text /etc/fail2ban/jail.conf ``

Um eigene Anpassungen vorzunehmen, solltest du stattdessen eine Kopie anlegen:

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

In dieser Datei kannst du u. a. festlegen:

  • welche Dienste überwacht werden ([sshd], [nginx-http-auth] usw.)
  • nach wie vielen Fehlversuchen eine IP geblockt wird
  • wie lange die Sperre aktiv bleibt

Beispiel:

``ini [sshd] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 5 bantime = 3600 ``

Wichtige Parameter

  • enabled – aktiviert die Jail für den jeweiligen Dienst
  • port – Port, auf dem der Dienst läuft (z. B. ssh)
  • filter – der Name des Filters (wird aus /etc/fail2ban/filter.d/ geladen)
  • logpath – Pfad zur Logdatei
  • maxretry – maximale Anzahl fehlgeschlagener Versuche
  • bantime – Dauer der Sperre in Sekunden

Fail2ban starten und verwalten

Nach der Konfiguration sollte der Dienst neu gestartet werden:

``bash sudo systemctl restart fail2ban ``

Den aktuellen Status aller aktiven Jails zeigt:

``bash sudo fail2ban-client status ``

Für eine bestimmte Jail:

``bash sudo fail2ban-client status sshd ``

Um eine IP manuell zu blockieren:

``bash sudo fail2ban-client set sshd banip 192.0.2.123 ``

Oder zu entblocken:

``bash sudo fail2ban-client set sshd unbanip 192.0.2.123 ``

Erweiterte Nutzung

Fail2ban kann mit verschiedenen Firewall-Backends arbeiten, z. B.:

  • iptables
  • nftables
  • firewalld

Ebenso sind E-Mail-Benachrichtigungen, benutzerdefinierte Aktionen und eigene Filterregeln möglich. Die Filter werden als separate .conf-Dateien in /etc/fail2ban/filter.d/ abgelegt.

Typische Anwendungsfälle

  • Schutz von SSH-Logins
  • Absicherung von Webservern gegen Auth-Brute-Force
  • Schutz von Mailservern (Postfix, Dovecot)
  • Erkennung von 404-Attacken auf bestimmte URLs
  • Integration in Hosting-Umgebungen

Fazit

Fail2ban ist ein bewährtes, leichtgewichtiges und äußerst effektives Werkzeug zur Abwehr automatisierter Angriffe auf Linux-Systeme. Mit wenigen Konfigurationszeilen bietet es einen wichtigen Schutzmechanismus, der auch in komplexeren Infrastrukturen leicht integrierbar ist. Besonders im Zusammenspiel mit Firewalls und sicheren Authentifizierungsmethoden trägt es entscheidend zur Serverhärtung bei.

Weitere Informationen: https://www.fail2ban.org https://github.com/fail2ban/fail2ban