OpenSSH 8.8 llega diciendo adiós al soporte de ssh-rsa, correcciones de errores y mas

La nueva versión de OpenSSH 8.8 ya fue liberada y esta nueva versión se destaca por deshabilitar de forma predeterminada la capacidad de usar firmas digitales basadas en claves RSA con un hash SHA-1 («ssh-rsa»).

El fin del soporte para las firmas «ssh-rsa» se debe a un aumento en la efectividad de los ataques de colisión con un prefijo dado (el costo de adivinar la colisión se estima en unos 50 mil dólares). Para probar el uso de ssh-rsa en un sistema, se  puede intentar realizar la conexión a través de ssh con la opción «-oHostKeyAlgorithms=-ssh-rsa».

Además de que el soporte para firmas RSA con hash SHA-256 y SHA-512 (rsa-sha2-256/512), que son compatibles desde OpenSSH 7.2, no ha cambiado. En la mayoría de los casos, el fin del soporte para «ssh-rsa» no requerirá ninguna acción manual por parte de los usuarios, ya que la configuración UpdateHostKeys estaba previamente habilitada de forma predeterminada en OpenSSH, que traduce automáticamente a los clientes a algoritmos más confiables.

Esta versión deshabilita las firmas RSA mediante el algoritmo hash SHA-1 por defecto. Este cambio se ha realizado ya que el algoritmo hash SHA-1 es criptográficamente roto, y es posible crear el prefijo elegido colisiones hash por <USD $ 50K [1]

Para la mayoría de los usuarios, este cambio debería ser invisible y hay no es necesario reemplazar las claves ssh-rsa. OpenSSH es compatible con RFC8332 Firmas RSA / SHA-256/512 desde la versión 7.2 y claves ssh-rsa existentes utilizará automáticamente el algoritmo más fuerte siempre que sea posible.

Para la migración, se utiliza la extensión de protocolo «hostkeys@openssh.com«, que permite al servidor, después de pasar la autenticación, informar al cliente sobre todas las claves de host disponibles. Al conectarse a hosts con versiones muy antiguas de OpenSSH en el lado del cliente, puede revertir selectivamente la capacidad de usar firmas «ssh-rsa» agregando ~/.ssh/config

La nueva versión también corrige un problema de seguridad causado por sshd, desde OpenSSH 6.2, inicializando incorrectamente el grupo de usuarios al ejecutar comandos especificados en las directivas AuthorizedKeysCommand y AuthorizedPrincipalsCommand.

Estas directivas deberían garantizar que los comandos se ejecuten con un usuario diferente, pero de hecho heredaron la lista de grupos utilizados al iniciar sshd. Potencialmente, este comportamiento, dadas ciertas configuraciones del sistema, permitió al controlador en ejecución obtener privilegios adicionales en el sistema.

Las notas de la versión también incluyen una advertencia sobre la intención de cambiar la utilidad scp predeterminada para usar SFTP en lugar del protocolo SCP/RCP heredado. El SFTP aplica nombres de métodos más predecibles, y se utilizan patrones globales sin procesamiento en los nombres de archivo a través del shell en el lado del otro host, lo que crea problemas de seguridad.

En particular, cuando se usa SCP y RCP, el servidor decide qué archivos y directorios enviar al cliente, y el cliente solo verifica la exactitud de los nombres de los objetos devueltos, lo que, en ausencia de las verificaciones adecuadas en el lado del cliente, permite al servidor para transmitir otros nombres de archivo que difieran de los solicitados.

SFTP carece de estos problemas, pero no admite la expansión de rutas especiales como «~/». Para abordar esta diferencia, en la versión anterior de OpenSSH, se propuso una nueva extensión SFTP en la implementación del servidor SFTP para exponer las rutas ~/ y ~user/.

Finalmente si estás interesado en conocer más al respecto sobre esta nueva versión, puedes consultar los detalles dirigiéndote al siguiente enlace.

¿Como instalar OpenSSH 8.8 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-8.8.tar.gz

Entramos al directorio creado:

cd openssh-8.8

Y podremos realizar la compilación con los siguientes comandos:

./configure --prefix=/opt --sysconfdir=/etc/ssh
make
make install

El contenido del artículo se adhiere a nuestros principios de ética editorial. Para notificar un error pincha aquí.

Sé el primero en comentar

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.