GNU/Linux >> Linux Esercitazione >  >> Ubuntu

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 . Esegue la scansione dei file di registro e vieta gli indirizzi IP che conducono tentativi di accesso 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 ed è possibile utilizzarlo con altri firewall. Supporto Fail2ban sia per IPv4 che per IPv6.

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

In questo tutorial, ti illustrerò 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à incluso nella maggior parte delle distribuzioni Linux. Per installare fail2ban utilizzando il gestore di pacchetti APT, eseguire:

$ sudo apt install fail2ban

Una volta installato, verifica se è in esecuzione tramite:

$ sudo systemctl status fail2ban

Dall'output, possiamo vedere che il servizio fail2ban è attivo e in esecuzione come previsto.

Per controllare il processo fail2ban in esecuzione, digita:

$ sudo ps -efww | egrep fail2ban

Uscita:

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

Grande. Diamo una panoramica dei file di configurazione associati a Fail2ban e di come modificare le impostazioni per inserire indirizzi IP in blacklist o whitelist.

Panoramica dei file di configurazione

I file di configurazione di Fail2ban si trovano in /etc/fail2ban directory come mostrato.

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

Qualunque cosa tu faccia, non è consigliabile modificare questi file poiché c'è un'alta probabilità che vengano sovrascritti quando il pacchetto fail2ban viene aggiornato.

Come soluzione alternativa, il modo consigliato per configurare Fail2ban è creare una copia di jail.conf file in jail.local e successivamente definire le proprie impostazioni. Non è necessario includere tutte le impostazioni da jail.conf file, solo quelli che desideri sovrascrivere.

Quindi, creiamo prima il 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

Usando il ignoreip direttiva, è possibile escludere dall'esclusione gli indirizzi IP, l'intervallo di IP o un'intera sottorete. È qui che aggiungi gli indirizzi IP delle macchine remote che desideri inserire nella whitelist o consentire l'accesso in termini semplici. È possibile aggiungere più IP utilizzando lo spazio o le virgole.

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

Impostazioni di divieto

Le condizioni di ban sono definite dai seguenti parametri:

  1. Bantime
  2. trova il tempo
  3. riprova massima

Bantime - Questo è il periodo durante il quale a un indirizzo IP viene vietato o negato l'accesso dal tentativo di riconnettersi al server. Per impostazione predefinita, questo è impostato su 10 minuti, ma sentiti libero di impostarlo in base alle tue preferenze.

trovare il tempo - Questa è la durata tra i tentativi di accesso non riusciti prima che venga implementato un divieto. Questo è impostato su 10 minuti. Ciò significa che se stai tentando un accesso SSH e gli errori raggiungono il maxtry valore entro un periodo di 10 minuti, quindi l'IP da cui ti stai connettendo verrà bannato.

tentativo massimo - Rappresenta il numero massimo di tentativi di connessione non riusciti prima che un IP venga bannato. B predefinito, questo è impostato su 5 secondi che dovrebbe andare bene, ma preferirei 3 secondi per ridurre al minimo il bombardamento di tentativi di connessione.

Notifiche e-mail

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

action = %(action_mw)s

Il parametro %(action_mw)s bandisce l'indirizzo IP sospetto e invia un'e-mail all'amministratore con un rapporto whois dettagliato. Per includere i messaggi di log, imposta il parametro su %(action_mwl)s .

Ulteriori definire l'indirizzo email di invio così come il destinatario.

Fail2ban jail

Fail2ban modus operandi utilizza il concetto di jail. Cioè, se l'indirizzo IP offensivo tenta senza successo di accedere o accedere a un servizio, viene messo in una "prigione" e non può avviare una connessione fino al bantime trascorre.

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

La jail SSH è solitamente abilitata per impostazione predefinita per mettere al guinzaglio le connessioni SSH non autorizzate da indirizzi IP sospetti. Per abilitare una jail per un altro servizio, aggiungi semplicemente enabled =true attributo dopo l'intestazione jail. Puoi anche fornire le impostazioni di divieto come abbiamo visto in precedenza.

Fail2ban client

Fail2ban fornisce uno strumento da riga di comando per interagire con Fail2ban noto come fail2ban-client . Puoi eseguire una miriade di attività, tra cui il divieto e l'annullamento di indirizzi IP.

Per controllare lo stato di Fail2ban e vedere se ci sono IP vietati o filtri violati, esegui il comando:

$ sudo fail2ban-client status sshd

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

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

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

Uscita:

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 esegui il comando:

$ sudo fail2ban-client set sshd unbanip 192.168.2.102

Ora verifica di nuovo lo stato di Fail2ban e questa volta l'IP bannato non si registra più.

Per vietare un indirizzo IP, digita:

$ sudo fail2ban-client set sshd banip 192.168.2.102

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

$ fail2ban-client -h

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 automatizzati. Questo conclude questo tutorial su come installare e configurare Fail2ban su Ubuntu 20.04.


Ubuntu
  1. Installa e configura PHP OPcache su Ubuntu 20.04

  2. Come installare e configurare Fail2Ban su Ubuntu 20.04

  3. Come installare e configurare Fail2ban su Ubuntu 20.04

  4. Come installare e configurare Fail2ban su Ubuntu?

  5. Come installare e configurare Fail2ban su Ubuntu 20.04 LTS

Come installare e configurare Solr 6 su Ubuntu 16.04

Come installare e configurare GitLab su Ubuntu 16.04

Come installare e configurare Cacti su Ubuntu 20.04

Installa e configura Git su Ubuntu 16.04

Installa e configura il server VNC su Ubuntu 16.04

Installa e configura Fail2ban su Debian 11