Come installare e utilizzare Fail2ban per la sicurezza del server Linux

In tutti i tipi di organizzazioni indipendentemente dal tipo di informazioni utilizzate o dal numero di utenti che ne fanno parte, sempre come personale nei sistemi o nell'area IT dobbiamo garantire che la sicurezza sia un fattore primario al suo interno, ma quando uno o più sono gestiti .più server.

Quando si parla di server con distribuzioni Linux, molte volte si pensa che siano esenti da attacchi, ma in un mondo online in continua evoluzione non esiste più un sistema sicuro e qualsiasi distribuzione è esposta agli attacchi di malware, virus, attacchi DDOS e molti di più. In qualità di amministratori o utenti con accesso a eventi e log del server, è normale rilevare tentativi di accesso di forza bruta, web flood, ricerche di exploiter e altre minacce che in un modo o nell'altro possono mettere a rischio l'integrità e la disponibilità delle informazioni.

Pertanto, è necessario utilizzare strumenti che ci forniscano le migliori opzioni e alternative di sicurezza; E pensandoci, Solvetic spiegherà come utilizzare Fail2ban per rilevare e proteggere i nostri sistemi operativi Linux.

Cos'è Fail2ban?Fail2ban è stato sviluppato come un software di prevenzione delle intrusioni, che analizza i file di registro del server come / var / log / apache / error_log e quindi vieta gli indirizzi IP che contengono segni dannosi tenendo conto di aspetti come troppi errori nelle password, ricerche di vulnerabilità, ecc. .

Come regola generale, Fail2Ban viene utilizzato per aggiornare le regole del firewall in modo che rifiuti gli indirizzi IP in un determinato periodo di tempo, ma è anche possibile configurare un'altra regola che potrebbe mettere a rischio la sicurezza del sistema. Sebbene Fail2Ban possa ridurre il tasso di tentativi di autenticazione non riusciti all'interno del sistema, è ideale che i metodi di autenticazione non siano deboli. Per questo possiamo configurare i servizi per utilizzare solo due fattori o meccanismi di autenticazione pubblico/privato per proteggere i servizi in Linux.

Requisiti per utilizzare Fail2ban
L'unica dipendenza di cui avremo bisogno per usare Fail2ban sarà Python, a seconda della versione desiderata sarà la seguente:

  • Ramo Fail2ban 0.9.x: Python> = 2.6 o Python> = 3.2
  • Ramo Fail2ban 0.8.x: Python> = 2.4
Facoltativamente, Fail2ban può richiedere i seguenti elementi:
  • Netfilter / Iptables
  • Shorewall
  • Wrapper TCP
  • Script di posta
  • Ipset

Funzionalità di Fail2ban
L'attuale versione di Fail2ban è la 0.9.x che offre funzionalità come:

  • Azioni basate su Python.
  • Supporto per banche dati.
  • Analisi multilinea nei filtri.
  • Supporto personalizzato di data e ora per i filtri.
  • Riconoscimento del fuso orario per impostazione predefinita.
  • Timeout nei comandi di divieto.
  • Set di caratteri di riconoscimento nei file di registro.
  • Python3 + supporto
  • Architettura client/server.
  • Multi thread.
  • Altamente configurabile attraverso l'uso di file di configurazione divisi.
  • Utilizza Netfilter / Iptables per impostazione predefinita, ma sarà anche possibile utilizzare TCP Wrapper e molti altri firewall disponibili.
  • Consente di gestire più servizi contemporaneamente come sshd, apache, vsftp e altri.
  • Esegui comandi quando viene rilevato un pattern per lo stesso indirizzo IP più di X volte per escludere quell'indirizzo.

1. Come installare Fail2ban su Linux

NotaPer questo caso utilizzeremo CentOS 7

Passo 1
Per installare Fail2ban eseguiremo i seguenti comandi nel loro ordine:

Aggiorna il sistema

 yum aggiornamento

Installa i repository EPEL
 yum install epel-release

Inseriamo la lettera y per confermare il download e l'installazione del repository EPEL.

Passo 2
Quindi installiamo Fail2ban eseguendo:

 yum install fail2ban 

Passaggio 3
Dopo questa analisi vedremo che tutte le dipendenze di Fail2ban verranno installate. Accettiamo il download e l'installazione di Fail2ban.

Passaggio 4
Nel caso di utilizzo di Debian o Ubuntu dobbiamo eseguire quanto segue:

 apt-get update && apt-get upgrade -y apt-get install fail2ban
Facoltativamente, possiamo abilitare il supporto della posta, per le notifiche della posta, installando sendmail come segue:

CentOS / RHEL

 yum installa sendmail

Debian / Ubuntu

 apt-get install sendmail-bin sendmail

Passaggio 5
Dopodiché, abiliteremo Fail2ban e Sendmail usando i seguenti comandi:

 systemctl avvia fail2ban systemctl abilita fail2ban systemctl avvia sendmail systemctl abilita sendmail

2. Come configurare Fail2ban su Linux


Per impostazione predefinita, Fail2ban utilizza i file .conf che si trovano nella directory /etc/fail2ban/; a cui accedi per primo, ma questi possono essere sostituiti da file .local situati nella stessa directory.

