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`.