SSH es una de las piezas más críticas en cualquier servidor Linux. Es la puerta de entrada para la administración remota y, por tanto, uno de los primeros objetivos en auditorías de seguridad o escaneos de vulnerabilidades con herramientas como Nessus u OpenVAS.
Uno de los hallazgos más habituales en estos análisis es el temido “SSH Weak KEX”, que indica que el servidor aún permite algoritmos de intercambio de claves (Key Exchange, KEX) considerados débiles u obsoletos. Aunque el sistema funcione “correctamente”, mantener estos algoritmos activos supone un riesgo innecesario.
En esta entrada veremos, paso a paso, cómo endurecer (hardening) la configuración de SSH en Rocky Linux 9, deshabilitando KEX inseguros y asegurándonos de que el servidor solo acepte algoritmos modernos y robustos, sin comprometer la compatibilidad con clientes actuales.
Tabla de contenidos
Antes de entrar en comandos, merece la pena detenerse brevemente en la parte conceptual.
El Key Exchange es el mecanismo que permite a cliente y servidor SSH acordar una clave criptográfica segura al inicio de la conexión. Si este proceso utiliza algoritmos antiguos (por ejemplo, algunos basados en SHA-1), toda la sesión se debilita, aunque el resto de la configuración sea correcta.
Por eso, eliminar KEX obsoletos no es solo “cumplir una auditoría”: es cerrar una puerta real a posibles ataques criptográficos.
En Rocky Linux 9 (y en el resto de distribuciones basadas en Red Hat Enterprise Linux, así como en sistemas modernos con OpenSSH), el archivo principal de configuración incluye directivas adicionales desde un directorio específico:
Include /etc/ssh/sshd_config.d/*.conf
Esto permite una aproximación mucho más limpia y mantenible: en lugar de modificar directamente sshd_config, podemos crear archivos específicos para cada objetivo.
Creamos nuestro archivo de hardening:
sudo vi /etc/ssh/sshd_config.d/hardening.conf
Y añadimos el siguiente contenido:
# Disable weak key exchange algorithms KexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256
Con esta configuración indicamos explícitamente que solo se permiten algoritmos de intercambio de claves seguros y modernos, dejando fuera opciones débiles como diffie-hellman-group1-sha1, que suelen ser las responsables de los avisos en auditorías.
Hay un paso que nunca debería omitirse cuando se trabaja con SSH: validar la configuración antes de reiniciar el servicio.
sudo sshd -t
Este pequeño gesto puede ahorrarte un bloqueo remoto del servidor.
Una vez validada la configuración, podemos aplicar los cambios:
sudo systemctl restart sshd
⚠️ Importante: no cierres tu sesión SSH actual hasta confirmar que puedes reconectarte correctamente. Una buena práctica consiste en abrir una segunda sesión de prueba antes de dar por finalizado el proceso.
Para verificar que SSH está utilizando exactamente los algoritmos que hemos definido:
sshd -T | grep kex
La salida debería ser similar a:
kexalgorithms curve25519-sha256,curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256
Esto confirma dos aspectos clave:
Si quieres ir un paso más allá, puedes comprobar activamente que un KEX débil ya no es aceptado. Desde otra máquina, intenta forzar un algoritmo antiguo:
ssh -oKexAlgorithms=diffie-hellman-group1-sha1 usuario@IP_DEL_SERVIDOR
El resultado esperado es:
no matching key exchange method found
Este mensaje es una buena señal: significa que el servidor rechaza activamente conexiones inseguras.
Con este sencillo ajuste de hardening:
Pequeños cambios como este marcan una gran diferencia en la superficie de ataque de un servidor. Y lo mejor es que, una vez aplicado, se convierte en un problema del que puedes olvidarte durante mucho tiempo.
Nota: La imagen de este artículo fue generada utilizando un modelo de inteligencia artificial.
“El interés compuesto es la octava maravilla del mundo. El que lo entiende lo gana…
Tienes los datos de ventas de tres productos en dos años distintos y quieres saber…
Imagina la situación. Tu equipo lleva tres años con un modelo en producción. No es…
Cuando un banco evalúa una solicitud de crédito necesita responder a una pregunta aparentemente simple:…
En el octavo aniversario de Analytics Lane seguimos ampliando nuestro laboratorio de aplicaciones interactivas y,…
Hoy, 2 de mayo de 2026, Analytics Lane cumple exactamente ocho años. Todo empezó con…
This website uses cookies.