Come installare Fail2ban su Rocky Linux e AlmaLinux

Scritto in Pitone, Fail2ban è un software gratuito e open-source Sistema anti-intrusione (IPS) che protegge il server dagli attacchi di forza bruta.

Dopo un determinato numero di tentativi di password errata, all'indirizzo IP del client viene vietato l'accesso al sistema per un periodo specificato o fino a quando l'amministratore di sistema non lo sblocca. In questo modo, il sistema è protetto da ripetuti attacchi di forza bruta da un singolo host.

[ Potrebbe piacerti anche: Come proteggere e rafforzare il server OpenSSH ]

Fail2ban è altamente configurabile e può essere impostato per proteggere una miriade di servizi come SSH, vsftpd, Apache, e Webmin.

In questa guida, ci concentriamo su come è possibile installare e configurare Fail2ban Su Rocky Linux e AlmaLinux.

Passaggio 1: assicurarsi che Firewalld sia in esecuzione

Per impostazione predefinita, Rocky Viene con Firewalld in esecuzione. Tuttavia, se questo non è il caso del tuo sistema, avvia Firewalld eseguendo:

$ sudo systemctl start firewalld. 

Quindi abilitalo per l'avvio all'avvio:

$ sudo systemctl abilita firewalld. 

Quindi verifica lo stato di Firewalld

$ sudo systemctl status firewalld. 
Controlla lo stato del firewall
Controlla lo stato del firewall

Inoltre, puoi confermare tutte le Firewalld regole attualmente applicate utilizzando il comando:

$ sudo firewall-cmd --list-all. 
Elenco regole firewall
Elenco regole firewall

Passaggio 2: installa EPEL in Rocky Linux

Come requisito per l'installazione di fail2ban e altri pacchetti necessari, è necessario installare il EPEL repository che fornisce pacchetti aggiuntivi di alta qualità per Distribuzioni basate su RHEL.

$ sudo dnf install epel-release. 
Installa EPEL in Rocky Linux
Installa EPEL in Rocky Linux

Passaggio 3: installa Fail2ban in Rocky Linux

Insieme a EPEL installato, procedere e installare fail2ban e il fail2ban-firewalld pacchetto.

$ sudo dnf install fail2ban fail2ban-firewalld. 

Questo installa il server fail2ban e il componente firewalld insieme ad altre dipendenze.

Installa Fail2ban in Rocky Linux
Installa Fail2ban in Rocky Linux

Con l'installazione di fail2ban completata, avvia il servizio fail2ban.

$ sudo systemctl start fail2ban. 

E abilitalo per l'avvio all'avvio.

$ sudo systemctl abilita fail2ban. 

Puoi verificare lo stato del servizio fail2ban eseguendo il comando:

$ sudo systemctl status fail2ban. 

L'output è una conferma che Fail2ban è in esecuzione come ci aspetteremmo.

Controlla lo stato di Fail2ban
Controlla lo stato di Fail2ban

Passaggio 4: configurazione di Fail2ban in Rocky Linux

Andando avanti, dobbiamo configurare fail2ban affinché funzioni come previsto. Idealmente, dovremmo modificare il file di configurazione principale - /etc/fail2ban/jail.conf. Tuttavia, questo è scoraggiato. Come soluzione, copierà il contenuto del file di configurazione jail.conf in jail.local file.

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

Ora apri il jail.local file utilizzando il tuo editor preferito.

$ sudo vim /etc/fail2ban/jail.local. 

Sotto il [PREDEFINITO] sezione, assicurati di avere le seguenti impostazioni così come appaiono.

bantime = 1h. tempo di ricerca = 1 ora. massimo tentativo = 5. 

Definiamo gli attributi:

  • Il bantime La direttiva specifica il periodo di tempo durante il quale un client verrà escluso a seguito di tentativi di autenticazione falliti.
  • Il trova il tempo direttiva è la durata o il periodo entro il quale fail2ban prenderà in considerazione quando si considerano ripetuti tentativi di password errata.
  • Il maxretry Il parametro è il numero massimo di tentativi di password errata prima che al client remoto venga bloccato l'accesso al server. Qui, il client verrà bloccato dopo 5 errori di autenticazione.

