Amigos, en este post explicaré como instalar un sistema de detección de intrusos, las configuraciones pueden aplicarse a servidores Debian y Ubuntu.
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.
https://es.wikipedia.org/wiki/Fail2ban
Fail2ban busca en los logs de los programas que se especifiquen las reglas que el usuario decida para poder aplicar una penalización. Despues de un número de intentos fallidos Fail2ban puede bloquear la IP del atacante, bloquear un puerto o varios puertos por un tiempo determinado.
Instalación de Fail2ban
La instalación es bastante sencilla, sólo se necesita ejecutar los siguientes comandos:
# apt-get update
# apt-get install fail2ban
Despues de finalizar la instalación será necesario habilitar e iniciar el servicio.
# systemctl start fail2ban
# systemctl enable fail2ban
Configurando un Jail
Un «Jail» es la regla que determina la penalización del host atacante.
Fail2ban para SSH
Ahora vamos a configurar un Jail para los intentos de login por el protocolo SSH. Será necesario crear un archivo de configuración que tenga el siguiente contenido:
# nano /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:
# systemctl restart fail2ban
En la web oficial de fail2ban https://www.fail2ban.org/wiki/index.php/Commands se puede encontrar mas información.
En los próximos post mostraré como configurar fail2ban con WordPress, Apache y otros servicios.