Cambiar el puerto por defecto es «seguridad por oscuridad». Si expones SSH a internet, estás bajo ataque automatizado constante. La clave no es esconder el servicio, sino reducir la superficie de ataque y eliminar la autenticación basada en contraseñas.
Configuración Crítica (/etc/ssh/sshd_config)
Asegúrate de aplicar estas directivas para minimizar vectores de entrada no autorizados:
# Deshabilitar contraseñas, solo llaves públicas
PasswordAuthentication no
ChallengeResponseAuthentication no
# Restringir acceso solo a usuarios necesarios
AllowUsers admin_sys ops_user
# Deshabilitar root directamente
PermitRootLogin no
# Limitar intentos de autenticación antes de cerrar conexión
MaxAuthTries 3
# Usar protocolos modernos
KexAlgorithms curve25519-sha256@libssh.org
Auditoría Rápida y Mitigación
Si el servidor ya está bajo escaneo constante, verifica los intentos fallidos en los logs:
$ grep "Failed password" /var/log/auth.log | tail -n 20
Si ves actividad sospechosa, despliega Fail2Ban inmediatamente o aplica reglas de filtrado de paquetes basado en iptables.
Recomendación avanzada
Deja de usar llaves RSA de 2048 bits. Migra a ed25519 para mayor seguridad y mejor rendimiento computacional. Si manejas infraestructura crítica, implementa llaves de seguridad FIDO2 (sk-ssh-ed25519@openssh.com). Esto exige contacto físico (pulsar el botón en tu YubiKey/Titan) para autenticarte, lo que neutraliza el riesgo de robo de llaves privadas desde el disco del cliente.
0 comentarios