Ricerca nel sito web

Come installare Fail2ban sul server Ubuntu 24.04


In questa pagina

  1. Prerequisiti
  2. Installazione di Fail2ban e UFW (firewall semplice)
  3. Configurazione di Fail2ban
  4. Controllo delle regole fail2ban utilizzando fail2ban-client
  5. Come bannare e sbloccare un indirizzo IP con fail2ban-client
  6. Conclusione

Fail2ban è un IPS (Intrusion Prevention Software) gratuito e open source che aiuta gli amministratori a proteggere i server Linux da accessi dannosi 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 dannosi bloccando gli indirizzi IP degli attacchi all'origine.

Fail2ban funziona eseguendo la scansione dei file di registro dei servizi (e.f /var/log/auth.log) e vietando gli indirizzi IP che mostrano tentativi di accesso dannosi come troppe password errate, ricerca di exploit, ecc. Fail2ban supporta anche più backend firewall come iptables, ufw e firewalld. Consente inoltre di impostare una notifica e-mail per ogni tentativo di accesso bloccato.

In questa guida imparerai come installare Fail2ba sul server Ubuntu 24.04. Configurerai la jail Fail2ban, imparerai il comando di base "fail2ban-client" e poi imparerai come vietare e sbloccare gli 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 (firewall semplice)

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

Innanzitutto, esegui il comando seguente per aggiornare l'indice del tuo pacchetto Ubuntu.

sudo apt update

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

sudo apt install fail2ban ufw

Al termine dell'installazione, esegui il comando seguente per aprire la porta per SSH e abilitare UFW. Immettere "Y" per confermare, avviare e abilitare UFW.

sudo ufw allow OpenSSH
sudo ufw enable

Una volta abilitato UFW, vedrai l'output "Il firewall è attivo e abilitato all'avvio del sistema".

Successivamente, esegui il comando seguente per verificare lo stato UFW. Vedrai che UFW è "attivo" con "OpenSSH" abilitato.

sudo ufw status

Infine, esegui il comando "systemctl" di seguito per avviare, abilitare e verificare il servizio "fail2ban".

sudo systemctl enable --now fail2ban
sudo systemctl status fail2ban

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

Configurazione di Fail2ban

Dopo aver installato fail2ban, è necessario configurarlo prima che Fail2ban esegua 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', imposta l'azione predefinita e il backend del firewall UFW, quindi abilita la jail '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 quanto segue:

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 sottorete all'interno di questa opzione non verrà bloccata da fail2ban.

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

Modifica la configurazione predefinita per 'bantime' (il tempo in cui l'indirizzo IP verrà bannato), 'findtime' (la durata tra il numero di errori prima dell'azione di ban), e "maxretry" (il numero di errori di esclusione degli indirizzi IP). In questo esempio, imposterai "bantime" su "1 ora", "findtime" su "10 minuti", con il valore "maxretry" fino a "5 volte".

bantime = 1h
findtime = 10m
maxretry = 5

Facoltativamente, modifica l'"azione" predefinita in "%(action_mw)s" per vietare gli indirizzi IP e inviare una notifica all'amministratore via email. Inoltre, assicurati di modificare le opzioni "destmail" e "mittente".

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

Cambia il valore predefinito "banaction" in "ufw". Con questo, gli indirizzi IP verranno bannati da fail2ban tramite UFW.

banaction = ufw

Ora modifica il jail predefinito per "sshd" con la configurazione seguente. In questo esempio, la jail '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

Salvare ed uscire dal file una volta terminato.

Infine, esegui il comando 'systemctl' di seguito per riavviare il servizio 'fail2ban' e applicare le modifiche.

sudo systemctl restart fail2ban

Controllo delle regole fail2ban utilizzando fail2ban-client

A questo punto, il servizio Fail2ban è attivo e funzionante con il jail 'sshd' abilitato. Ora imparerai il comando di base di 'fail2ban-client' per controllare e gestire l'installazione di Fail2ban.

Per assicurarti che fail2ban sia in esecuzione, esegui il comando 'fail2ban-client' di seguito.

sudo fail2ban-client ping

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

Ora controlla lo stato della jail 'sshd' con il seguente comando. Questo ti mostrerà l'elenco degli indirizzi IP rilevati e bannati per la jail 'sshd'.

sudo fail2ban-client status sshd

Successivamente, esegui il comando 'fail2ban-client get' di seguito per verificare le regole specifiche della tua jail fail2ban. In questa sezione controllerai 'bantime', 'maxretry', 'actions', 'findtime ' e 'ignoreip' dal jail '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

Come escludere e sbloccare un indirizzo IP con fail2ban-client

È importante sapere come vietare o sbloccare manualmente gli indirizzi IP utilizzando "fail2ban-client". Con questo, puoi facilmente rimuovere il tuo indirizzo IP dall'elenco dei vietati. Utilizzerai il comando 'fail2ban-client' per vietare e sbloccare gli indirizzi IP su Fail2ban.

Per vietare manualmente gli indirizzi IP tramite fail2ban, esegui il comando 'fail2ban-client' di seguito. In questo caso, l'indirizzo IP bannato va nel jail 'sshd'.

sudo fail2ban-client set sshd banip IP-ADDRESS

Ora esegui il seguente comando per sbloccare l'indirizzo IP dalla jail fail2ban 'sshd'.

Sudo fail2ban-client set sshd unbanip IP-ADDRESS

Infine, puoi controllare lo stato del jail 'sshd' utilizzando il comando seguente. 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 del jail. Infine, hai anche imparato l'utilizzo di base del comando 'fail2ban-client' per verificare lo stato fail2ban, lo stato della jail, le configurazioni della jail e vietare e sbloccare manualmente gli indirizzi IP.

Articoli correlati: