Blog - Jorge Rodriguez Flores
← Volver al blog

Sistema de detección de intrusos con fail2ban

Sistema de detección de intrusos con fail2ban

En este post se explicará como instalar un sistema de detección de intrusos, las configuraciones pueden aplicarse a servidores basados en distribuciones Debian y Fedora, la aplicación del cual hablaremos es fail2ban

Fail2ban es una aplicación escrita en Python para la prevención de intrusos en un sistema, que actúa penalizando o bloqueando las conexiones remotas que intentan accesos por fuerza bruta.

Para entender cómo trabaja vamos a definir primero una serie de conceptos clave:

  • Filter: define la expresión regular que encaja con los logs correspondientes a un fallo de autenticación o cualquier otra expresión que definamos.
  • Action: no son más que una serie de comandos que se ejecutan en determinadas situaciones.
  • Jail: combinación de un filter y una o más actions.

Instalación de Fail2ban

Estas son las instrucciones tomando como base, distribuciones basadas en Debian.

apt-get install fail2ban

Después de finalizar la instalación será necesario habilitar e iniciar el servicio.

systemctl start fail2ban
systemctl enable fail2ban

Configurando un Jail

Un Jail es una regla o política que determina la penalización del host atacante, tambien se considera como una combinación de un filtro y una o varias acciones, ahora vamos a configurar un Jail para los intentos de login por el protocolo SSH, por lo que será necesario crear un archivo de configuración que tenga el siguiente contenido:

vim /etc/fail2ban/jail.d/ssh.conf

[sshd]
enabled = true
port = 22
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 600

Esta configuración aplicará los filtros de fail2ban para SSHD en el puerto 22, monitoreará el archivo /var/log/auth.log, permitirá un máximo de tres intentos fallidos y bloqueará el IP atacante por 600 segundos, para aplicar los cambios será necesario reiniciar el servicio, por lo que ejecutaremos lo siguiente:

systemctl restart fail2ban

Mayor información en https://www.fail2ban.org/wiki/index.php/Commands