LINUX

Installa e configura Fail2ban su Ubuntu 20.04

Fail2ban è un framework di sicurezza open source scritto in Python che protegge i server da attacchi di forza bruta. Esamina i file di registro e vieta gli indirizzi IP che effettuano tentativi di connessione non riusciti. Funziona aggiornando il firewall per rifiutare nuove connessioni da quegli indirizzi IP per un periodo di tempo configurabile.

Per impostazione predefinita, Fail2ban utilizza Iptables e può essere utilizzato con altri firewall. Supporto Fail2ban per IPv4 e IPv6.

Fail2ban è configurato per impostazione predefinita per monitorare Tentativi di connessione SSH e può monitorare altri file di registro come per Apache, vsftpd e Postfix ecc.

In questo tutorial, ti guiderò attraverso come installare e configurare fail2ban Su Ubuntu 20.04.

Installa Fail2ban su Ubuntu

Per iniziare, apri il tuo terminale e aggiorna gli elenchi dei pacchetti.

$ sudo apt update

Fail2Ban è già in bundle con la maggior parte delle distribuzioni Linux. Per installare fail2ban utilizzando il gestore pacchetti APT, eseguire:

$ sudo apt install fail2ban
Installa fail2ban
Installa FAil2ban

Una volta installato, controlla se è in esecuzione da:

$ sudo systemctl status fail2ban

Dall’output, possiamo vedere che il servizio fail2ban è attivo e funzionante come previsto.

Controlla lo stato di fail2ban

Per verificare che il processo fail2ban sia in esecuzione, digitare:

$ sudo ps -efww | egrep fail2ban

Produzione:

root     1310843       1  0 11:17 ?        00:00:02 /usr/bin/python3 /usr/bin/fail2ban-server -xf start

È fantastico. Diamo una panoramica dei file di configurazione associati a Fail2ban e come regolare le impostazioni per gli indirizzi IP di blacklist o whitelisting.

Panoramica dei file di configurazione

I file di configurazione di Fail2ban sono nel file /etc/fail2ban directory come mostrato.

File di configurazione di Fail2ban
File di configurazione di Fail2ban

I principali file di configurazione sono /etc/fail2ban/jail.conf e /etc/fail2ban/jail.d/defaults-debian.conf.

Qualunque cosa tu faccia, non è consigliabile modificare questi file poiché c’è una buona possibilità che vengano sovrascritti quando il pacchetto fail2ban viene aggiornato.

Come soluzione alternativa, il modo consigliato per configurare Fail2ban è creare una copia del file jail.conf file a jail.local e quindi definire le proprie impostazioni. Non è necessario includere tutte le impostazioni nel file jail.conf file, solo quelli che vuoi sostituire.

Quindi creiamo prima jail.local file di configurazione come segue.

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

Ora, usando il tuo editor di testo preferito, apri il file. Qui, sto usando l’editor vim.

$ sudo vim /etc/fail2ban/jail.local

Indirizzi IP nella whitelist

uso ignoreip direttive, è possibile escludere gli indirizzi IP, l’intervallo IP o un’intera sottorete dal divieto. Qui aggiungi gli indirizzi IP delle macchine remote che desideri inserire nella whitelist o consentire l’accesso in termini semplici. È possibile aggiungere più indirizzi IP utilizzando lo spazio o le virgole.

Ad esempio, per autorizzare gli indirizzi IP 192.168.2.50 , 192.168.2.100 aggiungere le voci come segue.

Impostazioni di divieto

Impostazioni di divieto

Le condizioni di divieto sono definite dai seguenti parametri:

  1. i soldi
  2. trovare il tempo
  3. maxretry

i soldi – Questa è la quantità di tempo in cui a un indirizzo IP viene negato o negato l’accesso quando si tenta di riconnettersi al server. Per impostazione predefinita, questo è impostato su 10 minuti, ma sentiti libero di impostarlo secondo le tue preferenze.

trovare il tempo – Questo è il periodo di tempo tra i tentativi di accesso falliti prima che venga implementato un divieto. Questo è impostato su 10 minuti. Ciò significa che se si tenta un accesso SSH e gli errori raggiungono il file maxtry valore entro 10 minuti, l’IP da cui ti stai connettendo verrà bannato.

