Come installare Fail2ban su Ubuntu 20.04 con configurazione

Oggi vedremo come è possibile installare Fail2ban su Ubuntu 20.04 LTS Focal, che proteggerà i tuoi server da attacchi dannosi da bot e hacker dannosi. Coloro che non hanno familiarità con Fail2ban sono un framework software di prevenzione delle intrusioni che protegge i server dei computer principalmente da attacchi di forza bruta e dal divieto di agenti utente dannosi, dal divieto di scanner di URL e molto altro. Fail2ban ottiene ciò leggendo i log di accesso/errore del tuo server o delle tue applicazioni web. Fail2ban è codificato nel linguaggio di programmazione Python.

Nella guida verrà fornita una panoramica sull'installazione di Fail2ban su Ubuntu 20.04 e alcune impostazioni e suggerimenti di base. La guida è compatibile anche con Ubuntu 21.04.

Installa Fail2ban

I repository Ubuntu vengono forniti con Fail2ban. Avrai bisogno dei privilegi sudo per installarlo con i seguenti comandi.

sudo apt update && sudo apt upgrade -y

Successivamente, installa Fail2ban eseguendo il seguente comando:

sudo apt install fail2ban
fail2ban apt install sì

Tipologia "Y" installare.

Una volta terminata l'installazione di Fail2ban, è necessario verificare lo stato del servizio. Per impostazione predefinita, durante l'installazione di Fail2ban, dovrebbe essere abilitato e avviato automaticamente. Usa il seguente comando per vedere.

sudo systemctl status fail2ban
sistema fail2ban ok

Dovresti vedere lo stato ok in verde come nell'immagine sopra. Se, per qualche motivo, non viene avviato e abilitato per l'avvio al caricamento del sistema, utilizzare i seguenti comandi.

sudo systemctl start fail2ban && sudo systemctl enable fail2ban

Per interrompere e disabilitare Fail2ban in futuro, questo può essere fatto digitando il seguente comando:

sudo systemctl stop fail2ban && sudo systemctl disable fail2ban

pubblicità


Imposta i file di configurazione di Fail2ban

Dopo aver completato l'installazione, è necessario eseguire alcune operazioni di installazione e configurazione di base. Fail2ban viene fornito con due file di configurazione che si trovano in /etc/fail2ban/jail.conf e il default Fail2ban /etc/fail2ban/jail.d/defaults-debian.conf. Non modificare questi file. I file di configurazione originali sono i tuoi originali e verranno sostituiti in qualsiasi aggiornamento di Fail2ban in futuro.

Ora ti starai chiedendo come configuriamo Fail2ban come se aggiornassi e perderai le tue impostazioni. Semplice, creiamo copie che terminano con .Locale invece di .conf come Fail2ban leggerà sempre .Locale i file prima di caricarli .conf se non riesce a trovarne uno.

Per fare ciò, utilizzare i seguenti comandi.

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
fail2ban copia completata

Configura Fail2ban

Ora arrivi alla parte in cui puoi aprire jail.local e regolare le impostazioni utilizzando l'editor nano.

sudo nano /etc/fail2ban/jail.local

pubblicità


Incremento del tempo di divieto

Le prime impostazioni che incontrerai sono gli incrementi di tempo di divieto. Dovresti abilitarlo ogni volta che l'attaccante ritorna. Aumenterà il tempo di ban, salvando il tuo sistema dal ri-bannare costantemente lo stesso IP se la durata del tuo ban è piccola; ad esempio, 1 ora, vorresti che fosse più lungo se l'attaccante ritorna x5 volte.

È inoltre necessario impostare un moltiplicatore o un fattore affinché la logica di aumento del divieto funzioni. Puoi scegliere uno di questi; tuttavia, nella nostra guida, preferiamo i moltiplicatori, come evidenziato nel nostro esempio qui sotto, poiché puoi impostare aumenti del tempo di ban personalizzati a tuo piacimento. Un'ulteriore spiegazione è nel set-up sulla matematica dietro di esso.

moltiplicatori fail2ban

Whitelist IP in Fail2ban

Successivamente nell'elenco, ci imbattiamo nelle opzioni di whitelist, decommentiamo quanto segue e indirizziamo tutti gli indirizzi IP che desideri vengano inseriti nella whitelist.

ignoreip = 127.0.0.1/8 ::1 180.53.31.33 (example IP address)

Assicurati di inserire uno spazio o una virgola tra gli indirizzi IP. Puoi anche autorizzare gli intervalli IP.

whitelist ip fail2ban

pubblicità


Impostazione dell'orario di divieto predefinito

Le impostazioni predefinite del tempo di ban sono 10 minuti con 10 minuti di ricerca su 5 tentativi. Una spiegazione di ciò è che la jail di Fail2ban con il filtraggio metterà al bando il tuo aggressore per 10 minuti dopo che avrà ritentato lo stesso attacco in 10 minuti (tempo di ricerca) x 5 volte (riprova). Puoi impostare alcune impostazioni di divieto predefinite qui.

Tuttavia, quando si arriva alle jail, si consiglia di impostare tempi di ban diversi poiché alcuni ban dovrebbero essere automaticamente più lunghi di altri, inclusi i tentativi che dovrebbero essere inferiori o superiori.

fail2ban tempo di ban predefinito

E-Mail configurata con Fail2ban

