Come configurare Fail2Ban per il permanent e persistent bans

Normalmente Fail2ban ha un tempo di 10 minuti di ban nella jail. Ma se voi voleste rendere il ban permanente? Come fare?!

Allora: prima di tutto dovete modificare il file jail.conf (oppure .local se avete seguito la mia precedente guida):

sudo nano /etc/fail2ban/jail.local

Cambiando la riga:

bantime = -1

Poi dovete modificare questo file:

sudo nano /etc/fail2ban/action.d/iptables-multiport.conf

Cambiando questo paragrafo e aggiungendo le due righe in grassetto:

actionstart = iptables -N fail2ban-<name>
              iptables -A fail2ban-<name> -j RETURN
              iptables -I <chain> -p <protocol> -m multiport --dports <port> -j fail2ban-<name>
              cat /etc/fail2ban/persistent.bans | awk '/^fail2ban-<name>/ {print $2}' \
              | while read IP; do iptables -I fail2ban-<name> 1 -s $IP -j <blocktype>; done 

E nell’actionban:

actionban = iptables -I fail2ban- 1 -s -j 
            echo "fail2ban- " >> /etc/fail2ban/persistent.bans

Poi riavviate il servizio con:

sudo service fail2ban restart

E voilà!

Come configurare Fail2ban con nginx

Se avete installato Fail2ban e volete utilizzarlo con nginx invece di Apache, come indicato nella mia guida. Seguite questi semplici passaggi:

sudo nano /etc/fail2ban/jail.local

Modificate il file:

[nginx-http-auth]

enabled  = true
filter   = nginx-http-auth
port     = http,https
logpath  = /var/log/nginx/error.log

Se invece volete inserire altre opzioni, seguite questo articolo di DigitalOcean.

Come installare Fail2ban

Fail2ban è un tool che serve teoricamente a prevenire attacchi brute force. È scritto in Python ed è abbastanza semplice da configurare.

Prima di tutto installatelo:

apt install fail2ban
cd /etc/fail2ban
sudo cp jail.conf jail.local

E se volete modificare qualcosa, tipo attivarlo anche per apache o ftp:

nano /etc/fail2ban/jail.local

E riavviate il servizio:

/etc/init.d/fail2ban restart