Tool Fail2Ban: difendersi dagli attacchi bruteforce

lupobianco

Utente Silver
7 Agosto 2019
192
6
61
78
Anche se non si tratta di un servizio nuovissimo, benchè aggiornato, ho deciso di realizzare una piccola guida su come installare e configurare Fail2Ban su Linux.

Questo servizio è una semplicissima difesa dagli attacchi bruteforce, che individua gli indirizzi IP che effettuano numerosi tenativi di accesso al sistema.
In particolare, Fail2ban effettua una scansione real time dei log di determinate dipologie di servizi, opportunamente indicati nelle configurazioni del servizio, ed indiviudua i tentativi di accesso falliti superiori a quelli previsti, bannando il relativo indirizzo IP ed inserendo una semplice regola sul firewall per un periodo di tempo prestabilito.

L'installazione di Fail2ban può avvenire sia mediante link indicato sia mediante la digitazione da Terminale del classico comando:

$ sudo apt-get install fail2ban

Ciò che conta è la configurazione dei tanti file relativi a File2ban.
Vi consiglio di limitarvi unicamente alla configurazione del file jail.conf (/etc/fail2ban/jail.conf) contentente le regole che maggiormente ci interessano.

Per evitare problematiche derivanti da aggiornamenti del servizio, generalmente si sconsiglia di modificare il file jail.conf.
Personalizzare tale file copiandolo all'interno della jail.d e procedere alle necessarie modifiche.

E' possibile verificare che non siano presenti errori di configurazione con questo comando:

$ sudo fail2ban-server -t OK: configuration test is successful


All'interno di tale file sono presenti generalmente questi parametri:

Codice:
[ssh]
enabled = true
port = 2222
filter = sshd
maxretry = 3
bantime = 24h
findtime = 1h
logpath = /var/log/auth.log
destemail = [email protected]
sendername = 'Fail2Ban Server 1'
action = %(banaction)s[name=%(__name__)s, port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"] %(mta)s-whois-lines[name=%(__name__)s, dest="%(destemail)s", logpath=%(logpath)s, chain="%(chain)s", sendername="%(sendername)s"]

Oltre a quelli banalmente comprensibili, esistono tali parametri a mio avviso molto interessanti:
filter: indica il filtro da usare nel monitoraggio;
ignoreip: IP che il servizio ignorerà;
bantime: tempo di ban dell'IP (10m, 10h, 10d, 10mo, 10y);
destemail: indirizzo email al quale inviare una email di notifica in caso di ban;
sendername: nome mittente della mail;
banaction: software di default per effettuare il ban.

Ovviamente, utilizzare i comandi classici per avviare, riavviare o fermare il servizio:

$ sudo service fail2ban start $ sudo service fail2ban restart $ sudo service fail2ban stop

Il manuale dettagliato di File2ban, fornisce inoltre numerosi comandi per:
  • eliminare un indirizzo IP dalla lista di quelli bannati;
  • bannare un indirizzo IP;
  • bannare un indirizzo IP con parametri avanzati.

Verifica
Per verificare il corrento funzionamento del servizio, è bene monitorare i servizi analizzati attraverso il comando comando:

$ sudo fail2ban-client status

Che restituirà il numero dei servizi monitorati dal tool.


Avviare automaticamente Fail2Ban all'avvio del sistema
Trattandosi di un servizio estremamente importante, sarebbe opportuno impostarne l'avvio in automaticoo ad ogni riavvio del sistema:

$ sudo systemctl enable fail2ban

Dare un reboot al sistema:

$ reboot

Verificare l'effettivo avvio in automatico di Fail2Ban:

$ service --status-all

Download
 
  • Mi piace
Reazioni: 0xbro