Cómo Proteger tu Servidor con Fail2Ban en Linux

La seguridad de un servidor es una prioridad fundamental para cualquier administrador de sistemas.

Una de las herramientas más eficaces para prevenir ataques es Fail2Ban, un software que monitorea los archivos de registro y bloquea direcciones IP sospechosas.

En este artículo, aprenderás qué es Fail2Ban, cómo instalarlo y configurarlo para proteger tu servidor Linux.

¿Qué es Fail2Ban?

Fail2Ban es una herramienta de prevención de intrusiones que analiza los registros del sistema en busca de patrones de actividad maliciosa.

Cuando detecta intentos de acceso sospechosos, bloquea la dirección IP del atacante por un tiempo determinado, reduciendo así las posibilidades de un ataque exitoso.

¿Por qué usar Fail2Ban?

Algunas razones clave para utilizar Fail2Ban incluyen:

  • Automatización: Bloquea automáticamente las IPs sospechosas.
  • Mayor seguridad: Reduce el riesgo de ataques de fuerza bruta.
  • Notificaciones: Envía alertas sobre intentos de acceso fallidos.

Instalación de Fail2Ban

Fail2Ban está disponible en los repositorios de la mayoría de distribuciones Linux. En Ubuntu y Debian, puedes instalarlo con los siguientes comandos:

sudo apt update && sudo apt install fail2ban -y

Luego, inicia y habilita el servicio para que se ejecute automáticamente:

sudo systemctl start fail2ban
sudo systemctl enable fail2ban

Verifica que Fail2Ban esté en ejecución con:

sudo systemctl status fail2ban

Configuración de Fail2Ban

Los archivos de configuración se encuentran en el directorio /etc/fail2ban/.

Si quieres evitar que las actualizaciones sobrescriban los cambios, copia el archivo de configuración predeterminado:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Edita el archivo jail.local con:

sudo nano /etc/fail2ban/jail.local

Algunas configuraciones clave que puedes ajustar:

Configurar tiempo de bloqueo

Modifica el valor de bantime para definir el tiempo que una IP permanecerá bloqueada:

bantime = 1h  # Una hora de bloqueo

Puedes cambiarlo a minutos (m), días (d) o semanas (w).

Definir intentos fallidos

Los parámetros maxretry y findtime determinan cuántos intentos fallidos se permiten antes de bloquear la IP:

maxretry = 3  # Bloquear después de 3 intentos fallidos
findtime = 5m # Contar intentos fallidos en un intervalo de 5 minutos

Habilitar notificaciones por correo

Para recibir alertas por correo, configura las siguientes opciones:

destemail = tuemail@ejemplo.com
sendername = Fail2Ban
mta = sendmail  # Puedes usar otro servicio de correo

Activar protección para SSH

Para habilitar la protección en el servicio SSH, asegúrate de que la siguiente configuración esté activada:

[sshd]
enabled = true

Después de realizar los cambios, guarda el archivo y reinicia Fail2Ban:

sudo systemctl restart fail2ban

Verificación y pruebas

Puedes probar la configuración intentando iniciar sesión con credenciales incorrectas vía SSH varias veces.

Luego, revisa las IPs bloqueadas con:

sudo fail2ban-client status sshd

Para ver las reglas activas en iptables:

sudo iptables -S | grep f2b

Conclusión

Fail2Ban es una herramienta eficaz para proteger tu servidor de intentos de intrusión y ataques de fuerza bruta.

Con una configuración adecuada, puedes mejorar significativamente la seguridad de tu sistema y reducir riesgos de accesos no autorizados.


Descubre más desde CIBERED

Suscríbete y recibe las últimas entradas en tu correo electrónico.

Deja un comentario