
La nueva versión de OpenSSH 10.1 ya está disponible e introduce importantes mejoras de seguridad y funcionalidad, centradas en bloquear posibles vectores de ataque y ofrecer un mejor control a administradores y usuarios avanzados.
Uno de los cambios más destacados aborda una vulnerabilidad que permitía a un atacante manipular comandos de shell mediante caracteres especiales en nombres de usuario o URI, cuando se utilizaba la opción ProxyCommand con sustituciones del tipo %u.
Este problema afectaba principalmente a sistemas que obtenían datos de fuentes no confiables. Para solucionarlo, OpenSSH 10.1 ahora prohíbe el uso de caracteres de control y nulos en nombres de usuario pasados por línea de comandos o en URLs del tipo ssh://. Solo los valores definidos en archivos de configuración locales, considerados confiables, quedan exentos de esta restricción.
Mejoras funcionales en ssh y ssh-agent
OpenSSH 10.1 amplía el soporte de claves al permitir el uso de ed25519 almacenadas en tokens PKCS#11, lo que refuerza la seguridad criptográfica sin sacrificar flexibilidad. Además, introduce una nueva opción de configuración llamada RefuseConnection, que puede usarse para finalizar una conexión de manera controlada y mostrar mensajes personalizados, ideal para redirigir usuarios o notificar sobre servidores obsoletos.
Tanto ssh como sshd ahora incluyen manejadores de señal SIGINFO, que registran información sobre las sesiones y canales activos, facilitando la depuración y el monitoreo en tiempo real. Por su parte, el proceso de autenticación mediante certificados añade una capa adicional de transparencia: cuando una autenticación falla, el registro incluirá los detalles necesarios para identificar el certificado implicado.
Cambios que impactan la compatibilidad
OpenSSH 10.1 introduce ajustes que, aunque necesarios, pueden afectar configuraciones previas. Uno de ellos es la advertencia sobre algoritmos criptográficos vulnerables ante ataques cuánticos, diseñada para alertar sobre métodos de intercambio de claves que podrían no resistir futuros ataques basados en computación cuántica. Los administradores pueden desactivar esta advertencia con la nueva opción WarnWeakCrypto.
También se revisó la gestión de parámetros de Calidad de Servicio (IPQoS). Ahora, el tráfico interactivo recibe prioridad mediante la clase EF (Expedited Forwarding), lo que mejora la experiencia en redes inalámbricas. En cambio, el tráfico no interactivo se mantiene en la clase predeterminada del sistema operativo. Además, se eliminó el uso de los antiguos parámetros ToS (Tipo de Servicio), en favor de DSCP, el estándar actual.
Mejoras en seguridad, rendimiento y estructura interna
Entre los cambios internos, los sockets Unix de ssh-agent y sshd se han reubicado de /tmp a ~/.ssh/agent, una decisión clave para evitar accesos no autorizados desde procesos con restricciones de archivos. Asimismo, los registros DNS SSHFP basados en SHA1 se consideran obsoletos y serán reemplazados por versiones que utilicen SHA256, reforzando la integridad criptográfica.
El comando ssh-add ahora añade automáticamente un margen de cinco minutos al tiempo de validez de los certificados, garantizando su eliminación tras la expiración. Quienes deseen desactivar este comportamiento pueden hacerlo con la nueva opción -N. Finalmente, se eliminó el soporte para claves XMSS, consideradas experimentales y nunca habilitadas por defecto.
Correcciones y mejoras de portabilidad
En OpenSSH 10.1 se corrigieron múltiples fugas de memoria, condiciones de carrera y errores en procesos como MaxStartups o el manejo de sesiones X11. Además, se optimizó la escritura de archivos known_hosts, haciéndola más atómica para evitar problemas en entornos con alta concurrencia.
En cuanto a portabilidad, se añadieron nuevas verificaciones para entornos PAM, se mejoró la integración con FreeBSD, macOS y Android, y se introdujeron encabezados de compatibilidad para sistemas que carecen de ciertas bibliotecas estándar. Estos cambios aseguran que OpenSSH siga siendo una herramienta robusta y estable en una amplia gama de plataformas.
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.1.tar.gz
Entramos al directorio creado:
cd openssh-10.1
Y podremos realizar la compilación con los siguientes comandos:
./configure --prefix=/opt --sysconfdir=/etc/ssh
make
make install
Continúar leyendo...