Lo sapevi?

Il nostro datacenter è stato progettato per sfruttare tutte le possibili soluzioni per ridurre al minimo il suo impatto sull’ambiente, senza compromettere i massimi standard garantiti di affidabilità e prestazioni!

Come configurare Fail2Ban su AlmaLinux (con Firewalld)

Estimated reading: 4 minutes 33 views

Fail2Ban è un servizio che analizza i log del sistema e blocca automaticamente, per un periodo di tempo definito, gli indirizzi IP che generano troppi tentativi di accesso falliti — tipicamente su SSH, ma anche su altri servizi esposti.

Su AlmaLinux, Firewalld viene utilizzato per la gestione delle regole del firewall. Fail2Ban può integrarsi con Firewalld per applicare automaticamente i ban agli indirizzi IP che generano un numero eccessivo di tentativi di accesso falliti.

In questa guida vedrai come:

  • installare Fail2Ban e il pacchetto che lo collega a Firewalld;
  • configurare una jail per proteggere il servizio SSH;
  • verificare che gli indirizzi IP vengano effettivamente bloccati da Firewalld;
  • riconoscere ed evitare gli errori di configurazione più comuni su AlmaLinux.

Al termine della guida, il tuo server avrà una protezione attiva contro i tentativi di accesso ripetuti, gestita tramite le regole di Firewalld.

Prerequisiti

Installazione di Fail2Ban

Su AlmaLinux 9, Fail2Ban viene installato dal repository EPEL (Extra Packages for Enterprise Linux). Abilita quindi EPEL e installa Fail2Ban insieme al pacchetto di integrazione con Firewalld:

				
					sudo dnf install epel-release -y
sudo dnf install fail2ban fail2ban-firewalld -y
				
			

Il pacchetto fail2ban-firewalld fornisce le componenti necessarie per integrare Fail2Ban con Firewalld e applicare i ban attraverso il firewall.

Verifica infine che Firewalld sia attivo, dato che Fail2Ban si appoggia ad esso per applicare i blocchi:

				
					sudo systemctl status firewalld
				
			

Se il servizio non risulta active (running), avvialo e abilitalo all’avvio con sudo systemctl enable --now firewalld. Se hai già seguito la guida di configurazione di Firewalld su AlmaLinux, questo passaggio dovrebbe risultare già soddisfatto.

Configurazione della jail SSH

È preferibile non modificare direttamente i file .conf forniti dal pacchetto, perché le modifiche potrebbero essere sovrascritte durante gli aggiornamenti. Le personalizzazioni vanno inserite in un file .local.

Crea quindi /etc/fail2ban/jail.local:

				
					sudo nano /etc/fail2ban/jail.local
				
			

e inserisci una configurazione di base per la jail SSH:

				
					[DEFAULT]
bantime  = 1h
findtime = 10m
maxretry = 5
ignoreip = 127.0.0.1/8 ::1 IL.TUO.IP.STATICO

[sshd]
enabled = true
port    = ssh
				
			

Significato dei parametri principali:

Parametro Descrizione
bantime
Durata del ban (esempio: 1h = un'ora)
findtime
Finestra temporale in cui vengono contati i tentativi falliti
maxretry
Numero massimo di tentativi falliti consentiti durante findtime prima che l'IP venga bannato.
ignoreip
Elenco di IP o reti che Fail2Ban non banna mai (whitelist)

Sostituisci IL.TUO.IP.STATICO con il tuo indirizzo IP pubblico. Se il tuo indirizzo IP cambia frequentemente, non inserirlo nella whitelist.

Mentre, se usi una porta SSH personalizzata (diversa da 22), indicala esplicitamente nella jail: port = 2222 al posto di port = ssh.

Attivazione del servizio

Con la configurazione già scritta in jail.local, avvia e abilita Fail2Ban all’avvio del sistema:

				
					sudo systemctl enable --now fail2ban
sudo systemctl status fail2ban
				
			

Lo stato deve risultare active (running). Se il servizio non parte, o se in seguito modifichi di nuovo jail.local e vuoi applicare le modifiche, usa sudo systemctl restart fail2ban e controlla il log dedicato in caso di errori:

				
					sudo tail -n 50 /var/log/fail2ban.log
				
			

Verifica della jail SSH

Controlla che la jail sia attiva

				
					sudo fail2ban-client status
				
			

Dovresti vedere sshd nell’elenco delle jail attive. Per i dettagli della singola jail:

				
					sudo fail2ban-client status sshd
				
			

L’output mostra il numero di tentativi falliti registrati e gli eventuali IP attualmente bannati.

Prima di effettuare un test del ban, verifica che la configurazione di Fail2Ban sia valida:

				
					sudo fail2ban-client -t
				
			

Se la configurazione è corretta, il comando termina senza segnalare errori.

Test del ban

Per verificare che Fail2Ban sia in grado di applicare un ban alla jail SSH, puoi effettuare un test manuale utilizzando un indirizzo IP riservato alla documentazione.

				
					sudo fail2ban-client set sshd banip 203.0.113.10
				
			

Controlla quindi lo stato della jail:

				
					sudo fail2ban-client status sshd
				
			

Il comando restituisce il risultato dell’operazione. Verifica quindi che 203.0.113.10 compaia tra gli IP bannati nella sezione Banned IP list dell’output della jail.

Al termine del test, rimuovi il ban:

				
					sudo fail2ban-client set sshd unbanip 203.0.113.10
				
			

Leave a Comment

Share this Doc

Come configurare Fail2Ban su AlmaLinux (con Firewalld)

Or copy link

CONTENTS