fail2ban
fail2ban

motivación

Cuando tenemos servicios expuestos a Internet corremos el riesgo de que éstos sean atacados. De hecho, serán atacados, siendo uno de los ataques el intento de intrusión por fuerza bruta. Si por ejemplo, tenemos el ssh abierto al exterior, los atacantes intentarán con software dedicado un número elevado de intentos de usuario/contraseña. Estos intentos, provocarán finalmente el acceso del atacante o la indisponibilidad del servicio.

Para que el atacante no sea capaz de realizar múltiples intentos tenemos disponible Fail2Ban que comprobará los logs de los servicios expuestos para posteriormente bloquear a los atacantes que estén realizando múltiples intentos de conexión.

Ahora vamos con la instalación y configuración. La instalación es muy sencilla obteniéndola desde los repositorios oficiales. En el caso de la configuración puede llegar a ser muy detallada, aunque con muy pocos cambios se puede poner en funcionamiento de manera inmediata.

instalación

apt-get install fail2ban

 

configuración

fail2ban es capaz de comprobar los intentos de ataque que reciben diversos servicios de internet. Para activar o desactivar la comprobación es necesario editar el archivo /etc/fail2ban/jail.conf.

En mi caso he activado la comprobación para ssh, ssh-ddos y nginx.

[ssh]
enabled  = true
port     = ssh
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 6

......

[ssh-ddos]
enabled = true
port = ssh
filter = sshd-ddos
logpath = /var/log/auth.log
maxretry = 6

......

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

Una vez configurado reiniciamos el servicio y listo ya estamos un poco más protegidos.

service fail2ban restart

Es interesante probar el servicio haciendo unos intentos de conexión con una contraseña incorrecta visualizando el archivo de log con un tail -f.

2016-09-07 10:45:12,742 fail2ban.jail   [13925]: INFO    Jail 'ssh' started
2016-09-07 10:45:12,755 fail2ban.jail   [13925]: INFO    Jail 'ssh-ddos' started
2016-09-07 10:45:12,782 fail2ban.jail   [13925]: INFO    Jail 'nginx-http-auth' started

A continuación se visualiza el banneo que realiza fail2ban.
2016-09-07 12:03:09,438 fail2ban.actions[13925]: WARNING [ssh] Ban 176.83.183.230

Deja un comentario