Volver a herramientas

Parámetros de configuración

  • enabled: Activa o desactiva el jail
  • port: Puertos a proteger (separados por coma)
  • protocol: Protocolo (tcp, udp, any)
  • filter: Filtro de Fail2Ban a utilizar
  • logpath: Ruta al archivo de log a monitorear
  • maxretry: Número de intentos fallidos antes de banear
  • findtime: Ventana de tiempo para contar intentos (segundos)
  • bantime: Tiempo de baneo inicial (segundos)
  • bantime.increment: Aumenta el tiempo de baneo progresivamente
  • ignoreip: IPs que nunca serán baneadas

Ejemplo de jail.local


[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
findtime = 600
bantime = 3600
              

Preguntas frecuentes

¿Cómo instalar y configurar Fail2Ban para proteger SSH en Linux?

Instala Fail2Ban con `apt install fail2ban` (Debian/Ubuntu) o `yum install fail2ban` (CentOS/RHEL). La configuración principal está en `/etc/fail2ban/jail.conf`, pero no debe editarse directamente. Crea `/etc/fail2ban/jail.local` con `[sshd] enabled = true port = ssh logpath = %(sshd_log)s maxretry = 5 bantime = 3600 findtime = 600`. `maxretry` permite 5 intentos antes del bloqueo, `bantime` es la duración del baneo en segundos (3600 = 1 hora). Reinicia: `systemctl restart fail2ban`.

¿Qué valores de bantime, maxretry y findtime recomienda Fail2Ban?

Los valores recomendados para Fail2Ban dependen del servicio y riesgo. Para SSH: `maxretry = 5` (intentos fallidos antes de banear), `findtime = 600` (ventana de tiempo en segundos, 10 minutos), `bantime = 3600` (duración del baneo, 1 hora). Para servicios expuestos a Internet usa `maxretry = 3`, `bantime = 86400` (24h). Fail2Ban soporta `bantime.increment = true` que duplica el tiempo de baneo en cada reincidencia.

¿Cómo configurar Fail2Ban para proteger Nginx contra ataques de fuerza bruta?

Fail2Ban incluye jails predefinidos para Nginx. Actívalos en `jail.local`: `[nginx-http-auth] enabled = true port = http,https filter = nginx-http-auth logpath = /var/log/nginx/error.log maxretry = 5 bantime = 3600`. Para proteger contra bots maliciosos: `[nginx-badbots] enabled = true`. Para limitar requests: `[nginx-limit-req] enabled = true`. Cada jail usa filtros específicos en `/etc/fail2ban/filter.d/`. Puedes crear filtros personalizados para tu aplicación.

¿Cómo configurar Fail2Ban para proteger Postfix y Dovecot en servidores de correo?

En `/etc/fail2ban/jail.local` añade: `[postfix] enabled = true port = smtp,submission logpath = /var/log/mail.log maxretry = 3 bantime = 86400` y `[dovecot] enabled = true port = imap,imaps,pop3,pop3s logpath = /var/log/mail.log maxretry = 3 bantime = 86400`. Los filtros detectan autenticaciones fallidas en SMTP (AUTH LOGIN/PLAIN) y protocolos IMAP/POP3. Monitorea con `fail2ban-client status postfix` y `fail2ban-client status dovecot`.