Lanzamiento de OpenSSH 8.4

Después de cuatro meses de desarrollo presentado lanzamiento de OpenSSH 8.4, una implementación abierta de cliente y servidor para trabajar utilizando los protocolos SSH 2.0 y SFTP.

Cambios importantes:

  • Cambios de seguridad:
    • En ssh-agent, cuando se utilizan claves FIDO que no se crearon para la autenticación SSH (el ID de la clave no comienza con la cadena "ssh:"), ahora verifica que el mensaje se firmará utilizando los métodos utilizados en el protocolo SSH. El cambio no permitirá que ssh-agent sea redirigido a hosts remotos que tengan claves FIDO para bloquear la capacidad de usar estas claves para generar firmas para solicitudes de autenticación web (el caso inverso, cuando un navegador puede firmar una solicitud SSH, se excluye inicialmente). debido al uso del prefijo “ssh:” en el identificador de clave).
    • La generación de clave residente de ssh-keygen incluye soporte para el complemento credProtect descrito en la especificación FIDO 2.1, que proporciona protección adicional para las claves al requerir un PIN antes de realizar cualquier operación que pueda resultar en la extracción de la clave residente del token.
  • Cambios de compatibilidad potencialmente disruptivos:
    • Para admitir FIDO/U2F, se recomienda utilizar la biblioteca libfido2 al menos en la versión 1.5.0. La capacidad de utilizar ediciones anteriores se ha implementado parcialmente, pero en este caso, funciones como claves de residente, solicitud de PIN y conexión de múltiples tokens no estarán disponibles.
    • En ssh-keygen, los datos del autenticador necesarios para verificar las firmas digitales de confirmación se agregaron al formato de la información de confirmación, y se guardan opcionalmente al generar una clave FIDO.
    • Se ha cambiado la API utilizada cuando OpenSSH interactúa con la capa para acceder a los tokens FIDO.
    • Al compilar una versión portátil de OpenSSH, ahora se requiere automake para generar el script de configuración y los archivos de compilación que lo acompañan (si se compila a partir de un archivo tar de código publicado, no es necesario regenerar la configuración).
  • Se agregó soporte para claves FIDO que requieren verificación de PIN en ssh y ssh-keygen. Para generar claves con PIN, se agregó la opción "verificar-requerido" a ssh-keygen. Si se utilizan dichas claves, antes de realizar la operación de creación de firma, se solicita al usuario que confirme sus acciones ingresando un código PIN.
  • En sshd, la opción "verificar-requerido" se implementa en la configuración de claves_autorizadas, que requiere el uso de capacidades para verificar la presencia del usuario durante las operaciones con el token. El estándar FIDO proporciona varias opciones para dicha verificación, pero actualmente OpenSSH solo admite la verificación basada en PIN.
  • sshd y ssh-keygen han agregado soporte para verificar firmas digitales que cumplen con el estándar FIDO Webauthn, que permite el uso de claves FIDO en navegadores web.
  • En ssh en la configuración de CertificateFile,
    ControlPath, IdentityAgent, IdentityFile, LocalForward y
    RemoteForward permite la sustitución de valores de variables de entorno especificadas en el formato "${ENV}".

  • ssh y ssh-agent han agregado soporte 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 ha agregado la capacidad de limitar el período de validez de una clave. Una vez expirado el límite especificado, las claves se eliminan automáticamente de ssh-agent.
  • En scp y sftp, usando el indicador "-A", ahora puede permitir explícitamente la redirección a scp y sftp usando ssh-agent (la redirección está deshabilitada de forma predeterminada).
  • Se agregó soporte para la sustitución '%k' en la configuración de ssh, que especifica el nombre de la clave del host. Esta función se puede utilizar para distribuir claves en archivos separados (por ejemplo, “UserKnownHostsFile ~/.ssh/known_hosts.d/%k”).
  • Permita el uso de la operación "ssh-add -d -" para leer las claves de la entrada estándar que se van a eliminar.
  • En sshd, el inicio y el final del proceso de eliminación de la conexión se reflejan en el registro, regulado mediante el parámetro MaxStartups.

Los desarrolladores de OpenSSH también recordaron el próximo desmantelamiento de algoritmos que utilizan hashes SHA-1 debido a promoción la efectividad de los ataques de colisión con un prefijo determinado (el costo de seleccionar una colisión se estima en aproximadamente 45 mil dólares). En una de las próximas versiones, planean desactivar de forma predeterminada la capacidad de utilizar el algoritmo de firma digital de clave pública "ssh-rsa", que se menciona en el RFC original para el protocolo SSH y sigue estando muy extendido en la práctica (para probar el uso). de ssh-rsa en sus sistemas, puede intentar conectarse vía ssh con la opción “-oHostKeyAlgorithms=-ssh-rsa”).

Para facilitar la transición a nuevos algoritmos en OpenSSH, la próxima versión habilitará la configuración UpdateHostKeys de forma predeterminada, que migrará automáticamente a los clientes a algoritmos más confiables. Los algoritmos recomendados para la migración incluyen rsa-sha2-256/512 basado en RFC8332 RSA SHA-2 (compatible desde OpenSSH 7.2 y utilizado de forma predeterminada), ssh-ed25519 (compatible desde OpenSSH 6.5) y basado en ecdsa-sha2-nistp256/384/521 en RFC5656 ECDSA (compatible desde OpenSSH 5.7).

Fuente: opennet.ru

Añadir un comentario