OpenSSH es el servidor SSH más conocido en el mundo Linux, y es que este servidor está disponible no solo en sistemas operativos Linux de escritorio, sino también en dispositivos como switches gestionables, routers, e incluso en Microsoft Windows 10 con las últimas actualizaciones. Ya se ha lanzado la nueva versión OpenSSH 8.0, el servidor SSH por excelencia, vamos a conocer todas las novedades de esta nueva versión.
Novedades en el nuevo OpenSSH 8.0 que debes conocer
Esta nueva versión de OpenSSH acaba de salir hace un par de días y se encuentra disponible en la página web oficial de OpenSSH. Esta nueva versión incorpora todas las funcionalidades del protocolo SSH 2.0 que es el que actualmente usamos la mayoría de nosotros, ya que la versión SSH 1.0 no es recomendable utilizarla por seguridad y privacidad en las comunicaciones. Además del protocolo SSH 2.0 completo, también incluye los protocolos SCP y SFTP (tanto servidor SFTP como cliente SFTP).
Esta nueva versión OpenSSH 8.0 incorpora una mitigación de seguridad para el protocolo SCP, el CVE asociado a este fallo es el CVE-2019-6111, y se puede explotar cuando estamos copiando archivos desde un sistema remoto al directorio local. El fallo consiste en que el software SCP no verifica los nombres de archivo del servidor remoto con respecto al servidor local, esto puede hacer que un servidor hostil cree archivos controlados por el atacante, o elimine archivos locales de manera inesperada. Esta nueva versión OpenSSH 8.0 incorpora una verificación en el lado del cliente, para que los archivos enviados por el servidor coincidan con la solicitud realizada específicamente por el usuario. El equipo de desarrollo del software recomienda no usar SCP, y usar otros protocolos más modernos como SFTP para transferir archivos bajo demanda, o rsync para sincronizar carpetas y/o archivos.
Una funcionalidad nueva que han añadido en SCP es la opción “-T”, la cual se encarga de no realizar el proceso de verificación por parte del cliente que hemos descrito anteriormente, es decir, se habilita lo que han mitigado, y por supuesto, esto se debe usar solo en servidores SSH de confianza para realizar la copia de archivos y carpetas. Otros cambios realizados en SCP y SFTP es la opción “-J”, esto nos permitirá utilizar ProxyJump a través de la línea de comandos.
Una opción que han quitado es la de utilizar la sintaxis “host/puerto” a la hora de conectarse a un servidor SSH, esto lo hicieron para que los usuarios de IPv6 no tuvieran problemas, pero hoy en día se utiliza la sintaxis estándar si estamos usando IPv6: [host]:puerto.
Otras novedades adicionadas en esta nueva versión OpenSSH 8.0, son que han introducido el soporte para claves ECDSA en los tokens PKCS#11. También han introducido un método de intercambio de claves experimental para que los ordenadores cuánticos no puedan descifrarlo rápidamente. Cuando nos conectamos por primera vez a un host, nos aparecerá un mensaje de si queremos aceptar la llave de dicho servidor, si la aceptamos podremos pegar la llave obtenida anteriormente “fuera de banda” en ese momento y que el cliente SSH la compare por nosotros, ideal para no cometer errores al conectarnos a servidores nuevos.
Otro aspecto muy importante de cara a la seguridad, es que se ha aumentado la longitud de la clave RSA por defecto a 3072 bits cuando hacemos uso del comando ssh-keygen y no introducimos ningún parámetro de longitud de clave. Otro cambio introducido en ssh-keygen es que ahora podremos firmar múltiples certificados en un único comando, y automáticamente se incrementará el número de serie de dicho certificado. Por último, ahora cuando mostremos el contenido de un certificado con ssh-keygen, nos mostrará el algoritmo que hemos usado para firmar dicho certificado.
Te recomendamos acceder al listado de cambios de OpenSSH 8.0 donde encontraréis el changelog en detalle.