Fail2ban

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Fail2ban

Basisdaten

Entwickler Cyril Jaquier, Arturo 'Buanzo' Busleiman
Erscheinungsjahr 2004
Aktuelle Version 1.1.0[1]
(25. April 2024)
Betriebssystem Linux/POSIXe mit Firewall
Programmier­sprache Python
Kategorie Intrusion Prevention System
Lizenz GNU General Public License, Version 2.0 oder später
www.fail2ban.org

Fail2ban (sinngemäß „Fehlschlag führt zum Bann“) ist ein in Python geschriebenes Intrusion Prevention System (Framework zur Vorbeugung gegen Einbrüche), das auf allen POSIX-Betriebssystemen läuft, die ein manipulierbares Paketfiltersystem oder eine Firewall besitzen (z. B. iptables unter Linux).[2]

Funktionalität

[Bearbeiten | Quelltext bearbeiten]

Der Hauptzweck von fail2ban ist das Bestimmen und Blockieren 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 anzumelden oder andere gefährliche oder sinnlose Aktionen ausführen.[3] Normalerweise ist fail2ban so konfiguriert, dass es blockierte Adressen nach einer bestimmten Zeit wieder freigibt, um keine seriösen Verbindungsversuche zu blockieren (beispielsweise, wenn die Angreifer-IP dynamisch einem anderen Host zugeteilt wird).[4] 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, um nachfolgende Angriffe zurückzuweisen, E-Mail-Benachrichtigungen oder jede benutzerdefinierte Aktion, die mit Python ausgeführt werden kann.[5]

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 (Gefängnis) bezeichnet[6] und ist in der Lage, bösartige Hosts zu blockieren.[7] 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“, welches Spam-Attacken bereits auf der Server-Ebene abwehrt und somit die Auslastung des Webservers und der Datenbank reduziert.[8]

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. Release 1.1.0. 25. April 2024 (abgerufen am 23. Mai 2024).
  2. Requirements – Fail2ban
  3. Features – Fail2ban
  4. MANUAL 0 8 – Fail2ban
  5. Using fail2ban to Block Brute Force Attacks | MDLog:/sysadmin
  6. Debian Package of the Day >> Blog Archive >> Fail2ban: an enemy of script-kiddies (Memento vom 4. März 2008 im Internet Archive)
  7. Some users do not see an alternative solution at present: SLAC Computer Security of Stanford simply states in their recommendations, "Use fail2ban to block ssh and Apache dictionary attacks" Cyber Security Awareness Month Day 19 – Linux Tips. SLAC Computer Security, 19. Oktober 2007, archiviert vom Original (nicht mehr online verfügbar) am 8. Oktober 2009; abgerufen am 15. Januar 2008 (englisch).
  8. Sicherheit und Spam-Schutz: Fail2Ban installieren und einrichten (Memento vom 13. Juli 2013 im Internet Archive)