Fail2Ban es una herramienta fundamental para proteger servidores Linux contra ataques de fuerza bruta, escaneos de puertos y accesos no autorizados. Esta guía avanzada está orientada a administradores que ya conocen la configuración básica de Fail2Ban y quieren sacarle el máximo provecho mediante comandos útiles, personalización de jails y gestión de eventos en tiempo real.

Consultar el estado general del sistema

Verifica el estado global de Fail2Ban y el listado de jails activos:

sudo fail2ban-client status

Ver el estado detallado de un jail específico

Muestra información del jail (servicio protegido): intentos, IPs bloqueadas y estadísticas.

sudo fail2ban-client status <nombre_del_jail>

Ejemplo para SSH:

sudo fail2ban-client status sshd

Listar las IPs actualmente bloqueadas

Consulta las IPs baneadas activamente en un jail:

sudo fail2ban-client status <nombre_del_jail> | grep "Banned IP list"

Desbloquear una IP manualmente

Desbanea una IP que haya sido bloqueada, por ejemplo, por un falso positivo:

sudo fail2ban-client set <nombre_del_jail> unbanip <IP>

Ejemplo:

sudo fail2ban-client set sshd unbanip 192.168.0.10

Monitorizar eventos en tiempo real (logs)

Observa en vivo qué eventos detecta Fail2Ban:

sudo tail -f /var/log/fail2ban.log

Reiniciar un jail individual

Reinicia un jail específico sin afectar otros servicios:

sudo fail2ban-client restart <nombre_del_jail>

Ver configuración interna de Fail2Ban

Revela la configuración activa: filtros, acciones, rutas de logs y parámetros aplicados.

sudo fail2ban-client -d

Ver la lista de jails habilitados

Consulta qué jails están activos y protegidos:

sudo fail2ban-client status

Bloquear o desbloquear IPs manualmente

Ban manual:

sudo fail2ban-client set <nombre_del_jail> banip <IP>

Unban manual:

sudo fail2ban-client set <nombre_del_jail> unbanip <IP>

Proteger servicios en puertos personalizados

Si el servicio corre en un puerto no estándar, puedes definir un jail personalizado.

Paso 1: Editar jail.local

sudo nano /etc/fail2ban/jail.local

Paso 2: Agregar configuración

[mi_servicio]
enabled  = true
port     = 12345
filter   = mi_servicio
logpath  = /var/log/mi_servicio.log
maxretry = 3
bantime  = 3600

Paso 3: Reiniciar Fail2Ban

sudo systemctl restart fail2ban

Nota: Asegúrate de tener un filtro válido en /etc/fail2ban/filter.d/mi_servicio.conf.


BONUS: Consejos prácticos

  • Incrementa findtime y bantime para entornos públicos.
  • Prueba expresiones regulares con fail2ban-regex.
  • Integra con ipset si manejas muchas IPs bloqueadas.

Una base sólida de protección

Con este conjunto de comandos y configuraciones avanzadas, puedes adaptar Fail2Ban a casi cualquier servicio o necesidad. Desde monitorear eventos hasta definir filtros personalizados, Fail2Ban ofrece una base sólida para proteger tu infraestructura Linux contra ataques automatizados y persistentes.

¿Quieres una guía específica para crear filtros personalizados (fail2ban-regex, filter.d) o integrar con ipset y firewalld? Pídelo y la añadimos como siguiente entrega.

DEJA UNA RESPUESTA

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí