EQVPS

Cómo configurar fail2ban para bloquear ataques de fuerza bruta

Detén las constantes adivinanzas de contraseña contra tu servidor: fail2ban vigila tus logs y banea automáticamente las IPs que fallan el inicio de sesión demasiadas veces. Instálalo, activa la jail de SSH y ajusta las reglas de baneo — en unos pocos comandos.

Aunque tengas todo lo demás bien cerrado, los bots nunca dejan de probar contraseñas contra el puerto 22 — es ruido de fondo y carga constantes. fail2ban vigila tus logs y banea automáticamente cualquier IP que falle el inicio de sesión demasiadas veces, así que los atacantes quedan bloqueados tras unos pocos intentos en vez de seguir adivinando para siempre. Es una instalación pequeña y una gran caída en el spam de logs.

1. Instala fail2ban

sudo apt update && sudo apt install -y fail2ban

2. Crea una configuración local

Nunca edites directamente el jail.conf de origen — sobrescríbelo en jail.local:

sudo tee /etc/fail2ban/jail.local > /dev/null <<'EOF'
[DEFAULT]
# don't ban yourself — add your home/office IP
ignoreip = 127.0.0.1/8 ::1
bantime  = 1h
findtime = 10m
maxretry = 5

[sshd]
enabled = true
EOF

Eso banea una IP durante una hora tras 5 inicios de sesión fallidos en 10 minutos. Añade tu propia IP a ignoreip para que una contraseña mal escrita nunca te deje fuera.

3. Inícialo y actívalo al arrancar

sudo systemctl enable --now fail2ban

4. Comprueba la jail de SSH

sudo fail2ban-client status sshd

Verás cuántas IPs están baneadas ahora mismo — a menudo un número sorprendente en cuestión de minutos.

Gestionar baneos

sudo fail2ban-client set sshd unbanip 1.2.3.4   # lift a ban
sudo fail2ban-client status                     # list all jails
sudo systemctl reload fail2ban                  # apply config changes

Advertencias honestas

Siguientes pasos

fail2ban es una capa más de un servidor endurecido. Combínalo con la autenticación por clave SSH y un cortafuegos UFW, y recorre la checklist de seguridad de un VPS nuevo antes de exponer nada a internet.

Preguntas frecuentes

¿Qué hace exactamente fail2ban?

Vigila archivos de log (como el log de autenticación de SSH) buscando fallos repetidos desde la misma IP, y cuando una IP supera un umbral añade un baneo temporal en el firewall. Los bots que machacan el puerto 22 todo el día quedan bloqueados tras unos pocos intentos en vez de seguir adivinando para siempre. Es protección automática y continua.

¿Sigo necesitando fail2ban si uso claves SSH?

Resuelven problemas distintos. Las claves SSH hacen que adivinar sea prácticamente imposible; fail2ban detiene el ruido y la carga de intentos interminables, y protege cualquier otro servicio que expongas (correo, inicios de sesión web). Con SSH solo por clave el riesgo ya es bajo, pero fail2ban es defensa en profundidad barata y reduce el spam de logs.

¿Puede fail2ban banearme por error?

Puede, si te equivocas al escribir tu propia contraseña varias veces — quedarías baneado durante el bantime, y luego se te desbanea automáticamente. Para no quedarte fuera nunca por accidente, añade tu propia IP a 'ignoreip' en la configuración, y recuerda que una consola del proveedor (EQVPS tiene una) siempre te devuelve el acceso.

¿Cómo veo quién está baneado, o desbaneo una IP?

Usa 'sudo fail2ban-client status sshd' para ver la jail y las IPs baneadas. Para levantar un baneo: 'sudo fail2ban-client set sshd unbanip 1.2.3.4'. Para añadir una IP de confianza de forma permanente, ponla en ignoreip y recarga.

¿Qué son bantime, findtime y maxretry?

maxretry es cuántos fallos se permiten, findtime es la ventana en la que se cuentan, y bantime es cuánto dura el baneo. Por ejemplo, 5 fallos en 10 minutos activa un baneo de 1 hora. Aumenta bantime (o ponlo a un valor más largo) para atacantes más persistentes.

Comentarios

Aún no hay comentarios. Sé el primero.

Deja un comentario

Los comentarios se moderan antes de aparecer.