SecuryBlack LogoSecuryBlack
← Blog/Seguridad

Fail2ban vs llaves SSH: ¿Qué necesitas realmente para asegurar un VPS?

·8 min de lectura
Fail2ban vs llaves SSH: ¿Qué necesitas realmente para asegurar un VPS?

Cualquier servidor VPS recién creado en Hetzner, DigitalOcean o AWS recibe miles de intentos de acceso automatizados al día. Al abordar la seguridad de tus servidores, es fundamental seguir una guía de hardening y seguridad de VPS bien estructurada para evitar vulnerabilidades de acceso.

En este artículo comparamos dos mecanismos de defensa fundamentales: la autenticación exclusiva mediante llaves SSH criptográficas y el uso de Fail2ban.


1. Llaves SSH criptográficas: La primera línea de defensa

Desactivar la autenticación por contraseña (PasswordAuthentication no) e imponer el uso exclusivo de claves públicas/privadas SSH elimina por completo los ataques de diccionario tradicionales.

  • Ventajas: Inmune a intentos de adivinar contraseñas (fuerza bruta).
  • Limitaciones: No impide que las botnets sigan realizando intentos de conexión al puerto 22, lo que genera registros de log masivos y consume recursos del proceso sshd.

2. Fail2ban: Bloqueo activo de botnets en el cortafuegos

Fail2ban es un demonio de seguridad que analiza continuamente los registros de sistema (/var/log/auth.log o journalctl). Cuando detecta múltiples intentos de conexión fallidos desde una misma IP, modifica dinámicamente el cortafuegos (UFW / iptables) para bloquear el acceso de esa IP durante un tiempo determinado.

  • Ventajas: Reduce drásticamente el ruido en los logs y libera recursos de CPU.
  • Limitaciones: Si los bots atacan desde botnets distribuidas (miles de IPs distintas haciendo 1 solo intento cada una), Fail2ban puede ser menos efectivo por sí solo.

3. La combinación recomendada: Hardening automatizado

La mejor práctica en producción no es elegir uno u otro, sino combinar ambos:

  1. Forzar SSH Key-Only en /etc/ssh/sshd_config.
  2. Cambiar el puerto SSH por defecto (opcional, pero reduce el 95% del escaneo automatizado).
  3. Activar UFW permitiendo solo los puertos estrictamente necesarios.
  4. Configurar Fail2ban para mitigar la saturación de conexiones.

Con el agente de seguridad en Rust FerroSentry integrado en SecuryBlack, este proceso de hardening se realiza y audita continuamente sin riesgo de quedarte bloqueado fuera de tu propio servidor.