Introduzione

Fail2Ban è un potente strumento di sicurezza progettato per proteggere i server basati su Linux dagli attacchi brute-force. Monitora i file di registro alla ricerca di attività sospette e vieta gli indirizzi IP dannosi utilizzando le regole del firewall. Questa guida illustra il processo di installazione, configurazione e utilizzo di Fail2Ban su un sistema Ubuntu.

Installazione di Fail2Ban

Per prima cosa, aggiornate l’elenco dei pacchetti e installate Fail2Ban usando i seguenti comandi:

sudo apt update
sudo apt install fail2ban -y

Una volta installato, avviare e abilitare il servizio Fail2Ban:

sudo systemctl start fail2ban
sudo systemctl enable fail2ban

Configurazione di Fail2Ban

Il file di configurazione predefinito per Fail2Ban si trova in /etc/fail2ban/jail.conf. Tuttavia, si consiglia di creare un file di configurazione personalizzato per evitare che le modifiche vengano sovrascritte durante gli aggiornamenti.

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Modificare il file di configurazione con un editor di testo:

sudo nano /etc/fail2ban/jail.local

Impostazioni di configurazione delle chiavi

  • bantime: Definisce la durata (in secondi) per la quale un indirizzo IP sarà vietato.
  • findtime: Specifica la finestra temporale per il rilevamento di più tentativi falliti.
  • maxretry: Numero di tentativi di accesso falliti prima che un IP venga bannato.
  • ignoreip: Elenco di indirizzi IP affidabili che non devono essere bannati.

Esempio di impostazioni:

[DEFAULT]
bantime = 600
tempo di ricerca = 600
maxretry = 5
ignoreip = 127.0.0.1/8

Abilitazione di Fail2Ban per SSH

Per abilitare Fail2Ban per la protezione SSH, assicurarsi che la seguente sezione sia presente in jail.local:

[sshd]
enabled = true
porta = ssh
filtro = sshd
logpath = /var/log/auth.log
maxretry = 3

Salvare il file e riavviare Fail2Ban:

sudo systemctl restart fail2ban

Controllare lo stato di Fail2Ban

Per verificare che Fail2Ban funzioni correttamente, utilizzate il seguente comando:

sudo fail2ban-client status

Per controllare lo stato di una jail specifica (ad esempio, SSH):

sudo fail2ban-client status sshd

Disabilitare un indirizzo IP

Se un indirizzo IP legittimo viene bannato, è possibile sbloccarlo utilizzando:

sudo fail2ban-client set sshd unbanip 

Conclusione

Fail2Ban è uno strumento essenziale per migliorare la sicurezza dei server prevenendo gli attacchi brute-force. Configurandolo correttamente, è possibile ridurre in modo significativo i tentativi di accesso non autorizzato e proteggere il server Ubuntu da potenziali minacce.