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

Come installare e utilizzare Fail2ban su RHEL 8 / CentOS 8

In cima all'elenco di ogni team operativo IT è garantire che i server siano protetti da utenti non autorizzati o script dannosi. Esistono diverse soluzioni che puoi applicare per scongiurare attacchi e violazioni. Tra questi c'è l'implementazione dello strumento software Fail2ban.

Fail2ban è una misura di rilevamento delle intrusioni open source che mitiga gli attacchi di forza bruta che prendono di mira vari servizi come SSH e VSFTPD per citarne alcuni. Viene fornito con una serie di filtri, incluso SSH, che puoi personalizzare per aggiornare le regole del firewall e bloccare i tentativi di accesso SSH non autorizzati.

L'utilità fail2ban monitora i file di registro del server per eventuali tentativi di intrusione e blocca l'indirizzo IP dell'utente dopo un numero predefinito di tentativi falliti per una durata specificata. L'IP dell'utente viene inserito in una "prigione" che può essere impostata, abilitata o disabilitata nel file di configurazione /etc/fail2ban/jail.conf. In questo modo, aiuta a proteggere il tuo server Linux da accessi non autorizzati e, più specificamente, da botnet e script dannosi.

Cosa comprende una prigione? Una prigione è composta dai seguenti elementi chiave:

  • Il file di registro da analizzare.
  • Filtri da applicare al file di registro.
  • L'azione da intraprendere quando il filtro corrisponde
  • Parametri aggiuntivi per elaborare il tipo di partite. Ad esempio, maxtry (tentativa massima) e bantime (tempo di ban) ecc.

In questo tutorial, ti guideremo attraverso l'installazione e la configurazione di Fail2ban su RHEL 8 / CentOS 8.

Passaggio 1) Installa il repository EPEL

Per prima cosa, accedi al tuo server e installa il pacchetto EPEL (Extra Package for Enterprise Linux) come segue.

Per CentOS 8

$ sudo dnf install -y epel-release

Per RHEL 8

$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y

Passaggio 2) Installa Fail2ban

Per installare Fail2ban, esegui il semplice comando seguente:

$ sudo dnf install -y fail2ban

Fase 3) Configurazione di Fail2ban

In base alla progettazione, fail2ban analizza i file di registro e tenta di trovare una corrispondenza con failregex specificato nei filtri. I filtri rilevano i tentativi di autenticazione non riusciti per un servizio specifico, ad esempio, i tentativi di accesso SSH utilizzando espressioni regolari - regex. Quando viene raggiunto il numero massimo di volte "maxtry" nelle voci di registro, viene attivata un'azione.

Per impostazione predefinita, ciò accade dopo 3 tentativi di autenticazione falliti e l'utente viene bannato o messo in "prigione" per 10 minuti. Questi parametri possono essere facilmente configurati nel file /etc/fail2ban/jail.conf che è il file di configurazione globale.

Tutti i file di configurazione importanti si trovano nella directory /etc/fail2ban/.

I filtri sono archiviati nella directory /etc/fail2ban/filter.d. Esistono dozzine di filtri per vari servizi tra cui SSH, Webmin, postfix e molto altro ancora.

/etc/fail2ban/jail.conf è il file di configurazione principale. Tuttavia, non è consigliabile modificare direttamente questo file, perché come il file lo spiega, è probabile che le configurazioni vengano sovrascritte o migliorate in un successivo aggiornamento della distribuzione.

Una soluzione alternativa consiste nel creare un file jail.local nella directory /etc/fail2ban/jail.d e aggiungere le tue configurazioni personalizzate per i servizi desiderati che desideri proteggere.

NOTA:i parametri definiti nel file jail.local sovrascriveranno il file jail.conf. Il che rende ancora più preferibile lasciare intatto il file di configurazione principale.

A scopo dimostrativo, creeremo un file jail che proteggerà le connessioni SSH.

$ sudo vim /etc/fail2ban/jail.local

Ecco il file di configurazione di esempio.

[DEFAULT]
ignoreip = 192.168.2.105
bantime  = 86400
findtime  = 300
maxretry = 3
banaction = iptables-multiport
backend = systemd
[sshd]
enabled = true

Analizziamo i parametri e vediamo cosa rappresentano.

  • ignoreip – Definisce un elenco di indirizzi IP o nomi di dominio che non devono essere banditi.
  • bantime:come suggerisce il nome, specifica la durata del tempo in cui un host remoto viene bannato in secondi.
  • maxretry – Questo è il numero di tentativi di accesso non riusciti prima che l'host venga bloccato/bannato.
  • findtime:durata in secondi durante la quale un host verrà bloccato dopo aver raggiunto i tentativi di maxtry.
  • banazione – L'azione di divieto.
  • backend:il sistema utilizzato per recuperare i file di registro

La nostra configurazione implica quanto segue:

Quando un indirizzo IP registra 3 tentativi di autenticazione falliti negli ultimi 5 minuti, verrà bannato per 24 ore ad eccezione di un host con IP 192.168.2.105.

Salva ed esci dal file di configurazione.

Passaggio 4)  Avvia e abilita Fail2ban

Una volta completata la configurazione del file jail per SSH, avvieremo e abiliteremo fail2ban all'avvio. Di solito, il servizio non è in esecuzione al momento dell'installazione

Per avviare e abilitare fail2ban, esegui il comando:

$ sudo systemctl start fail2ban
$ sudo systemctl enable fail2ban

Per rivelare lo stato di fail2ban, invoca il comando seguente:

$ sudo systemctl status fail2ban

Questa volta, possiamo osservare che fail2ban funziona come previsto.

Ora procediamo e vediamo come funziona Fail2ban.

Fase 4) Fail2ban in azione

Ora facciamo un ulteriore passo avanti e vediamo Fail2ban in azione. Per tenere d'occhio gli indirizzi IP vietati, l'utilità fail2ban-client è utile. Ad esempio, per ottenere lo stato di ssh jail, esegui il comando:

$ sudo fail2ban-client status sshd

Al momento, non ci sono voci IP vietate perché non abbiamo ancora effettuato l'accesso in remoto al server.

Tenteremo di accedere dal client SSH putty da un PC Windows con un IP diverso da quello specificato nel file di configurazione jail.local.

Dall'output, possiamo vedere chiaramente che non possiamo accedere al server. Quando controlliamo di nuovo lo stato, scopriamo che un IP è stato bannato come mostrato.

Per rimuovere l'IP dall'elenco dei bannati, annullalo come segue.

$ sudo fail2ban-client unban 192.168.2.101

Per raccogliere maggiori informazioni sulle regole e le politiche fail2ban, visita le manpage di jail.conf come mostrato

$ man jail.conf

Qualche commento o feedback? Non esitare a contattarci e ti ricontatteremo.

Leggi anche :12 esempi di comandi IP per utenti Linux


Cent OS
  1. Come installare e utilizzare PHP Composer su CentOS 7

  2. Come installare e utilizzare ifconfig su CentOS 7

  3. Come installare e configurare samba su RHEL 8 / CentOS 8

  4. Come installare il file bin in RHEL 8 / CentOS 8 Linux

  5. Come installare Fail2Ban su CentOS 7

Come installare e utilizzare Cockpit su CentOS 8 / RHEL 8

Come installare e utilizzare Terraform su CentOS 8

Come installare e utilizzare Firewalld in CentOS/RHEL

Come installare e configurare Fail2ban su CentOS 8

Come installare e utilizzare TermRecord su CentOS 8

Come installare e utilizzare Traceroute su CentOS 7