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.