Pertanto, il file .local non ha bisogno di includere tutte le impostazioni nel file .conf, ma solo quelle che vogliamo implementare per la sicurezza del sistema. Ogni modifica deve essere apportata ai file .local che non sono nel .conf per evitare di sovrascrivere le modifiche durante l'aggiornamento del pacchetto fail2ban.

Passo 1
Per questo copieremo il file fail2ban.conf esistente in fail2ban.local in questo modo:

 cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local

Passo 2
Ora sarà possibile apportare le modifiche al file .local creato utilizzando un editor di testo, i valori che possiamo modificare sono:

loglevelQuesto è il livello in cui vengono archiviati i record. Lì abbiamo opzioni come:

  • CRITICA
  • ERRORE
  • AVVERTIMENTO
  • AVVISO
  • INFORMAZIONI
  • DEBUG

logtargetLì le azioni sono registrate in un file specifico, il valore predefinito è /var/log/fail2ban.log e le opzioni da utilizzare sono:

  • STDOUT: Output di qualsiasi dato.
  • STDERR: genera qualsiasi errore.
  • SYSLOG: registro basato sui messaggi.
  • File: output in un file

presaÈ la directory in cui verrà posizionato il file socket.

file pidÈ la posizione del file pid.

3. Come configurare Fail2ban jail.local su Linux


In Fail2ban, uno dei file più importanti è jail.conf, che definisce le jail o le misure di protezione. Lì devi definire i servizi per i quali Fail2ban deve essere abilitato.

Passo 1
Creeremo un file jail.local per poter applicare le modifiche, per questo eseguiamo:

 cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Accediamo a questo file locale utilizzando la seguente sintassi:
 nano /etc/fail2ban/jail.local
Lì individuiamo la riga di backend e modifichiamo il valore predefinito Auto su systemd:

NotaNel caso di Ubuntu o Debian, questa modifica non sarà necessaria.

Passo 2
Il file jail.local abiliterà SSH per impostazione predefinita per Debian e Ubuntu, ma non su CentOS, quindi se vogliamo abilitare SSH aggiungeremo la riga enabled = true sotto [sshd]:

4. Come configurare i tempi di ban e riprova in Fail2ban Linux


Con Fail2ban possiamo configurare il modo in cui un indirizzo IP viene bloccato. Per quello scopo; Per questo, Fail2ban utilizza bantime, findtime e maxretry.

bantimeIndica il numero di secondi in cui un indirizzo IP rimarrà bannato (10 min per impostazione predefinita).

Trova tempoÈ l'intervallo di tempo tra i tentativi di accesso prima che l'host venga rimosso. (predefinito 10 minuti)

maxretrySi riferisce al numero di tentativi che devono essere effettuati prima che venga applicato un divieto. (di default 3 tentativi).

5. Come configurare gli indirizzi IP nella whitelist in Fail2ban Linux


È possibile aggiungere indirizzi IP alla whitelist di Fail2ban (consentito). Per fare ciò, nel file jail.local dobbiamo decommentare la seguente riga:
 ignoraip = 127.0.0.1/8 :: 1
Lì possiamo inserire gli indirizzi IP che dovrebbero essere ignorati. Gli indirizzi IP devono essere separati da spazi o virgole.

6. Come creare avvisi e-mail in Fail2ban Linux


Questa opzione è ideale se desideriamo ricevere avvisi su eventuali modifiche o novità nei record. Per fare ciò dobbiamo modificare il file /etc/fail2ban/jail.local, le opzioni sono:

destemailÈ l'indirizzo email a cui verrà ricevuta la notifica.

Nome del mittenteÈ il mittente che vedremo alla ricezione del messaggio.

MittenteIndica l'indirizzo email da cui Fail2ban invierà le email.

L'mta predefinito (agente di trasferimento della posta) è configurato con sendmail.

Per ricevere una notifica via mail, sarà inoltre necessario modificare l'impostazione "Azione" nella riga seguente:

 Azione =% (azione_) s
Con la seguente configurazione:
 azione =% (action_mw) s azione =% (action_mwl) s
Escludere l'host e inviare posta con un rapporto whois
 % (action_mw) s

Bandirà l'host, genererà informazioni whois e tutte le informazioni rilevanti dal file di registro

 % (action_mwl) s

7. Ulteriori configurazioni Fail2ban Linux


Se vuoi configurare una jail, questa deve essere abilitata nel file jail.local. La sintassi è la seguente:
 [prigione]… abilitato = vero
Possiamo vedere la struttura della prigione per SSHD. Fail2ban aggiunge automaticamente i parametri aggiuntivi.

Sarà inoltre possibile abilitare il filtro mediante il quale è possibile identificare se una riga del registro è guasta. Il valore del filtro è un riferimento a un file con il nome del servizio seguito da .conf. Ad esempio possiamo usare

 /etc/fail2ban/filter.d/sshd.conf.
La sintassi da utilizzare è:
 filtro = servizio
Man mano che aggiungiamo jail, possiamo utilizzare il client Fail2ban per vedere quali sono attivi sul server, per questo eseguiamo quanto segue:
 stato del client fail2ban
Lì verranno implementati mentre creiamo queste restrizioni.

Possiamo vedere come Fail2ban sia un'utilità pratica per aumentare la sicurezza nelle distribuzioni Linux evitando accessi non autorizzati e tutto ciò che riguarda le cattive pratiche che vengono eseguite nell'organizzazione.

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave