Installazione e configurazione di Fail2Ban su CentOS 7

In questo tutorial andremo a descrivere come installare e configurare Fail2Ban su CentOS 7.

Iniziamo partendo da una macchina CentOS 7 preinstallata ( per l’installazione seguire il seguente articolo) ed aggiorniamola

yum update

CentOS Linux release 7.5.1804 (Core)

aggiungiamo il repository epel

yum install epel-release vim

ed installiamo Fail2Ban

yum install fail2ban

avviamo il servizio e impostiamolo in modo tale da avviarsi anche dopo il riavvio della macchina

systemctl start fail2ban

systemctl enable fail2ban

La fase di configurazione del software Fail2ban passa dal file di configurazione jail.local

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

vim /etc/fail2ban/jail.local

i parametri generali da considerare sono sotto la direttiva [DEFAULT], ad esempio i più noti

# Indirizzi da non considerare durate l’analisi

ignoreip = 127.0.0.1/8

# Quanto tempo rimane bannado l’indirizzo ip

bantime = 600

# Tentativi dopo il ban

maxretry = 5

consideriamo il caso di ban attraverso la porta SSH, sempre dal file di configurazione jail.local ricerchiamo la parola ssh, avremo

[sshd]

enable=true
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s

dopo avere fatto queste modifiche riavviamo il demone

systemctl restart fail2ban

adesso supponiamo di accedere tramite ssh al server, sbagliando volutamente la password attraverso l’utente root per 5 volte (maxretry), avremo che al quindo tentativo la sessione andrà in timeout, infatti se l’installazione è stata fatta da VirtualBox potremo controllare tramite console che il server è sempre attivo, ma il nostro indirizzo ip è stato bannato per l’accesso tramite ssh.

Dalla tabella di iptables, avremo questo risultato

Chain f2b-sshd ( 1 references)

target                      prot     opt    source                              destination

REJECT                   all         —      ip_macchina_client      anywhere              reject-with   icmp-port-unreachable

dopo 600 secondi (bantime) potremo di nuovo provare a ricollegarci.

Possiamo avere evidenza del tutto dail log

vim /var/log/fail2ban.log

2018-12-03 15:04:26,810 fail2ban.actions [2827]: NOTICE [sshd] Ban ip_macchina_client

dopo 600 secondi avremo

2018-12-03 15:14:26,941 fail2ban.actions [2827]: NOTICE [sshd] Unban ip_macchina_client

I parametri inseriti precedentemente sono in generale per tutti i servizi, ma se volessimo avere un valore diverso per singolo servizio, bisogna inserirlo sotto la direttiva del servizio, ad esempio

[sshd]

enable=true
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s
bantime = 700

 

Potrebbero interessarti anche...

Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

Questo sito utilizza i cookie per fornire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o cliccando su "Accetta" permetti il loro utilizzo.

Chiudi