maxretry – Questo è il numero massimo di tentativi di connessione falliti prima che un IP venga bannato. Per impostazione predefinita, questo è impostato su 5 secondi, il che dovrebbe andare bene, ma preferirei 3 secondi per ridurre al minimo il bombardamento di tentativi di connessione.

Notifiche di posta elettronica

Fail2ban ha la capacità di inviare avvisi e-mail una volta che un indirizzo IP è stato bannato. Per inviare e ricevere e-mail, è necessario che sia installato e configurato un server SMTP. Per utilizzare la funzione di notifica e-mail, aggiungi la riga sottostante

action = %(action_mw)s

parametro %(action_mw)s bandire l’indirizzo IP sospetto e inviare un’e-mail all’amministratore con un rapporto whois dettagliato. Per includere i messaggi di registro, impostare il parametro su %(action_mwl)s.

Definire inoltre l’indirizzo e-mail di invio e il destinatario.

Fail2ban carceri

Il modus operandi di Fail2ban utilizza il concetto di carcere. Cioè, se l’indirizzo IP offensivo tenta senza successo di autenticarsi o accedere a un servizio, viene posto in una “prigione” e non può avviare una connessione finché i soldi drenare.

Una prigione, in termini semplici, è un servizio con filtri e azioni. Fail2ban analizza le voci di registro e, una volta identificate le voci di registro corrispondenti e soddisfatte le condizioni, vengono implementate le azioni.

La prigione SSH è solitamente abilitata per impostazione predefinita per mettere al guinzaglio le connessioni SSH non autorizzate da indirizzi IP sospetti. Per attivare una jail per un altro servizio, aggiungi semplicemente abilitato = vero attributo per titolo carcerario. Puoi anche fornire impostazioni di divieto come abbiamo visto in precedenza.

Cliente Fail2ban

Fail2ban fornisce uno strumento a riga di comando per interagire con Fail2ban, noto come cliente fail2ban. Puoi eseguire una moltitudine di attività, tra cui vietare e cancellare gli indirizzi IP.

Per controllare lo stato Fail2ban e vedere se ci sono IP bannati o filtri violati, eseguire il comando:

$ sudo fail2ban-client status sshd

L’output seguente conferma la presenza di un indirizzo IP vietato o inserito nella lista nera dopo tentativi di connessione SSH falliti. L’indirizzo IP è attualmente in SSH jail.

Controlla lo stato del divieto
Controlla lo stato del divieto

Puoi anche filtrare il file fail2ban.log per elencare tutti gli indirizzi IP vietati:

$ sudo zgrep 'Ban' /var/log/fail2ban.log*

Produzione:

2021-04-29 11:17:55,081 fail2ban.actions        [1310843]: NOTICE  [sshd] Ban 117.221.69.37
2021-04-29 11:17:55,123 fail2ban.actions        [1310843]: NOTICE  [sshd] Ban 49.233.251.133
2021-04-29 11:17:55,131 fail2ban.actions        [1310843]: NOTICE  [sshd] Ban 106.52.93.202
2021-04-29 11:17:55,139 fail2ban.actions        [1310843]: NOTICE  [sshd] Ban 222.187.232.205
2021-04-29 11:17:55,147 fail2ban.actions        [1310843]: NOTICE  [sshd] Ban 222.187.239.107

Per sbloccare l’indirizzo IP nella lista nera, eseguire il comando:

$ sudo fail2ban-client set sshd unbanip 192.168.2.102

Ora controlla di nuovo lo stato Fail2ban e questa volta l’IP bannato non è più registrato.

Fail2ban sblocca l'IP
Fail2ban sblocca l’IP

Per vietare un indirizzo IP, digitare:

$ sudo fail2ban-client set sshd banip 192.168.2.102

Per ulteriori opzioni della riga di comando, eseguire il comando:

$ fail2ban-client -h
Opzioni del comando Fail2ban
Opzioni del comando Fail2ban

Conclusione

Tieni presente che Fail2ban non sostituisce i firewall e altre misure di sicurezza utilizzate per proteggere il tuo sistema. È semplicemente un ulteriore livello di sicurezza che offre al tuo server un ulteriore livello di protezione contro gli attacchi di forza bruta, in particolare da bot e script automatici. Questo conclude questo tutorial su come installare e configurare Fail2ban su Ubuntu 20.04.

Related Articles

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Back to top button
Close