Sicurezza Server · 6 min read · Sep 15, 2025

Come installare Fail2ban su Ubuntu 24.04 Server

Fail2ban è un software IPS (Intrusion Prevention Software) gratuito e open-source che aiuta gli amministratori a proteggere i server Linux contro accessi malevoli e attacchi di forza bruta. Fail2ban è scritto in Python e viene fornito con filtri per vari servizi come Apache2, SSH, FTP, ecc. Fail2ban riduce i tentativi di accesso malevoli bloccando gli indirizzi IP delle fonti degli attacchi.

Fail2ban funziona esaminando i file di log dei servizi (ad esempio /var/log/auth.log) e vietando gli indirizzi IP che mostrano tentativi di accesso malevoli come troppe password errate, ricerca di exploit, ecc. Fail2ban supporta anche più backend di firewall come iptables, ufw e firewalld. Consente anche di impostare una notifica via email per ogni tentativo di accesso bloccato.

In questa guida, imparerai come installare Fail2ban su un server Ubuntu 24.04. Configurerai la prigione di Fail2ban, imparerai il comando base ‘fail2ban-client’ e poi imparerai come vietare e revocare il divieto agli indirizzi IP utilizzando Fail2ban.

Prerequisiti

Per iniziare con questa guida, assicurati di avere:

  • Un server Ubuntu 24.04
  • Un utente non root con privilegi di amministratore

Installazione di Fail2ban e UFW (Uncomplicated Firewall)

Fail2ban è un IPS (Intrusion Prevention Software) che protegge i server contro attacchi di forza bruta. È disponibile per impostazione predefinita nella maggior parte dei repository Linux e supporta più backend di firewall. In questa sezione, installerai Fail2ban e poi configurerai UFW (Uncomplicated Firewall) che sarà utilizzato come backend del firewall per Fail2ban.

Per prima cosa, esegui il comando qui sotto per aggiornare l’indice dei pacchetti di Ubuntu.

sudo apt update

aggiorna repo

Ora installa i pacchetti ‘ fail2ban ‘ e ‘ ufw ‘ con il seguente comando ‘ apt ‘. Inserisci ‘ Y ‘ per confermare l’installazione.

sudo apt install fail2ban ufw

installa fail2ban e ufw

Dopo che l’installazione è completata, esegui il comando qui sotto per aprire la porta per SSH e abilitare UFW. Inserisci ‘Y’ per confermare, avviare e abilitare UFW.

sudo ufw allow OpenSSH  
sudo ufw enable

Una volta che UFW è abilitato, vedrai un output ‘ Il firewall è attivo e abilitato all’avvio del sistema ‘.

Successivamente, esegui il seguente comando per controllare lo stato di UFW. Vedrai che UFW è ‘ attivo ‘ con ‘ OpenSSH ‘ abilitato.

sudo ufw status

configura ufw

Infine, esegui il comando ‘systemctl’ qui sotto per avviare, abilitare e verificare il servizio ‘ fail2ban ‘.

sudo systemctl enable --now fail2ban  
sudo systemctl status fail2ban

Puoi vedere qui sotto che ‘ fail2ban ‘ è attivo (in esecuzione) e abilitato.

avvia e abilita fail2ban

Configurazione di Fail2ban

Dopo aver installato fail2ban, devi configurarlo prima che Fail2ban prenda un’azione (controllo e blocco). In questa sezione, modificherai la configurazione di fail2ban ‘/etc/fail2ban/jail.local’, imposterai la configurazione globale per ‘ bantime ‘, ‘ maxretry ‘, e ‘ findtime ‘, configurerai l’azione predefinita e il backend del firewall UFW, e poi abiliterai la prigione ‘ sshd ‘ per proteggere il servizio SSH dagli attacchi di forza bruta.

Per iniziare, copia la configurazione predefinita di fail2ban in ‘ /etc/fail2ban/jail.local ‘ con il seguente comando:

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

Apri il file ‘ /etc/fail2ban/jail.local ‘ con il seguente comando dell’editor ‘ nano ‘.

sudo nano /etc/fail2ban/jail.local

Aggiungi la tua rete locale all’opzione ‘ ignoreip ‘. Qualsiasi subnet all’interno di questa opzione non sarà bloccata da fail2ban.

ignoreip = 127.0.0.1/8 ::1 192.168.1.0/24 192.168.10.20

Regola la configurazione predefinita per ‘ bantime ‘ (il tempo in cui l’indirizzo IP sarà vietato), ‘ findtime ‘ (la durata tra il numero di fallimenti prima dell’azione di divieto), e ‘ maxretry ‘ (il numero di fallimenti per cui gli indirizzi IP verranno vietati). In questo esempio, imposterai il ‘ bantime ‘ a ‘ 1 ora ‘, il ‘ findtime ‘ a ‘ 10 minuti ‘, con il ‘ maxretry ‘ a ‘ 5 volte ‘.

