Linux Adictos David Naranjo  

OpenSSH 8.3 ya esta aquí y estas son sus novedades

Después de tres meses de desarrollo, se presentó el lanzamiento de la nueva version de OpenSSH 8.3, en la cual se destaca una nueva protección añadida contra ataques scp, lo que permite al servidor transferir otros nombres de archivos que difieren de los solicitados (a diferencia de la vulnerabilidad anterior, el ataque no permite cambiar el directorio seleccionado por el usuario o la máscara global).

En SCP, el servidor decide qué archivos y directorios enviar al cliente y el cliente solo verifica la exactitud de los nombres de los objetos devueltos. La esencia del problema identificado es que si falla la llamada al sistema de tiempos, el contenido del archivo se interpreta como metadatos de archivo.

Cuando se conecta a un servidor controlado por un atacante, esta función se puede usar para guardar otros nombres de archivo y otros contenidos en el FS del usuario al copiar usando scp en configuraciones que provocan fallas en los tiempos. Por ejemplo, cuando los tiempos están deshabilitados por la política de SELinux o el filtro de llamadas del sistema.

Se estima que la probabilidad de ataques reales es mínima, ya que en configuraciones típicas la llamada de tiempo no falla. Además, el ataque no pasa desapercibido: cuando se llama a scp, se muestra un error de transmisión de datos.

Adiós a SHA-1

Además los desarrolladores de OpenSSH también advirtieron una vez más sobre la próxima transferencia a la categoría de algoritmos obsoletos que usan hash SHA-1, debido a un aumento en la eficiencia de los ataques de colisión con un prefijo dado (el costo de la selección de colisión se estima en alrededor de $ 45 mil).

En uno de los siguientes problemas, planean deshabilitar por defecto la capacidad de usar el algoritmo de firma digital de clave pública ssh-rsa, que se menciona en el RFC original para el protocolo SSH y sigue siendo generalizado en la práctica.

Posibles candidatos

Para facilitar la transición a nuevos algoritmos en OpenSSH en una de las próximas versiones, la configuración UpdateHostKeys se habilitará de manera predeterminada, lo que cambiará automáticamente a los clientes a algoritmos más confiables.

Entre los algoritmos recomendados para la migración están: rsa-sha2-256/512 basado en RFC8332 RSA SHA-2 (compatible con OpenSSH 7.2 y utilizado de forma predeterminada), ssh-ed25519 (compatible con OpenSSH 6.5) y ecdsa-sha2-nistp256 / 384/521 basado en RFC5656 ECDSA (compatible con OpenSSH 5.7).

Otros cambios

Desde el último número, «ssh-rsa» y «diffie-hellman-group14-sha1» se han eliminado de la lista CASignatureAlgorithms, que define los algoritmos válidos para firmar digitalmente nuevos certificados, ya que el uso de SHA-1 en los certificados conlleva un riesgo adicional debido a que el atacante tiene tiempo ilimitado para buscar colisiones para un certificado existente, mientras que el tiempo de ataque en las claves del host está limitado por el tiempo de espera de conexión (LoginGraceTime).

De los demas cambios que se destacan de esta nueva version son:

  • En sftp, el procesamiento «-1» se detiene, de forma similar a ssh y scp, que fue previamente aceptado pero ignorado.
  • En sshd cuando se usa IgnoreRhosts, ahora se proporcionan tres opciones: «yes» para ignorar rhosts/shosts, «no» para considerar rhosts/shosts y «shosts-only» que es permitir «.shosts», pero deshabilita «.rhosts».
  • En ssh, el procesamiento de la sustitución% TOKEN se proporciona en la configuración LocalFoward y RemoteForward utilizada para redirigir los sockets Unix.
  • Está permitido descargar claves públicas de un archivo no cifrado con una clave privada, si no hay un archivo separado con una clave pública.
  • Si el sistema tiene libcrypto en ssh y sshd, ahora usa la implementación del algoritmo chacha20 de esta biblioteca, en lugar de la implementación portátil incorporada, que tiene un rendimiento inferior.
  • Se implementó la capacidad de volcar el contenido de la lista binaria de certificados revocados al ejecutar el comando «ssh-keygen -lQf/path».
  • La versión portátil implementa definiciones del sistema en las cuales las señales con la opción SA_RESTART interrumpen la selección;
  • Problemas de compilación resueltos en sistemas HP/UX y AIX.
  • Se corrigieron problemas de compilación para seccomp sandbox en algunas configuraciones de Linux.
  • La definición de la biblioteca libfido2 se ha mejorado y los problemas de compilacion se han resuelto con la opción –with-security-key-builtin.

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

Entramos al directorio creado:

cd openssh-8.3

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

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

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.