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:
- Forzar SSH Key-Only en
/etc/ssh/sshd_config. - Cambiar el puerto SSH por defecto (opcional, pero reduce el 95% del escaneo automatizado).
- Activar UFW permitiendo solo los puertos estrictamente necesarios.
- 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.