Si hace poco os mostraba como securizar SSH mediante el archivo de configuración sshd_config, hoy vamos a retomar el tema, pero instalando Fail2Ban.
Fail2Ban es una herramienta de código abierto que nos permite bloquear los ataques externos hacia nuestro servidor.
El método que usa para funcionar consiste en revisar los logs de autenticación fallidos y según las reglas que hayamos establecido, podemos "banear" la IP del atacante. También nos puede ayudar a la hora de mitigar los taques DoS o de denegación de servicio.
Vamos al lío. Lo primero actualizamos nuestro sistema.
sudo apt-get update
Ahora damos paso a la instalación de Fail2Ban.
sudo apt-get install fail2ban
Una vez instalado, vamos a configurarlo. Desde la documentación de Fail2Ban aconsejan que la configuración la realicemos en archivos con extensión .local, así que vamos a copiarlo para comenzar la configuración.
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Ahora editamos el archivo jail.local.
vi /etc/fail2ban/jail.local
Los paramentros son los siguientes:
- Ignoreip: Son las direcciones IP que no tendrán restricciones, es decir, las que no vamos a banear (las nuestras). Por defecto aparece la dirección localhost expresada en formato CIDR.
- Bantime: Es el tiempo que van a estar las direcciones bloqueadas (las que nos ataquen).
- Maxretry: Son las veces que alguien va a poder intentar logarse antes de que sea baneado.
En el ejemplo se ignora la IP 127.0.0.1/8, es decir, a nosotros mismos. El tiempo que una IP no podrá volver a conectarse es de 600 segundos (10 minutos) y los intentos máximos quedan establecidos en tres.
Lo siguiente que podemos establecer, es la dirección de correo que recibirá las alertas en caso de que alguien intente un ataque. Por defecto aparece root@localhost.
Siguiendo el orden del fichero jail.local, podemos configurar las acciones que se llevarán a cabo frente a un posible ataque.
En este ejemplo, por defecto lo que hace es bloquear la dirección IP del atacante y enviar un e-mail al administrador.
Para terminar, en la parte de Jails lo que haremos es definir los parámetros del servicio que vamos a proteger. Por ejemplo y ya que estamos, lo vemos con SSH.
Por el momento esto es todo, solo nos resta reiniciar Fail2Ban para tenerlo listo.
/etc/init.d/file2ban restart
Roberto García (@1GbDeInfo)