
Hace pocos días se dio a conocer el lanzamiento de la nueva versión de OpenSSH 10.0, la cual trae consigo una serie de cambios significativos en la seguridad, la eficiencia y la preparación para futuros desafíos tecnológicos, como la criptografía post-cuántica.
Esta nueva versión elimina definitivamente el soporte para DSA, refuerza el aislamiento del proceso de autenticación con el nuevo módulo sshd-auth y adopta un algoritmo híbrido de intercambio de claves resistente a ataques cuánticos. Introduce mejoras en configuración con expresiones avanzadas y mayor flexibilidad, y moderniza sus algoritmos al desactivar Diffie-Hellman heredado.
DSA dice adiós de manera definitiva en OpenSSH 10.0
Uno de los cambios más importantes de OpenSSH 10.0 es la eliminación completa del soporte para firmas digitales basadas en DSA, un algoritmo considerado obsoleto desde hace tiempo por no cumplir con los estándares de seguridad actuales. Aunque el uso de claves DSA estaba desactivado por defecto desde 2015, ahora se elimina su soporte por completo del código base.
Mayor aislamiento del proceso de autenticación
Otra de las novedades que presenta OpenSSH 10.0 es la separación progresiva de componentes críticos del servidor sshd. Mientras que en OpenSSH 9.8 sshd se dividio, en esta nueva versión se mueve el código de autenticación a un proceso independiente denominado sshd-auth. Esto permite que los datos sensibles relacionados con la autenticación permanezcan aislados en un espacio de memoria separado, ofreciendo una capa adicional de protección frente a posibles vulnerabilidades en etapas previas a la autenticación. Además, al descargar este código una vez completada la autenticación, se consigue una ligera reducción en el consumo de memoria.
Intercambio de claves resistente a ataques cuánticos
OpenSSH 10.0 se destaca por adoptar, por defecto un algoritmo híbrido de intercambio de claves que combina X25519 ECDH con ML-KEM (CRYSTALS-Kyber), llamado mlkem768x25519-sha256. Este proporciona resistencia ante ataques cuánticos gracias al uso de criptografía basada en problemas de teoría de redes, que conservan la misma dificultad computacional tanto en arquitecturas clásicas como cuánticas. Ambos algoritmos están siendo estandarizados por el NIST, lo que refuerza la confianza en su solidez.
Expresiones avanzadas y flexibilidad en configuración
La versión 10.0 añade mejoras sustanciales en los archivos de configuración ssh_config y sshd_config. Ahora se admite la sustitución de tokens y expansión de variables de entorno en las directivas SetEnv y User, lo que facilita configuraciones más dinámicas. También se incorpora la opción Match versión, que permite aplicar reglas condicionales según la versión de OpenSSH detectada.
Además, se amplía el soporte para expresiones Match, incluyendo condiciones basadas en el tipo de sesión (Match sessiontype), comandos específicos (Match exec-command) e incluso etiquetas vacías o comandos omitidos.
Cambios en algoritmos, cifrados y nuevos controles en OpenSSH 10.0
Continuando con la eliminación de algoritmos heredados, OpenSSH 10.0 desactiva por defecto el uso de Diffie-Hellman basado en campos finitos, eliminando las variantes diffie-hellman-group* y diffie-hellman-group-exchange-*, en su lugar, se priorizan algoritmos más modernos y eficientes
También se refuerza la seguridad operacional: ssh-agent ahora elimina todas las claves cargadas al recibir la señal SIGUSR1, y se añade la posibilidad de activar sockets al estilo systemd mediante los indicadores LISTEN_PID y LISTEN_FDS.
En el ámbito de autenticación por hardware, ssh-keygen añade soporte para tokens FIDO que no devuelven datos de certificación, como Windows Hello. Se incluye además una nueva utilidad experimental, ssh-verify-attestation, pensada para validar datos generados por dispositivos FIDO durante el registro de claves.
Mejoras en el cliente, herramientas y configuración avanzada
El cliente SSH incorpora la opción VersionAddendum, que permite añadir texto personalizado a la línea de versión, una funcionalidad que hasta ahora solo estaba disponible en el servidor. Las utilidades scp y sftp ganan una opción predeterminada que impide la reutilización de conexiones existentes, mejorando la seguridad y el control de sesiones.
Se permite el uso de máscaras de archivos en las directivas AuthorizedKeysFile y AuthorizedPrincipalsFile, facilitando la gestión de claves en sistemas con múltiples usuarios o configuraciones dinámicas.
Cambios en la versión portátil y refuerzos de seguridad
En la versión portátil de OpenSSH 10.0, se implementa soporte para AWS-LC, una biblioteca criptográfica desarrollada por Amazon con fines de compatibilidad y rendimiento. Se suma soporte para wtmpdb, una versión moderna de wtmp que es resistente al problema del año 2038. Además, se incluyen nuevas opciones de compilación para bloquear sshd en memoria y para construir una biblioteca autónoma sk-libfido2 enfocada en llaves de seguridad FIDO.
Por último, se corrige un problema crítico de seguridad: la directiva DisableForwarding no deshabilitaba correctamente el reenvío de X11 ni las llamadas a ssh-agent. Aunque estas opciones están desactivadas por defecto en el servidor y cliente respectivamente, la corrección asegura un comportamiento coherente y seguro.
Si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.
¿Como instalar OpenSSH en Linux?
Para quienes estén interesados en poder instalar esta nueva versión de OpenSSH en sus sistemas, de momento podrán hacerlo descargando el código fuente de este y realizando la compilación en sus equipos.
Esto es debido a que la nueva versión aún no se ha incluido dentro de los repositorios de las principales distribuciones de Linux. Para obtener el código fuente, puedes hacer desde el siguiente enlace.
Hecha la descarga, ahora vamos a descomprimir el paquete con el siguiente comando:
tar -xvf openssh-10.0.tar.gz
Entramos al directorio creado:
cd openssh-10.0
Y podremos realizar la compilación con los siguientes comandos:
./configure --prefix=/opt --sysconfdir=/etc/ssh
make
make install
Continúar leyendo...