GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare e configurare Fail2ban su Ubuntu 20.04

Qualsiasi servizio esposto a Internet è a rischio di attacchi di malware. Ad esempio, se stai eseguendo un servizio su una rete disponibile pubblicamente, gli aggressori possono utilizzare tentativi di forza bruta per accedere al tuo account.

Fail2ban è uno strumento che aiuta a proteggere la tua macchina Linux dalla forza bruta e da altri attacchi automatizzati monitorando i registri dei servizi per attività dannose. Utilizza espressioni regolari per eseguire la scansione dei file di registro. Vengono contate tutte le voci che corrispondono ai modelli e quando il loro numero raggiunge una determinata soglia predefinita, Fail2ban bandisce l'IP offensivo utilizzando il firewall di sistema per un periodo di tempo specifico. Allo scadere del periodo di esclusione, l'indirizzo IP viene rimosso dall'elenco di esclusione.

Questo articolo descrive come installare e configurare Fail2ban su Ubuntu 20.04.

Installazione di Fail2ban su Ubuntu #

Il pacchetto Fail2ban è incluso nei repository Ubuntu 20.04 predefiniti. Per installarlo, inserisci il seguente comando come root o utente con privilegi sudo:

sudo apt updatesudo apt install fail2ban

Una volta completata l'installazione, il servizio Fail2ban si avvierà automaticamente. Puoi verificarlo controllando lo stato del servizio:

sudo systemctl status fail2ban

L'output sarà simile a questo:

● fail2ban.service - Fail2Ban Service
     Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2020-08-19 06:16:29 UTC; 27s ago
       Docs: man:fail2ban(1)
   Main PID: 1251 (f2b/server)
      Tasks: 5 (limit: 1079)
     Memory: 13.8M
     CGroup: /system.slice/fail2ban.service
             └─1251 /usr/bin/python3 /usr/bin/fail2ban-server -xf start

Questo è tutto. A questo punto, hai Fail2Ban in esecuzione sul tuo server Ubuntu.

Configurazione Fall2ban #

L'installazione predefinita di Fail2ban include due file di configurazione, /etc/fail2ban/jail.conf e /etc/fail2ban/jail.d/defaults-debian.conf . Non è consigliabile modificare questi file in quanto potrebbero essere sovrascritti quando il pacchetto viene aggiornato.

