chrome_reader_mode

Metti in mostra la tua personalizzazione Linux help_outline Maggiori informazioni

linux/hub è molto più di quel che vedi! info_outline Leggi le intenzioni

🔧 #howto – Installare e configurare fail2ban in Centos 7

Scritto da Mirko Brombin il Sab, 06/01/2019 - 14:01
Sab, 06/01/2019 - 14:01
#howto
centos
In questa pagina
  • Caricamento..

Lo strumento fail2ban si occupa di controllare il log accessi del server in tempo reale, bloccando l'indirizzo IP di quelli con ripetuti tentativi falliti.

Installazione

Per prima cosa dobbiamo installare la repository EPEL:

sudo yum install epel-release

successivamente possiamo procedere con l'installazione:

sudo yum install fail2ban fail2ban-systemd

infine aggiorniamo le policy di SELinux:

sudo yum update -y selinux-policy*

Configurazione

Cominciamo con la configurazione, portiamoci nella locazione /etc/fail2ban:

cd /etc/fail2ban

e creiamo una copia del file jail.conf dal nome jail.local:

cp jail.conf jail.local

Modifichiamo la copia appena creata con l'editor preferito, nel nostro caso nano:

nano jail.local

ora abbiamo accesso ad una serie di opzioni configurabili:

  • ignoreip supporta una serie di valori (indirizzi IP), separati da uno spazio fra loro, questi sono gli indirizzi a cui fal2ban non farĂ  caso
  • bantime il numero in secondi in cui durerĂ  il blocco di un indirizzo IP
  • findtime il numero in secondi in cui è possibile effettuare tentativi errati
  • maxretry il numero di tentativi errati concessi nel lasso di tempo dichiarato come findtime

di seguito la configurazione da me raccomandata:

[DEFAULT]
ignoreip = 127.0.0.1/8
bantime = 1200
findtime = 400
maxretry = 3

Configurazione fail2ban per SSH

Portiamoci nella locazione /etc/fail2ban/jail.d/ e creiamo il file sshd.local:

cd /etc/fail2ban/jail.d/
touch sshd.local

apriamolo con l'editor preferito:

nano sshd.local

ed inseriamo la seguente configurazione:

[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
maxretry = 3
bantime = 10000

dove:

  • enabled indica se fail2ban è abilitato su SSH
  • port è ovviamente la porta in cui è accessibile il servizio SSH
  • logpath la locazione in cui è presente il log accessi SSH (usato da fail2ban per controllare i tentativi di accesso)
  • maxretry il numero di tentativi errati concessi
  • bantime il numero in secondi in cui durerĂ  il blocco IP

salviamo infine il file di configurazione, nel caso di nano come editor, usiamo la combinazione di tasti:

CTRL+X

Abilitiamo il servizio fail2ban e riavviamolo assieme a firewalld:

sudo systemctl enable fail2ban
sudo systemctl restart firewalld fail2ban

Ora possiamo tener traccia delle statistiche di fail2ban nel seguente modo:

fail2ban-client status

Sblocco indirizzo IP

Nel caso in cui volessimo sbloccare un indirizzo IP, possiamo procedere in questo modo:

sudo fail2ban-client set sshd unbanip INDIRIZZO_IP

modificando INDIRIZZO_IP con l'indirizzo da sbloccare.

Utilizzare iptables al posto di firewalld

Nel caso in cui volessimo usare iptables al posto di firewalld con fail2ban, sarĂ  necessario procedere in questo modo. Per prima cosa disabilitiamo firewalld:

sudo systemctl disable firewalld
sudo systemctl stop firewalld

disabilitiamo il file di configurazione per firewalld:

sudo mv /etc/fail2ban/jail.d/00-firewalld.conf /etc/fail2ban/jail.d/00-firewalld.disabled

Modifichiamo la configurazione locale con l'editor preferito, per nano:

nano /etc/fail2ban/jail.local

e aggiungiamo la seguente opzione a fondo pagina (se non giĂ  presente):

banaction = iptables-multiport

salviamo e riavviamo:

sudo systemctl restart fail2ban

ora fail2ban funzionerà con iptables anzichè firewalld.

 

Good *nix
 - Mirko

Etichette
remove_red_eye