Was ist Fail2ban
Zur Navigation springen
Zur Suche springen
Was ist das?
- Fail2ban ist ein in Python geschriebenes Intrusion Prevention System
- Es läuft auf allen POSIX-Betriebssystemen, die ein manipulierbares Paketfiltersystem oder eine Firewall besitzen (z. B. iptables unter Linux).
Funktionalität
- Der Hauptzweck von fail2ban ist das Bestimmen und Blockieren bestimmter IP-Adressen,
- Die werden blockiert wenn sie wahrscheinlich zu Angreifern gehören, die sich Zugang zum System verschaffen wollen.
- fail2ban ermittelt aus Log-Dateien IP-Adressen, die in einem vom Administrator angesetzten Zeitrahmen Aktionen ausführen, die man verdächtig einstufft
- Normalerweise ist fail2ban so konfiguriert, dass es blockierte Adressen nach einer bestimmten Zeit wieder freigibt.
- Beispielsweise eine Brutforce Attacke
- Als hilfreich gilt eine Blockierzeit von einigen Minuten, um das Fluten des Servers mit bösartigen Verbindungsversuchen (Brute Force) zu stoppen.
- Fail2ban ist in der Lage, verschiedene Aktionen auszuführen, wenn eine wahrscheinlich bösartige IP entdeckt wurde.
- Beispielsweise diese IP mit einer Regel in iptables oder der zu TCP-Wrappern gehörenden hosts.deny zu blockieren
- E-Mail-Benachrichtigungen oder jede benutzerdefinierte Aktion, die mit Python ausgeführt werden kann.
- Die Standardkonfiguration enthält Filter für
- Apache, Lighttpd, sshd, vsftpd, qmail, Postfix und den Courier Mail Server.
- Filter werden durch reguläre Ausdrücke definiert, die vom Administrator gut angepasst werden können.
- Die Kombination aus Filter und Aktion wird als jail bezeichnetund ist in der Lage, bösartige Hosts zu blockieren.
- Ein "jail" kann für jede Software erstellt werden, die Logdateien erstellt, welche sich mit Regulären Ausdrücken auswerten lassen.
- Beispielsweise existiert für das WordPress-Plugin "Antispam Bee" ein "jail"
- Dies kann Spam-Attacken bereits auf der Server-Ebene abwehren und somit die Auslastung des Webservers und der Datenbank reduziert.
Schaubild
- fail2ban Client liest die Konfigurationsdateien.
- Über ein Unix Socket wird mit dem fail2ban Server kommuniziert
- Auf dem fail2ban Server läuft für jede konfiguration ein Jail
- Ein Jail ist eine Kombination von Filter und Aktion
- Die Filterkomponete des Jails liest aus dem dazugehörigen Logfile
- Es wir gerüft ob die Bruteforce Tesregel zutrifft
- Wenn diese zutrifft wird die Aktion ausgeführt.