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
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:
qui vi trovate di fronte ad un bel file di configurazione ben commentato e di facile interpretazione.
vediamo la prima parte importante.
[...]
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
Altro opzione che trovo comoda è di ricevere via mail gli IP bannati per fare questo bisogna modificare il file fail2ban.com
convert this post to pdf.
Nessun commento:
Posta un commento