Seguridad · Criptografía · Infraestructura
Hardening SSH – Autoridades de Certificación, FIDO2 y más
SSH es la superficie de acceso más crítica en cualquier servidor Linux, y su configuración por defecto deja un margen significativo de mejora. Un setup SSH endurecido va mucho más allá de deshabilitar la autenticación por contraseña — implementa un modelo completo de confianza basado en certificados, verificación de presencia física y mitigación activa de fuerza bruta.
Autoridades de Certificación SSH
En lugar de distribuir claves públicas individuales a cada servidor, una CA SSH firma claves de usuario y host de forma centralizada. Cada servidor confía en la clave pública de la CA (TrustedUserCAKeys), y cada usuario se autentica con un certificado firmado que lleva su nombre de usuario, período de validez y principals permitidos. Revocar el acceso significa revocar el certificado en la CA — no buscar archivos authorized_keys por toda la flota.
FIDO2 / Llaves de seguridad hardware
SSH soporta tipos de clave ed25519-sk y ecdsa-sk que están respaldados por tokens hardware FIDO2 (YubiKey, Nitrokey). El material de clave privada nunca sale del dispositivo. La autenticación requiere que el usuario toque físicamente el dispositivo, proporcionando autenticación genuina de dos factores: posesión del dispositivo y presencia de la persona. PubkeyAuthOptions verify-required lo impone del lado del servidor.
Defensas por capas
- SSHGuard: bloqueo adaptativo basado en puntuación de intentos fallidos, con soporte de lista blanca
- Bits inmutables: chattr +i en archivos de configuración críticos previene la modificación incluso por root
- Restricciones criptográficas: solo Curve25519 KEX, cifrados ChaCha20-Poly1305, MACs ETM
- AllowUsers: lista blanca explícita para que ninguna cuenta de servicio pueda hacer SSH
- Banner: aviso legal mostrado antes de la autenticación