[ SysAdmin ] Fail2ban – proteggiamo il server

In tantissime installazioni server di Gnu/Linux si effettua una configurazione base del firewall di sistema IPTABLES, ma non si va ad alzare l’asticina della sicurezza e della prevenzione.

Fail2ban ci viene in aiuto integrandosi perfettamente con iptables andando a gestire in modo “dinamico” le regole di firewall per poter bloccare in tempo reale attacchi di brute force.

La logica di funzionamento è molto semplice, fail2ban effettua il parsing dei file di log di sistema o dei servizi, contando i tentativi di accessi non andati a buon fine ed applica le regole imposte, creando le rules per iptables con i relativi timeout.

Una volta effettuata l’installazione attraverso il package manager della distro, per esempio su debian:

e dopo l’installazione basterà verificare se il servizio è attivo

L’output di systemd ci dirà se il servizio è attivo e funzionante.

Il sistema di default avrà caricato delle regole che da subito inizieranno a gestire i log di sshd.

Per vedere i filtri caricati a sistema, basterà digitare il comando:

con il quale possiamo vedere che è attiva la JAIL per il servizio sshd.

Per visualizzare, invece, cosa si riscontra su iptables, basterà digitare iptables -L

Altri due comandi utili sono quelli per eliminare o aggiungere un ip in modo manuale su iptables tramite fail2ban, esempio:

Mi preme ricordare che il BAN avviene SOLO a livello di servizio e non di macchina, quindi l’ip bannato per sshd avrà la possibilità di interrogare altri servizi, per il quale magari non è attivo fail2ban.

Ecco il motivo per il quale è necessario customizzare fail2ban creando jail ad-hoc per ogni servizio, potendo eventualmente aggiungere anche delle regole custom di interpretazione dei log.

NOTA:
se il servizio fail2ban darà come output il seguente errore
ERROR Failed during configuration: Have not found any log file for sshd jail

essendo su SYSTEMD i log non saranno presenti su /var/log/auth.log (configurazione standard), ma all’interno del demone stesso di systemd, quindi si dovrà aggiungere l’opzione per indicare a fail2ban di leggere i log all’interno del demone di systemd; Per una distro DEBIAN, basterà editare il file jail:

Una volta inserita l’opzione che andrà a leggere i log dal backend di systemd, il gioco sarà fatto.

Curioso e con tanta voglia di sapere, fui attratto dal mondo dell'informatica, in cui mi ci buttai a capofitto. Dal 2005, ho fatto della mia passione principale, il Networking associato al mondo dei sistemi in ambiente Gnu/Linux, il mio lavoro quotidiano.

Comments are closed.