Zum Inhalt springen

Fail2ban

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 23. April 2011 um 13:58 Uhr durch Der Messer (Diskussion | Beiträge) (Funktionalität). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Fail2ban

Basisdaten

Entwickler Cyril Jaquier, Arturo 'Buanzo' Busleiman
Erscheinungsjahr 2004
Aktuelle Version 0.8.4
(7. September 2009)
Betriebssystem Linux/POSIXe mit Firewall
Programmier­sprache Python
Kategorie Intrusion Prevention System
Lizenz GPL Version 2 (Freie Software)
http://www.fail2ban.org

Fail2ban ist ein in Python geschriebenes Intrusion Prevention Framework (Framework zur Vorbeugung von Einbrüchen), das auf allen POSIX-Betriebssystemen läuft, die ein manipulierbares Paketfiltersystem oder eine Firewall besitzen (z.B. iptables unter Linux).

Funktionalität

Der Hauptzweck von fail2ban ist das Bestimmen und Blocken bestimmter IP-Adressen, die wahrscheinlich zu Angreifern gehören, die sich Zugang zum System verschaffen wollen. fail2ban ermittelt aus Log-Dateien (u.a. /var/log/pwdfail, /var/log/auth.log oder /var/log/apache2/error.log) IP-Adressen, die in einem vom Administrator angesetzten Zeitrahmen z.B. öfter versuchen, sich mit falschen Passwörtern einzuloggen oder andere gefährliche oder nutzlose Aktionen ausführen. Normalerweise ist fail2ban so konfiguriert, dass es blockierte Adressen nach einer bestimmten Zeit wieder frei gibt, um nicht ernsthafte Verbindungsversuche zu blockieren (beispielsweise, wenn die Angreifer-IP dynamisch einem anderen Host zugeteilt wird). Als hilfreich gilt eine Blockierzeit von einigen Minuten, um das Fluten des Servers mit bösartigen Verbindungsversuchen 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 Wrapper gehörenden hosts.deny zu blockieren, um folgende Angriffe zurückzuweisen, Email-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 Python-Regexe definiert, die vom Administrator gut angepasst werden können. Die Kombination aus Filter und Aktion wird als jail (Gefängnis) bezeichnet und ist in der Lage, bösartige Hosts zu blockieren. Ein jail kann für jede Software erstellt werden, die Logdateien erstellt, die sich mit Regulären Ausdrücken auswerten lassen, was jedoch eigentlich immer der Fall ist.