OpenSSH 8.4 ya fue liberado, conoce sus cambios mas importantes
Después de cuatro meses de desarrollo se presenta el lanzamiento de la nueva version de OpenSSH 8.4, una implementación abierta de cliente y servidor para SSH 2.0 y SFTP.
En la nueva version se destaca por ser una implementación 100% completa del protocolo SSH 2.0 y además de que se incluyen cambios en el soporte para servidor y cliente sftp, también para FIDO, Ssh-keygen y algunos otros cambios mas.
Principales novedades de OpenSSH 8.4
Ssh-agent ahora verifica que el mensaje se firmará mediante métodos SSH cuando se utilicen claves FIDO que no se generaron para la autenticación SSH (el ID de clave no comienza con la cadena «ssh:»).
El cambio no permitirá redirigir ssh-agent a hosts remotos que tienen claves FIDO para bloquear la capacidad de usar estas claves para generar firmas para solicitudes de autenticación web (el caso contrario, cuando el navegador puede firmar una solicitud SSH, se excluyó inicialmente debido al uso del prefijo «ssh:» en la identificación de la clave).
Ssh-keygen, al generar una clave residente, incluye soporte para el complemento credProtect descrito en la especificación FIDO 2.1, que brinda protección adicional para las claves al requerir que se ingrese un PIN antes de realizar cualquier operación que pueda resultar en la extracción de la clave residente del token.
En cuanto a los cambios que potencialmente rompen la compatibilidad:
Para la compatibilidad con FIDO U2F, se recomienda utilizar la biblioteca libfido2 de al menos la versión 1.5.0. La posibilidad de utilizar ediciones antiguas está parcialmente implementada, pero en este caso funciones como claves residentes, solicitud de PIN y conexión de varios tokens no estarán disponibles.
En ssh-keygen, en el formato de la información de confirmación, que opcionalmente se guarda al generar la clave FIDO, se agregan los datos del autenticador, que es necesario para verificar las firmas digitales de confirmación.
Al crear una versión portátil de OpenSSH, ahora se requiere que automake genere el script de configuración y los archivos de ensamblaje que lo acompañan (si está compilando a partir de un archivo tar publicado con código, no necesita volver a generar configure).
Se agregó soporte para claves FIDO que requieren verificación de PIN para ssh y ssh-keygen. Para generar claves con un PIN, se ha agregado la opción «verificar requerido» a ssh-keygen. En el caso de utilizar tales claves, antes de realizar la operación de creación de una firma, se solicita al usuario que confirme sus acciones ingresando el código PIN.
En sshd, en la configuración authorized_keys, se implementa la opción «verificar requerido», que requiere el uso de capacidades para verificar la presencia de un usuario durante las operaciones del token.
Sshd y ssh-keygen han agregado soporte para verificar firmas digitales que cumplen con el estándar FIDO Webauthn, que permite que las claves FIDO se utilicen en navegadores web.
De los demás cambios que se destacan:
- Se agregó soporte para ssh y ssh-agent para la variable de entorno $ SSH_ASKPASS_REQUIRE, que se puede usar para habilitar o deshabilitar la llamada ssh-askpass.
- En ssh, en ssh_config, en la directiva AddKeysToAgent, se agregó la capacidad de limitar el período de validez de la clave. Una vez que ha expirado el límite especificado, las claves se eliminan automáticamente del ssh-agent.
- En scp y sftp, usando el indicador «-A», ahora puede permitir explícitamente la redirección en scp y sftp usando ssh-agent (por defecto, la redirección está deshabilitada).
- Se agregó soporte para la sustitución ‘% k’ en la configuración de ssh para el nombre de la clave de host.
- Sshd proporciona el registro del inicio y final del proceso de corte de conexiones, controlado por el parámetro MaxStartups.
¿Como instalar OpenSSH 8.4 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.4.tar.gz
Entramos al directorio creado:
cd openssh-8.4
Y podremos realizar la compilación con los siguientes comandos:
./configure --prefix=/opt --sysconfdir=/etc/ssh make make install