¿Que es fail2ban?

Fail2ban es una utilidad escrita en Python para bloquear intentos de acceso por fuerza bruta en un sistema, que actúa añadiendo reglas de bloqueo a las IP's remotas que intentan accesos por fuerza bruta un número determinado de intentos erróneos.

En primer lugar procedemos a instalar el fail2ban a traves de nuestro gestor de paquetes.

# Distribuciones redhat (CentOS, Fedora...)

yum install -y fail2ban

# Debian / Ubuntu
yum apt-get install -y fail2ban  

Una vez instalado modificamos los siguientes parámetros en el /etc/fail2ban/jail.conf

bantime  = 3600           // 1 hora de baneo  
maxretry = 3              // 3 intentos erroneos  
destemail = nuestro@Email // email de alerta

[sshd]
enabled = true            // Añadir para activar en SSH  

Ahora una vez configurado lo arrancamos y lo añadimos al arranque del CentOS.

systemctl start fail2ban  
systemctl enable fail2ban  
Ver intentos fallados en SSH

Para ver los intentos de SSH fallidos o los bloqueados en fail2ban solamente basta con ejecutar el siguiente comando.

fail2ban-client status sshd show

Status for the jail: sshd  
|- Filter
|  |- Currently failed:    0
|  |- Total failed:    79
|  `- File list:    /var/log/secure
`- Actions
   |- Currently banned:    8
   |- Total banned:    31
   `- Banned IP list:    179.43.141.197 103.21.70.138 181.214.92.11

También podemos revisar el fichero de log /var/log/secure

cat /var/log/secure | grep Failed  
# Cuenta de intentos

© 2017. All Rights Reserved.