Blocco tentativi di accesso non autorizzati – Fail2ban

Quando si installano server pubblici si è inevitabilmente soggetti a tentativi di accesso non autorizzati.

Una delle tecniche utilizzate è quella del brutal force attack, ovvero il tentativo ripetuto numerose volte di accedere al server provando varie combinazioni di utenti e password.

Il primo modo per difendersi è avere delle password serie che utilizzino lettere (MAISUCOLE e minuscole), numeri e caratteri speciali (!£$ …).

Esiste però anche la possibilità di bloccare gli indirizzi IP da cui provengono ripetuti tentativi di accesso non autorizzati tramite fail2ban.

Su Ubuntu Linux si installa con il seguente comando:

sudo apt-get install fail2ban

quindi si configura modificando il file /etc/fail2ban/jail.conf

Questo file ha delle impostazioni globali e delle sezioni per personalizzare il comportamento per servizi diversi.

Per esempio, se vogliamo utilizzare fail2ban per bloccare i tentativi di accesso su un server FTP realizzato con vsftpd dobbiamo fare le seguenti modifiche nella sezione relativa a [vsftpd]:

enabled = true        # abilita il controllo sulle porte usate da questo servizio
maxretry = 3      # numero ammesso di tentativi di accesso falliti.
Bantime  = 900        # indica il tempo in secondi in cui l'IP viene “bannato” (cioè bloccato)

Con queste impostazioni l'IP viene bannato per 15 minuti (900 secondi) dopo 3 tentativi di login falliti con un utente esistente (ATTENZIONE: i tentativi di accesso con utenti inesistenti non vengono conteggiati da fail2ban). Trascorsi i 15 minuti può riconnettersi.

Terminata la configurazione del servizio bisogna riavviarlo con il comando: con:

sudo /etc/init.d/fail2ban restart

Il file di log dove controllare il tutto è /var/log/fail2ban.log dove eventuali IP bannati verranno mostrati con la seguente registrazione:

2011-01-15 15:42:10,277 fail2ban.actions: WARNING [vsftpd] Ban 87.9.81.181

Quando fail2ban decide di bloccare un IP non fa altro che aggiungere una riga DROP nel firewall iptables

Per controllare eventuali IP bannati in quel momento è sufficiente dare il comando

sudo iptables -L

viene listata l'attuale configurazione di Iptables. Se in quel momento ci sono IP bannati li si trova sotto la sezione Chain fail2ban-vsftpd

Esempio:

........
Chain fail2ban-ssh (1 references)
target     prot opt source               destination
RETURN     0    --  anywhere             anywhere
Chain fail2ban-vsftpd (1 references)
target     prot opt source               destination
DROP       0    --  host35-78-dynamic.0-87-r.retail.telecomitalia.it  anywhere
RETURN     0    --  anywhere             anywhere
........

se si volesse riabilitare un host bannato senza attendere i 15 minuti di tempo è sufficiente verificare il numero di riga DROP all'interno della sezione e dare il seguente comando:

sudo iptables -D fail2ban-ssh <num_riga>

in questo caso c'è un'unico IP (o nome host) quindi la riga è la nr. 1 per la sezione che interessa. Quindi il comando per riabilitarlo sarà:

sudo iptables -D fail2ban-ssh 1
(Letto 1.745 volte di cui 1 negli ultimi 30gg)
twitterlinkedinmailby feather

Lascia un commento

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