Das in der Programmiersprache Python geschriebene Sicherheits-Framework Fail2ban (sinngemäß übersetzt: „Fehlversuche führen zu einem Bann“) ist ein Server-Modul, das man auf allen Linux- und POSIX-Systemen mit Firewall oder Paketfilter verwenden kann. Fail2ban ermittelt in den Logfiles des Servers die IP-Adressen, die durch ungewöhnliches Verhalten auffallen, indem sie beispielsweise immer wieder versuchen, sich mit einem falschen Passwort einzuloggen. Eine gewisse Anzahl an Fehlversuchen sorgt dann automatisch für den Bann bzw. die Blockierung der IP-Adresse für einen vorher festgelegten Zeitraum. Der Administrator kann Fail2ban aber auch so konfigurieren, dass ihm eine auffällige IP-Adresse zunächst per E-Mail gemeldet wird.
Standardmäßig enthält Fail2ban eine Reihe von Filtern, zum Beispiel für Apache, Postfix oder den Courier Mail-Server, durch die bestimmte Zeichenfolgen in den Log-Dateien erkannt werden können. Über die Filter können actions getriggert werden – das sind Befehle, die zu einem zuvor definierten Zeitpunkt ausgeführt werden. Die Kombination eines Filters und einer action – beispielsweise die von Fail2ban ausgelöste IP-Blockierung – nennt man Jail (dt. Gefängnis). Solche Jails können mit Fail2ban für jede Software programmiert werden, die Logdateien erstellt. Da es sich bei Fail2ban um ein Open-Source-Framework mit GPL2-Lizenz handelt, fallen für die Verwendung und Erweiterung keinerlei Kosten an.