Puoi impostare un indirizzo e-mail per Fail2ban per inviare report. L'azione predefinita = %(action_mw)s che vieta l'IP offensivo e invia un'e-mail con un rapporto whois da esaminare. Tuttavia, nella tua cartella action.d, esistono altre opzioni di posta elettronica per segnalare non solo te stesso, ma anche inviare e-mail ai provider della lista nera e all'ISP dell'attaccante da segnalare.

L'esempio di installazione di seguito:

# Destination email address used solely for the interpolations in
# jail.{conf,local,d/*} configuration files.
destemail = admin@example.com

# Sender e-mail address used solely for some actions
sender = fail2ban@example.com
impostazioni e-mail fail2ban

pubblicità


Carceri Fail2ban

Successivamente, veniamo alle carceri. Puoi impostare jail predefinite con filtri e azioni create dalla comunità che coprono molte applicazioni server popolari. Puoi creare jail personalizzate o trovarne di esterne su vari contenuti e siti Web della comunità; tuttavia, imposteremo le jail predefinite del pacchetto Fail2ban.

Configurazione predefinita per tutte le jail come nell'immagine qui sotto. Nota come nulla è abilitato.

impostazioni della prigione

Quindi, abbiamo un server HTTP Apache 2 e, come per filtrare/escludere i bot dannosi, tutto ciò che devi fare è aggiungere enabled = true come nell'esempio seguente.

[apache-badbots]
# Ban hosts which agent identifies spammer robots crawling the web
# for email addresses. The mail outputs are buffered.
enabled = true
port     = http,https
logpath  = %(apache_access_log)s
bantime  = 48h
maxretry = 1

Nota come il numero massimo di tentativi è uguale a 1 e il tempo di ban è 48 ore. Questa è un'impostazione di lunghezza massima dei tentativi e dei ban individuali per questa jail che aumenterà automaticamente con il moltiplicatore di ban che abbiamo impostato in precedenza nella guida. Se uno dei filtri non è presente, puoi aggiungerlo come esempio.

[apache-noscript]
enabled = true
port     = http,https
logpath  = %(apache_error_log)s

Modificare sopra il seguente esempio di seguito:

[apache-noscript]
enabled = true
port     = http,https
logpath  = %(apache_error_log)s
bantime = 1d
maxretry = 3

Successivamente, ti piacerebbe avere azioni diverse da quelle specificate nella configurazione predefinita in /etc/fail2ban/jail.local, azioni aggiuntive che puoi trovare nella directory action.d. Diverse azioni da questa directory possono essere facilmente impostate seguendo le indicazioni all'interno di quelle linee di configurazione delle azioni nei file, ricordandosi di rinominarle prima in .jail su .conf e poi aggiungendo quanto segue alla configurazione della jail.

[apache-botsearch]
enabled = true
port     = http,https
logpath  = %(apache_error_log)s
banaction = action_mw
            cloudflare
bantime = 72h
maxretry = 1

Come puoi vedere, abbiamo aggiunto action_mw, quindi ban automaticamente come da nostra azione predefinita e ci invia un rapporto via email con whois, quindi l'azione seguente, se usi Cloudflare, bloccherà anche l'indirizzo IP sul servizio. Ricorda, Cloudflare deve essere configurato prima dell'uso. Leggi il file action.d cloudflare.conf.

Una volta che sei soddisfatto della tua configurazione, esegui il seguente comando per riavviare fail2ban e caricare le tue nuove jail.

sudo systemctl restart fail2ban

Ucantare Fail2ban-client

Ora che sei attivo e funzionante con Fail2ban, devi conoscere alcuni comandi di base per operare. Lo facciamo usando il comando fail2ban-client. Potrebbe essere necessario disporre dei privilegi sudo, a seconda della configurazione.

Escludere un indirizzo IP:

sudo fail2ban-client set apache-botsearch banip <ip address>

Riattiva un indirizzo IP:

sudo fail2ban-client set apache-botsearch unbanip <ip address>

Comando per visualizzare il menu di aiuto se hai bisogno di trovare impostazioni aggiuntive o ottenere aiuto su uno in particolare.

sudo fail2ban-client -h 

pubblicità


Monitoraggio dei log di Fail2ban

Un errore comune fatto da molti è quello di istituire carceri e andarsene senza testare o monitorare ciò che stanno facendo. La revisione dei log è essenziale, che il log fail2ban si trova nel suo percorso predefinito /var/log/fail2ban.log.

Se hai un server che riceve traffico decente, un comando eccellente per guardare dal vivo per vedere immediatamente se ci sono problemi e tenerlo d'occhio mentre lavori in altri server è usare il comando tail -f come di seguito.

sudo tail -f /var/log/fail2ban.log

Il comando può tornare utile per il controllo a campione senza dover immergersi nella registrazione.

Commenti e Conclusione

La guida creata ti ha mostrato le basi per installare Fail2ban sul sistema Ubuntu 20.04 e configurare alcune jail con i filtri disponibili. Fail2ban è uno strumento potente. Puoi configurarlo in molti modi diversi da quello che ho mostrato qui. È solo un esempio di come aggirarlo, per cominciare. Fail2ban è sviluppato attivamente ed è una scelta solida da implementare sul tuo server in questi tempi in cui gli attacchi stanno diventando così frequenti.

Sottoscrivi
Notifica
0 Commenti
Feedback in linea
Visualizza tutti i commenti
0
Amerei i tuoi pensieri, per favore commenta.x