Il framework di sicurezza Fail2ban, scritto in linguaggio di programmazione Python (traducibile in senso lato come “tentavi errati portano all’esclusione”), è un modulo server che può essere utilizzato su tutti i sistemi Linux e POSIX con firewall o filtro di pacchetti. Fail2ban rileva nei file di log del server gli indirizzi IP che mostrano un comportamento insolito, come nel caso in cui cerchino sempre di loggarsi con una password errata. Un certo numero di tentativi errati bloccherà automaticamente l’indirizzo IP per un periodo di tempo stabilito in precedenza. L’amministratore può però anche configurare Fail2ban in modo da essere avvisato per email, se un indirizzo IP strano prova ad effettuare l’accesso.
Fail2ban include generalmente una serie di filtri, per esempio per Apache, Postfix o per Courier mail server, attraverso i quali vengono riconosciuti delle specifiche serie di segni nei file di log. Tramite i filtri è possibile attivare delle azioni, actions, cioè dei comandi che vanno eseguiti in un periodo di tempo determinato in precedenza. La combinazione di un filtro e di un’azione, ad es. la soluzione di blocco dell’IP intrapresa da Fail2ban, viene chiamata “Jail” (it. prigione). Questi tipi di jails possono essere programmati con Fail2ban per ogni tipo di software che crea i file di log. Dato che Fail2ban è un framework open source con licenza GPL2, non ci sono costi per l’utilizzo e l’aggiornamento.