Fail2ban legge i file di configurazione nel seguente ordine. Ogni .local il file sovrascrive le impostazioni da .conf file:

  • /etc/fail2ban/jail.conf
  • /etc/fail2ban/jail.d/*.conf
  • /etc/fail2ban/jail.local
  • /etc/fail2ban/jail.d/*.local

Per la maggior parte degli utenti, il modo più semplice per configurare Fail2ban è copiare jail.conf a jail.local e modifica il .local file. Gli utenti più avanzati possono creare un .local file di configurazione da zero. Il .local il file non deve includere tutte le impostazioni dal corrispondente .conf file, solo quelli che vuoi sovrascrivere.

Crea un .local file di configurazione dal predefinito jail.conf file:

sudo cp /etc/fail2ban/jail.{conf,local}

Per iniziare a configurare il server Fail2ban apri, il jail.local file con il tuo editor di testo:

sudo nano /etc/fail2ban/jail.local

Il file include commenti che descrivono cosa fa ciascuna opzione di configurazione. In questo esempio, cambieremo le impostazioni di base.

Indirizzi IP nella whitelist #

Gli indirizzi IP, gli intervalli IP o gli host che desideri escludere dal divieto possono essere aggiunti a ignoreip direttiva. Qui dovresti aggiungere l'indirizzo IP del tuo PC locale e tutte le altre macchine che desideri inserire nella whitelist.

Decommenta la riga che inizia con ignoreip e aggiungi i tuoi indirizzi IP separati da uno spazio:

/etc/fail2ban/jail.local
ignoreip = 127.0.0.1/8 ::1 123.123.123.123 192.168.1.0/24

Impostazioni ban #

I valori di bantime , findtime e maxretry le opzioni definiscono il tempo di esclusione e le condizioni di esclusione.

bantime è la durata per la quale l'IP viene bannato. Quando non viene specificato alcun suffisso, il valore predefinito è secondi. Per impostazione predefinita, il bantime il valore è impostato su 10 minuti. In genere, la maggior parte degli utenti vorrà impostare un tempo di ban più lungo. Modifica il valore a tuo piacimento:

/etc/fail2ban/jail.local
bantime  = 1d

Per bannare definitivamente l'IP usa un numero negativo.

findtime è la durata tra il numero di fallimenti prima che venga impostato un divieto. Ad esempio, se Fail2ban è impostato per vietare un IP dopo cinque errori (maxretry , vedi sotto), tali errori devono verificarsi entro il findtime durata.

/etc/fail2ban/jail.local
findtime  = 10m

maxretry è il numero di errori prima che un IP venga bannato. Il valore predefinito è cinque, che dovrebbe andare bene per la maggior parte degli utenti.

/etc/fail2ban/jail.local
maxretry = 5

Notifiche e-mail #

Fail2ban può inviare avvisi e-mail quando un IP è stato bannato. Per ricevere e-mail, devi avere un SMTP installato sul tuo server e modificare l'azione predefinita, che vieta solo l'IP a %(action_mw)s , come mostrato di seguito:

/etc/fail2ban/jail.local
action = %(action_mw)s

%(action_mw)s bandisce l'IP offensivo e invia un'e-mail con un rapporto whois. Se desideri includere i log pertinenti nell'email, imposta l'azione su %(action_mwl)s .

Puoi anche modificare gli indirizzi email di invio e ricezione:

/etc/fail2ban/jail.local
destemail = [email protected]

sender = [email protected]

Fail2ban Jail #

Fail2ban usa un concetto di jail. Una jail descrive un servizio e include filtri e azioni. Le voci di registro che corrispondono al modello di ricerca vengono conteggiate e, quando viene soddisfatta una condizione predefinita, vengono eseguite le azioni corrispondenti.

Fail2ban viene fornito con un numero di jail per diversi servizi. Puoi anche creare le tue configurazioni jail.

Per impostazione predefinita, è abilitato solo sshjail. Per abilitare una jail, devi aggiungere enabled = true dopo il titolo di carcere. L'esempio seguente mostra come abilitare la jail di proftpd:

/etc/fail2ban/jail.local
[proftpd]
enabled  = true
port     = ftp,ftp-data,ftps,ftps-data
logpath  = %(proftpd_log)s
backend  = %(proftpd_backend)s

Le impostazioni di cui abbiamo discusso nella sezione precedente possono essere impostate per jail. Ecco un esempio:

/etc/fail2ban/jail.local
[sshd]
enabled   = true
maxretry  = 3
findtime  = 1d
bantime   = 4w
ignoreip  = 127.0.0.1/8 23.34.45.56

I filtri si trovano in /etc/fail2ban/filter.d directory, memorizzata in un file con lo stesso nome della jail. Se hai una configurazione personalizzata e hai esperienza con le espressioni regolari, puoi perfezionare i filtri.

Ogni volta che modifichi un file di configurazione, devi riavviare il servizio Fail2ban affinché le modifiche abbiano effetto:

sudo systemctl restart fail2ban

Fail2ban Client #

Fail2ban viene fornito con uno strumento da riga di comando chiamato fail2ban-client che puoi utilizzare per interagire con il servizio Fail2ban.

Per visualizzare tutte le opzioni disponibili, invoca il comando con -h opzione:

fail2ban-client -h

Questo strumento può essere utilizzato per vietare/rimuovere indirizzi IP, modificare le impostazioni, riavviare il servizio e altro ancora. Ecco alcuni esempi:

  • Controlla lo stato della prigione:

    sudo fail2ban-client status sshd
  • Sbannare un IP:

    sudo fail2ban-client set sshd unbanip 23.34.45.56
  • Ban un IP:

    sudo fail2ban-client set sshd banip 23.34.45.56

Ubuntu
  1. Come installare e configurare Redis su Ubuntu 18.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 GitLab su Ubuntu 16.04

Come installare e configurare Cacti su Ubuntu 20.04

Come installare e configurare Git su Ubuntu 20.04

Installa e configura Fail2ban su Ubuntu 20.04

Come installare e configurare OpenVAS 9 su Ubuntu

Come installare e configurare Redis in Ubuntu 20.04