Inicio > Gestión de paquetes y sistema > fail2ban

Guía Completa de Fail2Ban

Fail2Ban es una herramienta de seguridad que bloquea automáticamente los ataques de fuerza bruta en el servidor. A través de esta guía, aprende todo sobre la instalación, configuración y comandos principales de Fail2Ban.

Método de Instalación

Fail2Ban está disponible como un paquete básico en la mayoría de las distribuciones de Linux. Puedes instalarlo fácilmente utilizando los siguientes comandos.

Debian/Ubuntu

sudo apt-get update
sudo apt-get install fail2ban

CentOS/RHEL

sudo yum install epel-release
sudo yum install fail2ban

Iniciar y habilitar el servicio Fail2Ban después de la instalación

sudo systemctl start fail2ban
sudo systemctl enable fail2ban

Después de la instalación, inicia el servicio y configúralo para que se ejecute automáticamente al arrancar.

Archivos de Configuración Principales

La configuración principal de Fail2Ban se realiza en los archivos `jail.conf` y `jail.local`. Es una buena práctica no modificar el archivo original `jail.conf` y crear `jail.local` para sobrescribir la configuración.

⚙️ Ubicación de los Archivos de Configuración Principales

/etc/fail2ban/jail.conf

📝 Archivo de Configuración Personalizado (Recomendado)

/etc/fail2ban/jail.local

Para cambiar la configuración de `jail.conf`, crea este archivo y añade solo las configuraciones que desees. Este método evita que el archivo original sea sobrescrito durante las actualizaciones.

Ejemplo de Configuración Principal en jail.local

A continuación se presentan las opciones de configuración que a menudo se añaden al archivo `jail.local`. Estas configuraciones permiten controlar de manera detallada el funcionamiento de Fail2Ban.

  • [sshd]: Inicia la configuración para el servicio sshd.
  • enabled = true: Activa esta jail.
  • port = ssh: Designa el puerto ssh (por defecto 22) como objetivo de protección.
  • maxretry = 5: Bloquea si el número de intentos fallidos de inicio de sesión supera 5 durante el tiempo especificado (findtime).
  • bantime = 10m: Establece el tiempo de bloqueo (10 minutos).
  • findtime = 10m: Establece el tiempo (10 minutos) para calcular el número de intentos fallidos de inicio de sesión.

Comandos Principales

Estos son los comandos principales utilizados para verificar el estado del servicio Fail2Ban o para bloquear/desbloquear IPs manualmente.

Verificar el estado del servicio Fail2Ban

sudo systemctl status fail2ban

Verifica si el servicio Fail2Ban está funcionando correctamente.

Verificar los registros de Fail2Ban

sudo journalctl -u fail2ban

Consulta los registros detallados de acciones, como la lista de IPs bloqueadas por Fail2Ban.

Bloquear manualmente una IP específica

sudo fail2ban-client set sshd banip 1.2.3.4

Bloquea manualmente una dirección IP en la jail `sshd`.

Desbloquear manualmente una IP específica

sudo fail2ban-client set sshd unbanip 1.2.3.4

Desbloquea manualmente una dirección IP previamente bloqueada en la jail `sshd`.

Ver lista de IPs bloqueadas actualmente

sudo fail2ban-client status sshd

Consulta la lista de direcciones IP actualmente bloqueadas por la jail `sshd`.


Comandos de la misma categoría