Hace pocos dias GitHub anunció una serie de cambios en el servicio relacionados con el endurecimiento del protocolo Git, el cual es utilizado durante las operaciones git push y git pull a través de SSH o el esquema «git://».
Se menciona que las solicitudes a través de https:// no se verán afectadas y una vez que los cambios entren en vigencia, se necesitará al menos la versión 7.2 de OpenSSH (lanzada en 2016) o la versión 0.75 de PuTTY (lanzada en mayo de este año) para conectarse a GitHub a través de SSH.
Por ejemplo, la compatibilidad con el cliente SSH de CentOS 6 y Ubuntu 14.04, que ya han sido descontinuados, se romperá.
Hola de Git Systems, el equipo de GitHub que se asegura de que su código fuente esté disponible y sea seguro. Estamos realizando algunos cambios para mejorar la seguridad del protocolo cuando ingresa o extrae datos de Git. Esperamos que muy pocas personas noten estos cambios, ya que los estamos implementando de la manera más fluida posible, pero aún así queremos avisar con mucha antelación.
Básicamente se menciona que los cambios se reducen a descontinuar el soporte para llamadas de Git no cifradas a través de «git://» y ajustar los requisitos para las claves SSH que se usan al acceder a GitHub, esto con la finalidad de mejorar la seguridad en las conexiones realizadas por parte de los usuarios, ya que GitHub menciona que la manera en la que se estaba realizando ya es obsoleta y poco segura.
GitHub dejará de admitir todas las claves DSA y los algoritmos SSH heredados, como los cifrados CBC (aes256-cbc, aes192-cbc aes128-cbc) y HMAC-SHA-1. Además, se introducen requisitos adicionales para las nuevas claves RSA (se prohibirá la firma con SHA-1) y se implementa la compatibilidad con las claves de host ECDSA y Ed25519.
¿Qué está cambiando?
Estamos cambiando qué claves son compatibles con SSH y eliminando el protocolo Git sin cifrar. Concretamente somos:Eliminando el soporte para todas las claves DSA
Adición de requisitos para claves RSA recién agregadas
Eliminación de algunos algoritmos SSH heredados (cifrados HMAC-SHA-1 y CBC)
Agregar claves de host ECDSA y Ed25519 para SSH
Desactivar el protocolo Git sin cifrar
Solo los usuarios que se conectan a través de SSH o git: // se ven afectados. Si sus controles remotos de Git comienzan con https: //, nada en esta publicación lo afectará. Si es un usuario de SSH, siga leyendo para conocer los detalles y el cronograma.Nos hace poco dejado de admitir las contraseñas a través de HTTPS. Estos cambios de SSH, aunque no están relacionados a nivel técnico, son parte del mismo impulso para mantener los datos de los clientes de GitHub lo más seguros posible.
Los cambios se realizarán gradualmente y las nuevas claves de host ECDSA y Ed25519 se generarán el 14 de septiembre. La compatibilidad con la firma de claves RSA mediante el hash SHA-1 se interrumpirá el 2 de noviembre (las claves generadas anteriormente seguirán funcionando).
El 16 de noviembre, se suspenderá la compatibilidad con claves de host basadas en DSA. El 11 de enero de 2022, como experimento, se suspenderá temporalmente la compatibilidad con los algoritmos SSH antiguos y la capacidad de acceder sin cifrado. El 15 de marzo, la compatibilidad con algoritmos antiguos se desactivará permanentemente.
Además, se menciona que se debe de tener en cuenta que la base de código OpenSSH se ha modificado de forma predeterminada para deshabilitar la firma de claves RSA mediante el hash SHA-1 («ssh-rsa»).
El soporte para firmas con hash SHA-256 y SHA-512 (rsa-sha2-256 / 512) permanece sin cambios. 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 sus sistemas, se puede intentar conectándose a través de ssh con la opción «-oHostKeyAlgorithms=-ssh-rsa».
Finalmente si estás interesado en poder conocer más al respecto sobre los cambios que está realizando GitHub, puedes consultar los detalles en el siguiente enlace.