Ceci n'est pas un blog

Blog personale di Ivan Agliardi con pagine di informatica, linguaggi, idee…

Usare fail2ban per sospendere i tentativi di accesso ssh

Il logo di Fail2banSe volete rendere il vostro server inaccessibile ad un indirizzo IP da cui provengono troppi, sospetti tentativi di autenticazione, fail2ban è lo strumento che fa per voi. Si tratta di uno  script in Python che esegue automaticamente una di quelle noiosissime operazioni che spesso un sistemista UNIX/Linux deve effettuare manualmente: fail2ban cerca nei log di sistema tutti gli indirizzi IP che hanno tentato senza successo di accedere al server; se i tentativi di accesso superano un certo numero massimo consentito in un certo arco di tempo, allora quell’IP viene tagliato fuori mediante iptables per un (altrettanto) certo lasso di tempo.

Sia l’installazione che la configurazione di fail2ban sono assolutamente semplici, specialmente su di un server Debian GNU/Linux. Per prima cosa è necessario installare il pacchetto:

aptitude install fail2ban

Una volta terminata la rapidissima installazione, il deamon è già perfettamente funzionante:

# /etc/init.d/fail2ban status
Status of authentication failure monitor: fail2ban is running.

La configurazione di default dovrebbe essere soddisfacente per la gran parte dei sistemisti, ma se si vuole mettere mano a qualche parametro, i file di configurazione da aggiornare sono i seguenti:

1) /etc/fail2ban/fail2ban.conf

In questo file possono essere impostati il file in cui verranno loggate le operazioni (logtarget) e livello di verbosità dei log che vi verranno scritti (loglevel).

2) /etc/fail2ban/jail.conf

Qui invece si possono configurare molti comportamenti specifici di fail2ban a seconda del tipo di servizio a cui è stato tentato l’accesso.  È possibile indicare un elenco di indirizzi IP (separati da uno spazio semplice) per i quali non deve essere mai effettuato il ban (ignoreip). Per ognuno dei servizi è poi possibile settare differenti comportamenti di reazione ai tentativi falliti di autenticazione. Vale comunque per tutti la seguente legenda:

bantime: durata in secondi del periodo di ban
maxretry:
numero massimo di tentativi consecutivi falliti che generano lo stato di ban
logpath: file di log da analizzare per il servizio in questione

Comunque se date un’occhiata ai due file di configurazione indicati sopra scoprirete che sono sufficientemente commentati, cambiare correttamente il valore desiderato sarà un gioco da ragazzi.

A proposito di Ivan Agliardi

Ho immaginazione e creatività, ma non sono un artista. Faccio interagire tra loro aziende dando vita a nuove imprese, ma non sono un imprenditore. Mi occupo da oltre 15 anni di server Linux, applicazioni web, database, domini, hosting, housing, sicurezza informatica e sistemi embedded, ma non sono un tecnico. Faccio SEO, SEM, SMM e fornisco contenuti attraverso i miei copyrighter, ma non sono un uomo marketing. Ora ho di nuovo un blog, ma non sono un blogger. Sono solo un umanista e un informatico della prima ora. E mi circondo di gente con le palle :)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Ivan Agliardi

Ivan Agliardi