La seguridad en servidores Linux es fundamental para protegerse contra ataques de fuerza bruta y accesos no autorizados. Fail2ban es una herramienta poderosa que ayuda a mitigar estos riesgos mediante la detección y el bloqueo automático de direcciones IP sospechosas. En este tutorial, aprenderás a instalar y configurar Fail2ban en tu servidor Linux.
¿Qué es Fail2ban y por qué usarlo?
Fail2ban monitorea archivos de registro en busca de intentos fallidos de autenticación y bloquea automáticamente las direcciones IP maliciosas mediante reglas de firewall. Es una herramienta esencial para proteger servicios como SSH, Apache, Nginx y otros.
Paso 1: Instalar Fail2ban
En Ubuntu/Debian:
Ejecuta los siguientes comandos para instalar Fail2ban:
sudo apt update && sudo apt upgrade -y
sudo apt install fail2ban -y
En CentOS/RHEL:
Para CentOS y RHEL, primero habilita el repositorio EPEL y luego instala Fail2ban:
sudo yum install epel-release -y
sudo yum install fail2ban -y
Después de la instalación, habilita y ejecuta el servicio:
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
Paso 2: Configurar Fail2ban
La configuración principal de Fail2ban se encuentra en el archivo /etc/fail2ban/jail.conf
, pero es recomendable crear una copia llamada jail.local
para evitar que las actualizaciones sobrescriban los cambios:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
Dentro del archivo, puedes modificar los siguientes parámetros según tus necesidades:
[DEFAULT]
bantime = 10m
findtime = 10m
maxretry = 5
bantime
: Duración del bloqueo de una IP.findtime
: Período en el que se cuentan los intentos fallidos.maxretry
: Número de intentos fallidos antes de bloquear la IP.
Habilitar protección para SSH
En el mismo archivo jail.local
, busca la sección [sshd]
y asegúrate de que esté habilitada:
[sshd]
enabled = true
port = 22
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
Paso 3: Reiniciar y verificar el estado de Fail2ban
Aplica los cambios y reinicia Fail2ban:
sudo systemctl restart fail2ban
Para verificar el estado del servicio y las IP bloqueadas:
sudo fail2ban-client status sshd
Paso 4: Desbloquear una IP en Fail2ban
Si necesitas desbloquear una IP bloqueada por error, usa el siguiente comando:
sudo fail2ban-client set sshd unbanip 192.168.1.100
(Reemplaza 192.168.1.100
con la IP real que deseas desbloquear).
Conclusión
Con Fail2ban instalado y configurado, tu servidor Linux estará mejor protegido contra ataques de fuerza bruta y accesos no autorizados. Recuerda revisar los logs periódicamente y ajustar las reglas según las necesidades de seguridad de tu servidor. ¡Mantén tu sistema seguro!