Was ist Fail2ban

Aus xinux.net
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.


Quelle