Ricerca nel sito web

Come installare Fail2Ban per proteggere SSH su CentOS/RHEL 8


Fail2ban è uno strumento di prevenzione delle intrusioni gratuito, open source e ampiamente utilizzato che scansiona i file di registro alla ricerca di indirizzi IP che mostrano segni dannosi come troppi errori di password e molto altro, e li vieta (aggiorna il firewall regole per rifiutare gli indirizzi IP). Per impostazione predefinita, viene fornito con filtri per vari servizi tra cui sshd.

Leggi anche: Configurazione iniziale del server con CentOS/RHEL 8

In questo articolo spiegheremo come installare e configurare fail2ban per proteggere SSH e migliorare la sicurezza del server SSH dagli attacchi di forza bruta su CentOS/RHEL 8.

Installazione di Fail2ban su CentOS/RHEL 8

Il pacchetto fail2ban non è nei repository ufficiali ma è disponibile nel repository EPEL. Dopo aver effettuato l'accesso al tuo sistema, accedi a un'interfaccia della riga di comando, quindi abilita il repository EPEL sul tuo sistema come mostrato.

dnf install epel-release
OR
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Successivamente, installa il pacchetto Fail2ban eseguendo il seguente comando.

dnf install fail2ban

Configurazione di Fail2ban per proteggere SSH

I file di configurazione fail2ban si trovano nella directory /etc/fail2ban/ e i filtri sono archiviati in /etc/fail2ban/filter.d/ directory (il file del filtro per sshd è /etc/fail2ban/filter.d/sshd.conf).

Il file di configurazione globale per il server fail2ban è /etc/fail2ban/jail.conf, tuttavia, non è consigliabile modificare direttamente questo file, poiché probabilmente verrà sovrascritto o migliorato in caso di un pacchetto aggiornamento in futuro.

In alternativa, si consiglia di creare e aggiungere le proprie configurazioni in un file jail.local o in file .conf separati in /etc/fail2ban/jail. d/ directory. Tieni presente che i parametri di configurazione impostati in jail.local sovrascriveranno qualunque cosa sia definita in jail.conf.

Per questo articolo, creeremo un file separato chiamato jail.local nella directory /etc/fail2ban/ come mostrato.

vi /etc/fail2ban/jail.local

Una volta aperto il file, copia e incolla al suo interno la seguente configurazione. La sezione [DEFAULT] contiene opzioni globali e [sshd] contiene parametri per la jail sshd.


[DEFAULT] 
ignoreip = 192.168.56.2/24
bantime  = 21600
findtime  = 300
maxretry = 3
banaction = iptables-multiport
backend = systemd

[sshd] 
enabled = true

Spieghiamo brevemente le opzioni nella configurazione di cui sopra:

  • ignoreip: specifica l'elenco di indirizzi IP o nomi host da non bannare.
  • bantime: specifica il numero di secondi per i quali un host viene bannato (ovvero la durata effettiva del ban).
  • maxretry: specifica il numero di errori prima che un host venga bannato.
  • findtime: fail2ban bannerà un host se ha generato "maxretry" durante gli ultimi secondi "findtime".
  • banaction: vietare l'azione.
  • backend: specifica il backend utilizzato per ottenere la modifica del file di registro.

La configurazione di cui sopra, quindi, significa che se un IP ha fallito 3 volte negli ultimi 5 minuti, bannarlo per 6 ore e ignorare il Indirizzo IP 192.168.56.2.

Successivamente, avvia e abilita per ora il servizio fail2ban e controlla se è attivo e funzionante utilizzando il seguente comando systemctl.

systemctl start fail2ban
systemctl enable fail2ban
systemctl status fail2ban

Monitoraggio degli indirizzi IP non riusciti ed esclusi utilizzando fail2ban-client

Dopo aver configurato fail2ban per proteggere sshd, puoi monitorare gli indirizzi IP non riusciti e vietati utilizzando il fail2ban-client. Per visualizzare lo stato corrente del server fail2ban, eseguire il comando seguente.

fail2ban-client status

Per monitorare il jail sshd, esegui.

fail2ban-client status sshd

Per sbloccare un indirizzo IP in fail2ban (in tutte le jail e database), esegui il seguente comando.

fail2ban-client unban 192.168.56.1

Per ulteriori informazioni su fail2ban, leggere le seguenti pagine man.

man jail.conf
man fail2ban-client

Questo riassume questa guida! Se hai domande o pensieri che desideri condividere su questo argomento, non esitare a contattarci tramite il modulo di feedback riportato di seguito.