Was ist Fail2ban: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 20: Zeile 20:
 
*Dies kann Spam-Attacken bereits auf der Server-Ebene abwehren und somit die Auslastung des Webservers und der Datenbank reduziert.
 
*Dies kann Spam-Attacken bereits auf der Server-Ebene abwehren und somit die Auslastung des Webservers und der Datenbank reduziert.
 
=Schaubild=
 
=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.
  
  

Aktuelle Version vom 13. Dezember 2022, 15:16 Uhr

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