Fail2Ban

Vigila el fichero de log de los servidores que tengamos instalados y banea aquellas IPs que hayan hecho un intento ilegal de entrar en el sistema mediante fuerza bruta:

sudo apt-get install fail2ban

Accedemos al fichero de configuración:

sudo nano /etc/fail2ban/jail.conf

En la sección [DEFAULT], esta la configuración genérica del servicio:

ignoreip (IPs que no deseemos que se baneen, son las correspondientes al localhost y a la IP local del PC desde el que accedemos normalmente).

bantime (tiempo de baneo, expresado en segundos).

maxretry (numero de intentos fallidos de login para que se active el baneo).

En las secciones ([ssh] y [ssh-ddos]) se activa la seguridad del servidor SSH contra ataques de fuerza bruta y/o contra ataques DDoS (Distributed Denial of Service):

enabled = true al comienzo de cada una, para que se active.

port = ssh si se esta usando el puerto (22) o bien ponemos el número del puerto por el que este corriendo.

Modificamos su contenido, que quedará así:

[DEFAULT] 

# “ignoreip” can be an IP address, a CIDR mask or a DNS host 

ignoreip = 127.0.0.1/8 192.168.1.55 

bantime = 1000 

maxretry = 3 

 

[ssh] 

enabled = true 

port = ssh 

filter = sshd 

logpath = /var/log/auth.log 

maxretry = 3 

 

[ssh-ddos] 

enabled = true 

port = ssh 

filter = sshd-ddos 

logpath = /var/log/auth.log 

maxretry = 6

 

Fail2ban se puede aplicar también a otros web, servidores FTP o de correo.

Al acabar la configuración hay que reiniciar el servicio:

sudo /etc/init.d/fail2ban restart

Podemos comprobar:

Como conocer su estado:

sudo /etc/init.d/fail2ban status

Ver los servicos activos:

sudo fail2ban-client status

O el estado actual de un servicio, que nos mostrará si tiene alguna IP baneada en este momento.  En el caso del ssh :

sudo fail2ban-client status ssh

También se puede analizar fichero de log para comprobar si ha habido intentos de acceso no autorizados:

sudo cat /var/log/fail2ban.log