GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare e configurare Fail2ban su CentOS 8

Tutti i server esposti a Internet sono a rischio di attacchi di malware. Ad esempio, se disponi di un software connesso a una rete pubblica, gli aggressori possono utilizzare tentativi di forza bruta per accedere all'applicazione.

Fail2ban è uno strumento open source 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 per un determinato periodo di tempo. Il firewall di sistema predefinito viene utilizzato come azione di divieto. Allo scadere del periodo di esclusione, l'indirizzo IP viene rimosso dall'elenco di esclusione.

Questo articolo spiega come installare e configurare Fail2ban su CentOS 8.

Installazione di Fail2ban su CentOS #

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

sudo dnf install fail2ban

Una volta completata l'installazione, abilita e avvia il servizio Fail2ban:

sudo systemctl enable --now fail2ban

Per verificare se il server Fail2ban è in esecuzione, digita:

sudo systemctl status fail2ban
● fail2ban.service - Fail2Ban Service
   Loaded: loaded (/usr/lib/systemd/system/fail2ban.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2020-09-10 12:53:45 UTC; 8s ago
...

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

Configurazione Fall2ban #

L'installazione predefinita di Fail2ban include due file di configurazione, /etc/fail2ban/jail.conf e /etc/fail2ban/jail.d/00-firewalld.conf . Questi file non devono essere modificati in quanto potrebbero essere sovrascritti quando il pacchetto viene aggiornato.

Fail2ban legge i file di configurazione nel seguente ordine:

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

Ogni .local il file sovrascrive le impostazioni da .conf file.

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 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 messaggi di posta elettronica, 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 bandirà l'IP offensivo e invierà un'e-mail con un rapporto whois. Se vuoi includere i log rilevanti 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, su CentOS 8, non sono abilitate jail. Per abilitare una jail, devi aggiungere enabled = true dopo il titolo di carcere. L'esempio seguente mostra come abilitare sshd carcere:

/etc/fail2ban/jail.local
[sshd]
enabled   = true
port    = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s

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

/etc/fail2ban/jail.local

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 del fail2ban-client comando, invocalo con il -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:

  • Controlla lo stato di una 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

Cent OS
  1. Come installare e configurare Nginx su CentOS 7

  2. Come installare e configurare Fail2ban su Ubuntu 20.04

  3. Come installare e configurare Fail2Ban su CentOS 8 e Fedora 33

  4. Come installare e configurare Fail2ban su CentOS 8?

  5. Come installare e configurare CyberPanel su CentOS 8

Come installare e configurare Nagios 4.0.7 su CentOS 7

Come installare e configurare ISPConfig CP su CentOS 7

Come installare e configurare ownCloud su CentOS 7

Come installare e configurare Samba su CentOS 8

Come installare e configurare Fail2ban su CentOS 8

Come installare e configurare HAproxy su CentOS 6