Fail2ban es una herramienta que observa los intentos de login de variados servicios, como SSH, FTP,
SMTP, HTTP, entre otros; y si detecta intentos de login fallidos una y otra vez desde una misma IP,
fail2ban rechazará estos intentos de login bloqueando con reglas de iptables por un determinado
tiempo.
El primer paso es instalar Fail2ban
$ sudo apt-get install fail2ban
Configuración
Editar el archivo de configuración de Fail2ban para establecer ciertos parámetros importantes,
como, por ejemplo: tiempo de baneo, máximos intentos, ignorar ciertas IPs.
Copiar el archivo de configuración por defecto de fail2ban como [Link] que será ejecutado y nos
sobrescribirá las configuraciones que tengamos en [Link].
$ cp /etc/fail2ban/[Link] /etc/fail2ban/[Link]
Abrimos el archivo:
$ nano /etc/fail2ban/[Link]
modificamos los parametros de SSH (u otros servicios) que deseemos. Los más comunes son los
siguientes:
Ignoreip: Aquí hemos de poner las ips que queremos que fail2ban no banee bajo ningún
concepto, por ejemplo: las de la empresa o red local donde está alojado el servidor Linux.
Por defecto nos trae la [Link] que es la interfaz lo del servidor Linux (para evitar
banearse a si mismo). Añadimos la IP o red que queramos.
ignoreip = [Link] [Link]/24
Bantime: Como el nombre mismo dice, es el tiempo que queremos que banee la IP que ha
intentado acceder erróneamente. El tiempo está en segundos, por lo que si queremos
banear 1 hora esa IP: 1h * 60 * 60 =3600 segundos.
bantime = 3600
Maxretry: Es el número máximo de intentos que queremos que fail2ban pase por alto, lo
normal es dar un poco de margen y poner cinco fallos como máximo en este caso va a ser
3, pero esto siempre va a gusto.
maxretry = 3
[ssh-iptables]: Aquí podemos configurar si está activo para el servicio SSH, que nos envié un
email al banear una ip o guardarlo en un archivo.
enabled = true
filter = sshd
action = iptables[name=SSH, port=22, protocol=tcp]
logpath = /var/log/[Link]
maxretry = 3
Una vez hayamos terminado de configurar el archivo de fail2ban a nuestro gusto, reiniciamos el
servicio.
Service fail2ban restart
Y comprobamos si el funcionamiento es correcto.
Service fail2ban status
Fuentes:
[Link]
[Link]
protecci%C3%B3n-contra-intentos-de-conexi%C3%B3n