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:

Ahora copiaremos el archivo de configuración por defecto de Fail2Ban como jail.local que sera ejecutado y nos sobreescribira las configuraciones que tengamos en jail.conf , ponemos el siguiente comando en el terminal SSH:

Y ahora abriremos el archivo copiado con el comando:

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í:

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

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

Podemos comprobar:

Como conocer su estado:

Ver los servicos activos:

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

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

 

RECIBIR UN CORREO DE ALERTA AL BLOQUEAR UNA IP (aun por probar)

Podemos hacer que Fail2ban nos envíe un correo cuando detecte un intento de intrusión y bloquee una determinada IP, informándonos de este hecho. Para lograrlo, lo primero que hemos de hacer es  instalar un sistema de envío de correos desde la terminal.

Luego volvemos al fichero de configuración de Fail2ban:

Dentro de él, en la sección # ACTIONS, localizamos y configuramos los siguientes parámetros:

destemail = Dirección de email para recibir los avisos

sender = pi@raspberrypi [Este es el email del remitente]

mta = mail [Servidor de correo que usamos]

action = %(action_mw)s [Está al final de la sección]

En la primera línea hemos de escribir la dirección de email en la que deseamos recibir los avisos, mientras que en las demás pondremos únicamente lo que aparece en color rojo.

Hecho lo anterior, guardamos los cambios realizados en el fichero y reiniciamos el servicio:

Así, cada vez que haya un intento de acceso no autorizado y se bloquee la IP correspondiente, enviando un aviso a la dirección de correo indicado con información sobre la IP y el ISP desde los que se ha intentado acceder sin permiso a nuestra máquina. También también avisará cada vez que se detenga o se reactive el servicio.