Fail2ban

Installa e configura Fail2ban per bloccare temporaneamente ripetuti errori di autenticazione SSH su un server Ubuntu.

Prima di eseguire

Questi esempi sono destinati a un server Ubuntu che utilizza systemd e un firewall supportato. I nomi dei pacchetti, le origini dei log e i backend del firewall differiscono in base alla distribuzione. Fail2ban riduce i tentativi di accesso ripetuti; non sostituisce le chiavi SSH, gli aggiornamenti o i controlli di accesso. Mantieni disponibili una sessione amministrativa esistente e un ripristino della console ed evita di eseguire test dal tuo unico indirizzo di lavoro. Verifica che la jail SSH legga i log di autenticazione effettivi e che la sua azione firewall sia efficace. Non autorizzare reti estese senza comprendere il rischio.

Dopo aver applicato le modifiche, verifica in una nuova sessione SSH che l’accesso e il funzionamento previsto siano corretti. Mantieni aperta la sessione attuale fino alla verifica, così da poter ripristinare la configurazione se necessario.

Esempi

Installa Fail2ban su Ubuntu e avvia il suo servizio. L'installazione richiede privilegi di amministratore.

sudo apt update
sudo apt install fail2ban
sudo systemctl enable --now fail2ban

Crea un jail override separato su /etc/fail2ban/jail.d/sshd.local; non modificare il pacchetto jail.conf. L'esempio utilizza i log di systemd e blocca un indirizzo per un'ora dopo cinque errori in dieci minuti.

Apri il file con nano:

sudo nano /etc/fail2ban/jail.d/sshd.local
[sshd]
enabled = true
backend = systemd
maxretry = 5
findtime = 10m
bantime = 1h

Convalida la configurazione, riavvia il servizio e ispeziona la jail SSH. Assicurarsi che l'output identifichi l'origine del log e l'azione del firewall previste.

sudo fail2ban-client -t && sudo systemctl restart fail2ban && sudo fail2ban-client status sshd

Esamina i registri di servizio recenti se il jail non si avvia o non vengono rilevati errori.

sudo journalctl -u fail2ban -n 100 --no-pager

Se un indirizzo autorizzato è stato escluso, sblocca tale indirizzo da una sessione amministrativa esistente o dalla console del server. Sostituisci l'indirizzo di esempio.

sudo fail2ban-client set sshd unbanip 192.0.2.10

Riferimenti ufficiali

Verificato il 27 ottobre 2026