bantime = 1h  
findtime = 10m  
maxretry = 5

Facoltativamente, cambia l’azione predefinita ‘ action ‘ in ‘ %(action_mw)s ‘ per vietare gli indirizzi IP e inviare una notifica all’amministratore via email. Assicurati anche di cambiare le opzioni ‘destmail’ e ‘sender’.

action = %(action_mw)s  
destemail = [email protected]  
sender = [email protected]

Cambia l’azione di divieto predefinita ‘ banaction ‘ in ‘ ufw ‘. Con questo, gli indirizzi IP saranno vietati da fail2ban tramite UFW.

banaction = ufw

Ora cambia la prigione predefinita per ‘ sshd ‘ con la configurazione qui sotto. In questo esempio, la prigione ‘ sshd ‘ avrà impostazioni personalizzate per ‘ bantime ‘, ‘ maxretry ‘, e ‘ findtime ‘.

[sshd]  
enabled = true  
maxretry = 3  
findtime = 15m  
bantime = 3h  
  
port = ssh  
logpath = %(sshd_log)s  
backend = %(sshd_backend)s

Salva ed esci dal file quando hai finito.

Infine, esegui il comando ‘systemctl’ qui sotto per riavviare il servizio ‘ fail2ban ‘ e applicare le tue modifiche.

sudo systemctl restart fail2ban

controlla fail2ban

Controllare le regole di fail2ban utilizzando fail2ban-client

A questo punto, il servizio Fail2ban è attivo e funzionante con la prigione ‘sshd’ abilitata. Ora imparerai il comando base di ‘fail2ban-client’ per controllare e gestire l’installazione di Fail2ban.

Per assicurarti che fail2ban sia in esecuzione, esegui il comando ‘ fail2ban-client ‘ qui sotto.

sudo fail2ban-client ping

Se fail2ban è in esecuzione, vedrai un output ‘ PONG ‘.

Ora controlla lo stato della prigione ‘ sshd ‘ con il seguente comando. Questo ti mostrerà l’elenco degli indirizzi IP rilevati e vietati per la prigione ‘ sshd ‘.

sudo fail2ban-client status sshd

stato prigione sshd

Successivamente, esegui il comando ‘ fail2ban-client get ‘ qui sotto per controllare le regole specifiche della tua prigione fail2ban. In questa sezione, controllerai ‘ bantime ‘, ‘ maxretry ‘, ‘ actions ‘, ‘ findtime ‘, e ‘ ignoreip ‘ dalla prigione ‘ sshd ‘.

sudo fail2ban-client get sshd bantime  
sudo fail2ban-client get sshd maxretry  
sudo fail2ban-client get sshd actions  
sudo fail2ban-client get sshd findtime  
sudo fail2ban-client get sshd ignoreip

configurazione prigione

Come vietare e revocare il divieto agli indirizzi IP con fail2ban-client

È importante sapere come vietare o revocare il divieto agli indirizzi IP manualmente utilizzando ‘fail2ban-client’. Con questo, puoi facilmente rimuovere il tuo indirizzo IP dall’elenco vietato. Utilizzerai il comando ‘fail2ban-client’ per vietare e revocare il divieto agli indirizzi IP su Fail2ban.

Per vietare gli indirizzi IP manualmente tramite fail2ban, esegui il comando ‘ fail2ban-client ‘ qui sotto. In questo caso, l’indirizzo IP vietato va alla prigione ‘ sshd ‘.

sudo fail2ban-client set sshd banip IP-ADDRESS

Ora esegui il seguente comando per revocare il divieto all’indirizzo IP dalla prigione ‘ sshd ‘ di fail2ban.

Sudo fail2ban-client set sshd unbanip IP-ADDRESS

Infine, puoi controllare lo stato della prigione ‘ sshd ‘ utilizzando il comando qui sotto. Vedrai che l’indirizzo IP è stato rimosso.

sudo fail2ban-client status sshd

Conclusione

Congratulazioni! Hai completato l’installazione di fail2ban sul server Ubuntu 24.04. Hai anche imparato la configurazione di base per configurare Fail2ban, inclusa l’impostazione della configurazione globale e della prigione. Infine, hai anche imparato l’uso di base del comando ‘fail2ban-client’ per controllare lo stato di fail2ban, lo stato della prigione, le configurazioni della prigione e vietare e revocare il divieto agli indirizzi IP manualmente.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.