Ricerca nel sito web

Come installare Fail2ban per la sicurezza SSH su Ubuntu 24.04


Fail2ban è un potente strumento di sicurezza basato su Python che aiuta a proteggere i sistemi Linux dagli attacchi di forza bruta bloccando gli indirizzi IP che tentano di accedere con credenziali errate.

Monitora i file di registro per tentativi di accesso non riusciti e altre attività sospette. Quando rileva tali attività, vieta gli indirizzi IP offensivi modificando le regole del firewall.

Questo articolo esplorerà come installare e utilizzare Fail2ban su Ubuntu 24.04 per proteggere il tuo sistema da questi attacchi.

Installazione di Fail2ban su Ubuntu 24.04

Per installare Fail2ban su Ubuntu 24.04, devi aggiornare l'elenco dei pacchetti di sistema eseguendo il seguente comando apt.

sudo apt update

Successivamente, installa Fail2ban utilizzando il seguente comando.

sudo apt install fail2ban

Dopo l'installazione, verifica che Fail2ban sia installato correttamente controllandone la versione.

fail2ban-client --version

Fail2Ban v1.0.2

Configurazione di Fail2ban su Ubuntu 24.04

La directory /etc/fail2ban è la posizione principale per i file e i log di configurazione Fail2Ban. Questa directory contiene diverse sottodirectory e file essenziali per la funzionalità di Fail2Ban.

Ecco una ripartizione dei componenti chiave:

  • action.d: questa directory contiene gli script di azione che Fail2Ban utilizza per vietare gli indirizzi IP. Questi script sono specifici del firewall o del servizio utilizzato (ad esempio, iptables, ufw, nftables).
  • filter.d: questa directory contiene i file di configurazione del filtro che definiscono il modo in cui Fail2Ban identifica e vieta gli indirizzi IP. Questi filtri sono specifici per il servizio da monitorare (ad esempio, SSH, HTTP, FTP).
  • jail.d: questa directory contiene i file di configurazione del jail che definiscono i servizi specifici monitorati da Fail2Ban e le regole per bannare gli indirizzi IP.
  • percorsi-arch.conf, percorsi-common.conf, percorsi-debian.conf, percorsi-opensuse.conf: Questi file contengono percorsi specifici per diverse distribuzioni Linux.
  • fail2ban.conf: questo è il file di configurazione principale per Fail2Ban, che contiene impostazioni e opzioni globali.
  • jail.conf: questo file contiene le configurazioni jail predefinite per vari servizi.
  • jail.local: questo file viene utilizzato per sovrascrivere le configurazioni jail predefinite. Si consiglia di creare un file jail.local per facilitare gli aggiornamenti e apportare personalizzazioni.
  • fail2ban.log: questo è il file di registro principale di Fail2Ban, dove registra le sue azioni ed eventi.

Fail2ban viene fornito con file di configurazione predefiniti che puoi personalizzare in base alle tue esigenze. Il file di configurazione principale si trova in /etc/fail2ban/jail.conf.

Tuttavia, si consiglia di creare una copia locale (/etc/fail2ban/jail.local) per evitare che le modifiche vengano sovrascritte durante gli aggiornamenti.

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

Apri il file di configurazione locale in un editor di testo nano.

sudo nano /etc/fail2ban/jail.local

Nel file di configurazione, individua la sezione [ssh] e decommenta le righe e modifica i valori per regolare il comportamento di Fail2ban come mostrato.

  • maxretry: definisce il numero massimo di tentativi di accesso falliti prima che un indirizzo IP venga bannato.
  • findtime: imposta l'intervallo di tempo entro il quale devono verificarsi i tentativi di maxretry per attivare un ban.
  • bantime: definisce la durata per la quale un indirizzo IP viene bannato dopo aver superato il numero massimo di tentativi.

Configurazione di esempio (modificare secondo necessità):

[ssh]
enabled = true
maxretry = 3
findtime = 10
bantime = 4h

In questo esempio, il jail è abilitato, il numero massimo di tentativi è impostato su 3 in una finestra di 10 secondi e gli IP vietati sono bloccati per 4 ore.

Dopo aver apportato le modifiche desiderate, salva il file e riavvia il servizio Fail2ban affinché la nuova configurazione abbia effetto.

sudo systemctl restart fail2ban
sudo systemctl enable fail2ban
sudo systemctl status fail2ban

Testare Fail2ban su Ubuntu 24.04

Per testare Fail2ban, puoi simulare un attacco di forza bruta sul tuo sistema, che implica l'attivazione intenzionale delle condizioni monitorate da Fail2ban, come più tentativi di accesso non riusciti.

Per prima cosa accedi a un'altra macchina Linux, esegui il comando seguente per simulare tentativi di accesso falliti, assicurati di sostituire 192.168.122.100 con l'indirizzo IP del tuo server.

for i in {1..6}; do ssh [email ; done

Dopo aver effettuato i tentativi di accesso falliti, controlla i registri Fail2ban per vedere se l'indirizzo IP è stato bannato.

sudo tail -f /var/log/fail2ban.log

Per verificare lo stato del jail SSH e verificare se l'indirizzo IP è stato bannato.

sudo fail2ban-client status sshd

Se è necessario sbloccare l'indirizzo IP, utilizzare il comando seguente.

sudo fail2ban-client set sshd unbanip 192.168.122.1
Conclusione

Fail2ban è un potente strumento per proteggere il tuo server Ubuntu 24.04 dagli attacchi di forza bruta. Seguendo i passaggi delineati in questa guida, puoi installare, configurare e utilizzare Fail2ban per ridurre significativamente il rischio di accesso non autorizzato al tuo server, garantendo un ambiente più sicuro per i tuoi dati e le tue applicazioni.

Articoli correlati: