GNU/Linux >> Linux Esercitazione >  >> Debian

Installa e configura Fail2ban su Debian 10

Tutti i server accessibili da Internet sono a rischio di attacchi di malware. Ad esempio, se disponi di un'applicazione accessibile dalla rete pubblica, gli aggressori possono utilizzare tentativi di forza bruta per ottenere l'accesso all'applicazione.

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 spiega come installare e configurare Fail2ban su Debian 10.

Installazione di Fail2ban su Debian #

Il pacchetto Fail2ban è incluso nei repository Debian 10 predefiniti. Per installarlo, esegui il seguente comando come root o utente con privilegi sudo:

sudo apt updatesudo apt install fail2ban

Una volta completato, 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 2021-03-10 18:57:32 UTC; 47s ago
...

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

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 dovresti 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

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 copiando il file 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 autorizzati #

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 #

bantime , findtime e maxretry le opzioni impostano 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. La maggior parte degli utenti preferisce impostare un tempo di ban più lungo. Modifica il valore a tuo piacimento:

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

Per vietare definitivamente l'IP, utilizza 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 il concetto di carcere. 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 di jail. Per impostazione predefinita, è abilitata solo la ssh jail.

Per abilitare una jail, devi aggiungere enabled = true dopo il titolo di carcere. L'esempio seguente mostra come abilitare il postfix jail:

/etc/fail2ban/jail.local
[postfix]
enabled  = true
port     = smtp,ssmtp
filter   = postfix
logpath  = /var/log/mail.log

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 11.22.33.44

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 mettere a punto i filtri.

Ogni volta che il file di configurazione viene modificato, il servizio Fail2ban deve essere riavviato 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. Ecco alcuni esempi:

  • Ottieni lo stato attuale del server:

    sudo fail2ban-client status
  • Controlla lo stato della prigione:

    sudo fail2ban-client status sshd
  • Sbannare un IP:

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

    sudo fail2ban-client set sshd banip 11.22.33.44

Debian
  1. Come installare e configurare Fail2ban su Ubuntu 20.04

  2. Come installare e configurare la finestra mobile su Debian 11

  3. Come installare e configurare Mariadb 10 in Debian 11

  4. Come installare e configurare MongoDB 5 su Debian 11

  5. Come installare e configurare Redis 6 su Debian 11

Come installare e configurare RabbitMQ su Debian 11

Installa e configura Fail2ban su Ubuntu 20.04

Come installare e configurare Git in Debian 11

Come installare e configurare Fail2ban su Debian 11

Come installare e configurare Apache su Debian 11?

Installa e configura Fail2ban su Debian 11