Per impostazione predefinita, fail2ban funziona con iptables. Tuttavia, questo è stato deprecato a favore del firewalld. Abbiamo bisogno di configurare fail2ban per lavorare insieme a firewalld invece di iptables.

Quindi, esegui con il comando:

$ sudo mv /etc/fail2ban/jail.d/00-firewalld.conf /etc/fail2ban/jail.d/00-firewalld.local. 

Per applicare le modifiche, riavvia fail2ban:

$ sudo systemctl riavvia fail2ban. 

Passaggio 5: protezione del servizio SSH con Fail2ban

Per impostazione predefinita, fail2ban non blocca alcun host remoto finché non abiliti la configurazione del jail per un servizio che desideri proteggere. La configurazione della jail è specificata nel file /etc/fail2ban/jail.d percorso e sovrascriverà la configurazione specificata nel file jail.local.

In questo esempio, creeremo un file di configurazione della jail per proteggere il servizio SSH. Pertanto, crea il file jail SSH.

$ sudo vim /etc/fail2ban/jail.d/sshd.local. 

Successivamente, incolla le seguenti righe:

[sshd] abilitato = true # Sovrascrive la configurazione globale predefinita. # per jail specifico sshd. bantime = 1d. massimo tentativo = 3.

Nella configurazione sopra, a un host remoto verrà vietato l'accesso al sistema per 1 giorno dopo 3 tentativi di accesso SSH falliti. Salva le modifiche e riavvia il servizio fail2ban.

$ sudo systemctl riavvia fail2ban. 

Quindi, verifica lo stato di configurazione della jail utilizzando il pulsante fail2ban-client utilità della riga di comando.

$ sudo fail2ban-stato del client. 

Dall'output, possiamo vedere che abbiamo 1 jail configurato per un servizio chiamato 'sshd’.

Controlla lo stato della prigione di Fail2ban
Controlla lo stato della prigione di Fail2ban

Inoltre, puoi confermare il maxretry valore della jail sshd utilizzando l'opzione get.

$ sudo fail2ban-client get sshd maxretry 3. 

Il valore stampato 3 dovrebbe corrispondere a quanto specificato in sshd.local file.

Passaggio 6: test della configurazione Fail2ban

Dopo aver impostato fail2ban e aver creato un file di configurazione della jail per il servizio SSH, procederemo eseguire un test e simulare 3 accessi non riusciti specificando una password errata per ciascuna password richiesta.

Quindi vai su un sistema Linux remoto e prova ad accedere usando la password sbagliata. Dopo 3 tentativi falliti, la connessione verrà interrotta e qualsiasi successivo tentativo di riconnessione verrà bloccato fino allo scadere della durata del divieto.

Test di Fail2ban in Linux
Test di Fail2ban in Linux

Per raccogliere approfondimenti sui sistemi client bloccati controlla lo stato del jail.

$ sudo fail2ban-client status sshd. 
Controlla lo stato del blocco Fail2ban
Controlla lo stato del blocco Fail2ban

Per sbloccare o rimuovere il client dalla jail, eseguire il comando:

$ sudo fail2ban-client unban 192.168.2.102. 

Ancora una volta, controlla lo stato del jail per assicurarti che il client non sia incluso nell'elenco degli IP vietati.

$ sudo fail2ban-client status sshd. 
Controlla l'elenco dei blocchi Fail2ban
Controlla l'elenco dei blocchi Fail2ban

Come abbiamo visto, Fail2ban è uno strumento molto utile per allontanare gli intrusi che cercano di violare il tuo sistema Linux. Funziona insieme a Firewalld per escludere i sistemi client per una durata specificata dopo un numero specifico di tentativi di accesso non riusciti. In tal modo, fornisce un ulteriore livello di protezione per il tuo server Linux.

Teachs.ru