mercoledì 27 agosto 2008

ferzip.com: Secure Server fail2ban , blocchiamo chi insiste

Secure Server fail2ban , blocchiamo chi insiste

Voglio presentare questo bel programma, che monitorizzando i file di log, riconosce se vi sono tentativi di forzatura di password nei vari servizi, e dopo N volte blocca quell'IP per N secondi.

Fail2ban permette di programmare o meglio pilotare automaticamente iptables se vengono superate
certe soglie nei tentativi di autenticazione.

Es. se un aggressore tenda di scoprire la Vs. password per l'accesso via ssh con un attacco brute force attualmente può tentare quante volte vuole, arrivando fino a Denial of Service , invece con questo tool, analizzando i file di log, si accorge che un particolare indirizzo IP ha sbagliato 3 volte la password (può essere impostato al valore che si vuole, poi lo si vede nella configurazione) viene bloccato con iptables quel particolare indirizzo IP per 60 secondi (anche questo personalizzabile).

il sito di Fail2ban lo trovate qui

per installarlo in debian / ubuntu come sempre basta un bel:

apt-get install fail2ban

Avviamo subito il programma

/etc/init.d/fail2ban start

Il pachetto installa questi file nella cartella /etc/fail2ban i seguenti file di configurazione

action.d contiene le regole che vengono applicate da iptables
fail2ban.conf configurazione del demone
filter.d contiene i file di configurazione usati come filtro nei log per identificare gli attacchi
jail.conf configurazione del monitoraggio servizzi

poi modificate con il vostro editor preferito:

nano /etc/fail2ban/jail.conf

qui vi trovate di fronte ad un bel file di configurazione ben commentato e di facile interpretazione.
vediamo la prima parte importante.

ignoreip = 127.0.0.1, 192.168.1.*
bantime = 60
maxretry = 6

[...]

qui potete impostare gli indirizzi IP da cui ignorare i tentativi di connessione, io ho impostato il server stesso (127.0.0.1) e tutta la mia rete interna (192.168.1.*).

con bantime impostate per quanti secondi l'ipotetico aggressore deve essere bloccato.

ed infine, con maxretry impostate dopo quanti tentativi bisogna bloccare l'ip.

Come si può notare ho impostando a true tutte le autenticazioni fail2ban le controllerà e
al superamento del valore maxretry bloccare l’intrusore.
Attenzione! Se non ci ricordiamo la password questo può essere un problema anche per noi,
attenzione al numero di tentativi

Per esempio analizziamo il servizio SSH


[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log

Come vedere tra le parentesi quadre viene definito il nome del servizio, con enabled si imposta se deve essere attivo il controllo, in port definiamo la porta del servizio. (in questo caso c'è scritto ssh, perchè per i servizi standard fa riferimento al file /etc/services)
con filter si definisce quale server che lavora su quella porta deve essere controllato.
con logpath si imposta quale file di log tenere sotto controllo per monitorare gli accessi

se per caso si modifica qualche impostazione è bisogna riavviare il servizio con il comando

/etc/init.d/fail2ban restart

Altro opzione che trovo comoda è di ricevere via mail gli IP bannati per fare questo bisogna modificare il file fail2ban.com

pdf convert this post to pdf.

Nessun commento: