Acerca del conjunto de cifrado y la configuración del algoritmo
GitHub Enterprise Server permite configurar los conjuntos de cifrado y los algoritmos criptográficos utilizados para:
-
**Conexiones TLS** en los puertos 443 (interfaz web HTTPS) y 8443 (consola de administración HTTPS) -
**Conexiones SSH** en el puerto 22 (operaciones de Git a través de SSH) y el puerto 122 (acceso al shell administrativo)
Los conjuntos de cifrado seguros predeterminados se basan en las recomendaciones de endurecimiento de TLS estándar del sector y en las mejores prácticas de seguridad modernas. La mayoría de las organizaciones deben usar estos valores predeterminados a menos que los requisitos de seguridad o cumplimiento específicos dicten lo contrario.
Es posible que las organizaciones necesiten personalizar conjuntos de cifrado y algoritmos criptográficos para cumplir directivas de seguridad organizativas específicas, estándares del sector o requisitos normativos.
A partir de GitHub Enterprise Server 3.19, los cifrados TLS se pueden configurar y la puerta de enlace web usa valores predeterminados de cifrado más seguros. Para mantener la compatibilidad retroactiva con las instancias existentes, las nuevas instancias aprovisionadas utilizarán estos nuevos valores predeterminados.
Advertencia
La configuración de conjuntos de cifrado demasiado restrictivos puede impedir que los clientes se conecten a la instancia. Pruebe siempre los cambios en un entorno que no sea de producción en primer lugar, asegúrese de que al menos un conjunto de cifrado sea compatible con los clientes y compruebe la conectividad después de aplicar los cambios de configuración.
Nota:
Al configurar conjuntos de cifrado TLS, use valores separados por comas en los comandos de configuración. GitHub Enterprise Server convierte automáticamente comas en dos puntos para la configuración de HAProxy. Los conjuntos de cifrado se evalúan en el orden especificado, por lo que enumere primero los cifrados preferidos.
Configuración de conjuntos de cifrado TLS
Puede configurar los conjuntos de cifrado que se usan para las conexiones TLS 1.2 y TLS 1.3.
Enumeración de conjuntos de cifrado TLS disponibles
-
Acceda mediante SSH a la instancia de GitHub Enterprise Server de destino. Para más información, consulta Acceder al shell administrativo (SSH).
ssh -p 122 admin@HOSTNAME -
Para ver los conjuntos de cifrado seguros predeterminados para TLS 1.2, ejecute el siguiente comando.
Shell ghe-crypto list tlsv12-ciphersuites
ghe-crypto list tlsv12-ciphersuites -
Para ver los conjuntos de cifrado seguros predeterminados para TLS 1.3, ejecute el siguiente comando.
Shell ghe-crypto list tlsv13-ciphersuites
ghe-crypto list tlsv13-ciphersuites
Visualización de la configuración actual del cifrado
-
Acceda mediante SSH a la instancia de GitHub Enterprise Server de destino. Para más información, consulta Acceder al shell administrativo (SSH).
ssh -p 122 admin@HOSTNAME -
Para ver los conjuntos de cifrado TLS 1.2 configurados, ejecute el siguiente comando.
Shell ghe-config github-ssl.tlsv12-ciphersuites
ghe-config github-ssl.tlsv12-ciphersuites -
Para ver los conjuntos de cifrado TLS 1.3 configurados, ejecute el siguiente comando.
Shell ghe-config github-ssl.tlsv13-ciphersuites
ghe-config github-ssl.tlsv13-ciphersuitesSi estos comandos devuelven valores vacíos, la instancia usa los valores predeterminados seguros.
Establecimiento de conjuntos de cifrado TLS 1.2
-
Acceda mediante SSH a la instancia de GitHub Enterprise Server de destino. Para más información, consulta Acceder al shell administrativo (SSH).
ssh -p 122 admin@HOSTNAME -
Compruebe los conjuntos de cifrado TLS 1.2 deseados mediante el
ghe-crypto checkcomando . Reemplace porCIPHER1,CIPHER2,CIPHER3una lista separada por comas de conjuntos de cifrado.Shell ghe-crypto check tlsv12-ciphersuites CIPHER1,CIPHER2,CIPHER3
ghe-crypto check tlsv12-ciphersuites CIPHER1,CIPHER2,CIPHER3Por ejemplo:
ghe-crypto check tlsv12-ciphersuites ECDHE-ECDSA-AES128-GCM-SHA256,ECDHE-RSA-AES128-GCM-SHA256,ECDHE-ECDSA-AES256-GCM-SHA384 -
Si la cadena de cifrado es válida, establezca los conjuntos de cifrado TLS 1.2. Reemplace por
CIPHER1,CIPHER2,CIPHER3la lista separada por comas.Shell ghe-config github-ssl.tlsv12-ciphersuites 'CIPHER1,CIPHER2,CIPHER3'
ghe-config github-ssl.tlsv12-ciphersuites 'CIPHER1,CIPHER2,CIPHER3'Por ejemplo:
ghe-config github-ssl.tlsv12-ciphersuites 'ECDHE-ECDSA-AES128-GCM-SHA256,ECDHE-RSA-AES128-GCM-SHA256,ECDHE-ECDSA-AES256-GCM-SHA384' -
Compruebe la configuración.
Shell ghe-config-check
ghe-config-check -
Para aplicar la configuración, ejecuta el siguiente comando.
Nota:
Durante la ejecución de una configuración, los servicios de tu instancia de GitHub Enterprise Server pueden reiniciarse, y esto puede provocar un breve tiempo de inactividad para los usuarios.
Shell ghe-config-apply
ghe-config-apply -
Espera que se complete la fase de configuración.
-
Si configuraste un mensaje de usuario o un modo de mantenimiento, quita el mensaje y deshabilita el modo de mantenimiento.
Establecimiento de conjuntos de cifrado TLS 1.3
-
Acceda mediante SSH a la instancia de GitHub Enterprise Server de destino. Para más información, consulta Acceder al shell administrativo (SSH).
ssh -p 122 admin@HOSTNAME -
Compruebe los conjuntos de cifrado TLS 1.3 deseados mediante el
ghe-crypto checkcomando . Reemplace porCIPHER1,CIPHER2,CIPHER3una lista separada por comas de conjuntos de cifrado.Shell ghe-crypto check tlsv13-ciphersuites CIPHER1,CIPHER2,CIPHER3
ghe-crypto check tlsv13-ciphersuites CIPHER1,CIPHER2,CIPHER3Por ejemplo:
ghe-crypto check tlsv13-ciphersuites TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256 -
Si la cadena de cifrado es válida, establezca los conjuntos de cifrado TLS 1.3. Reemplace por
CIPHER1,CIPHER2,CIPHER3la lista separada por comas.Shell ghe-config github-ssl.tlsv13-ciphersuites 'CIPHER1,CIPHER2,CIPHER3'
ghe-config github-ssl.tlsv13-ciphersuites 'CIPHER1,CIPHER2,CIPHER3'Por ejemplo:
ghe-config github-ssl.tlsv13-ciphersuites 'TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256' -
Compruebe la configuración.
Shell ghe-config-check
ghe-config-check -
Para aplicar la configuración, ejecuta el siguiente comando.
Nota:
Durante la ejecución de una configuración, los servicios de tu instancia de GitHub Enterprise Server pueden reiniciarse, y esto puede provocar un breve tiempo de inactividad para los usuarios.
Shell ghe-config-apply
ghe-config-apply -
Espera que se complete la fase de configuración.
-
Si configuraste un mensaje de usuario o un modo de mantenimiento, quita el mensaje y deshabilita el modo de mantenimiento.
Configuración de algoritmos criptográficos SSH
Puede configurar los algoritmos criptográficos que se usan para las conexiones SSH en el puerto 22 (operaciones de Git) y el puerto 122 (acceso al shell administrativo).
Enumeración de algoritmos SSH disponibles
-
Acceda mediante SSH a la instancia de GitHub Enterprise Server de destino. Para más información, consulta Acceder al shell administrativo (SSH).
ssh -p 122 admin@HOSTNAME -
Para ver los cifrados SSH seguros predeterminados, ejecute el siguiente comando.
Shell ghe-crypto list ssh-ciphers
ghe-crypto list ssh-ciphers -
Para ver los algoritmos DE MAC SSH seguros predeterminados, ejecute el siguiente comando.
Shell ghe-crypto list ssh-mac-algorithms
ghe-crypto list ssh-mac-algorithms -
Para ver los algoritmos de intercambio de claves SSH seguros predeterminados, ejecute el siguiente comando.
Shell ghe-crypto list ssh-kex-algorithms
ghe-crypto list ssh-kex-algorithms -
Para ver los tipos de firma SSH seguros predeterminados, ejecute el siguiente comando.
Shell ghe-crypto list ssh-signature-types
ghe-crypto list ssh-signature-types
Visualización de la configuración actual de SSH
-
Acceda mediante SSH a la instancia de GitHub Enterprise Server de destino. Para más información, consulta Acceder al shell administrativo (SSH).
ssh -p 122 admin@HOSTNAME -
Para ver los cifrados SSH configurados, ejecute el siguiente comando.
Shell ghe-config github-ssl.ssh-ciphers
ghe-config github-ssl.ssh-ciphers -
Para ver los algoritmos DE MAC SSH configurados, ejecute el siguiente comando.
Shell ghe-config github-ssl.ssh-mac-algorithms
ghe-config github-ssl.ssh-mac-algorithms -
Para ver los algoritmos de intercambio de claves SSH configurados, ejecute el siguiente comando.
Shell ghe-config github-ssl.ssh-kex-algorithms
ghe-config github-ssl.ssh-kex-algorithms -
Para ver los tipos de firma SSH configurados, ejecute el siguiente comando.
Shell ghe-config github-ssl.ssh-signature-types
ghe-config github-ssl.ssh-signature-typesSi estos comandos devuelven valores vacíos, la instancia usa los valores predeterminados seguros.
Establecimiento de cifrados SSH
-
Acceda mediante SSH a la instancia de GitHub Enterprise Server de destino. Para más información, consulta Acceder al shell administrativo (SSH).
ssh -p 122 admin@HOSTNAME -
Compruebe los cifrados SSH deseados mediante el
ghe-crypto checkcomando . Reemplacecipher1,cipher2,cipher3con una lista de cifrados separada por comas.Shell ghe-crypto check ssh-ciphers cipher1,cipher2,cipher3
ghe-crypto check ssh-ciphers cipher1,cipher2,cipher3Por ejemplo:
ghe-crypto check ssh-ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com -
Si la cadena de cifrado es válida, establezca los cifrados SSH. Reemplace por
cipher1,cipher2,cipher3la lista separada por comas.Shell ghe-config github-ssl.ssh-ciphers 'cipher1,cipher2,cipher3'
ghe-config github-ssl.ssh-ciphers 'cipher1,cipher2,cipher3'Por ejemplo:
ghe-config github-ssl.ssh-ciphers 'chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com' -
Compruebe la configuración.
Shell ghe-config-check
ghe-config-check -
Para aplicar la configuración, ejecuta el siguiente comando.
Nota:
Durante la ejecución de una configuración, los servicios de tu instancia de GitHub Enterprise Server pueden reiniciarse, y esto puede provocar un breve tiempo de inactividad para los usuarios.
Shell ghe-config-apply
ghe-config-apply -
Espera que se complete la fase de configuración.
-
Si configuraste un mensaje de usuario o un modo de mantenimiento, quita el mensaje y deshabilita el modo de mantenimiento.
Establecimiento de algoritmos MAC SSH
-
Acceda mediante SSH a la instancia de GitHub Enterprise Server de destino. Para más información, consulta Acceder al shell administrativo (SSH).
ssh -p 122 admin@HOSTNAME -
Compruebe los algoritmos DE MAC SSH deseados mediante el
ghe-crypto checkcomando . Reemplace pormac1,mac2,mac3una lista separada por comas de algoritmos MAC.Shell ghe-crypto check ssh-mac-algorithms mac1,mac2,mac3
ghe-crypto check ssh-mac-algorithms mac1,mac2,mac3Por ejemplo:
ghe-crypto check ssh-mac-algorithms hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com -
Si la cadena del algoritmo MAC es válida, establezca los algoritmos MAC de SSH. Reemplace por
mac1,mac2,mac3la lista separada por comas.Shell ghe-config github-ssl.ssh-mac-algorithms 'mac1,mac2,mac3'
ghe-config github-ssl.ssh-mac-algorithms 'mac1,mac2,mac3'Por ejemplo:
ghe-config github-ssl.ssh-mac-algorithms 'hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com' -
Compruebe la configuración.
Shell ghe-config-check
ghe-config-check -
Para aplicar la configuración, ejecuta el siguiente comando.
Nota:
Durante la ejecución de una configuración, los servicios de tu instancia de GitHub Enterprise Server pueden reiniciarse, y esto puede provocar un breve tiempo de inactividad para los usuarios.
Shell ghe-config-apply
ghe-config-apply -
Espera que se complete la fase de configuración.
-
Si configuraste un mensaje de usuario o un modo de mantenimiento, quita el mensaje y deshabilita el modo de mantenimiento.
Establecimiento de algoritmos de intercambio de claves SSH
-
Acceda mediante SSH a la instancia de GitHub Enterprise Server de destino. Para más información, consulta Acceder al shell administrativo (SSH).
ssh -p 122 admin@HOSTNAME -
Compruebe los algoritmos de intercambio de claves SSH deseados mediante el
ghe-crypto checkcomando . Reemplace porkex1,kex2,kex3una lista separada por comas de algoritmos de intercambio de claves.Shell ghe-crypto check ssh-kex-algorithms kex1,kex2,kex3
ghe-crypto check ssh-kex-algorithms kex1,kex2,kex3Por ejemplo:
ghe-crypto check ssh-kex-algorithms curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp521 -
Si la cadena del algoritmo de intercambio de claves es válida, establezca los algoritmos de intercambio de claves SSH. Reemplace por
kex1,kex2,kex3la lista separada por comas.Shell ghe-config github-ssl.ssh-kex-algorithms 'kex1,kex2,kex3'
ghe-config github-ssl.ssh-kex-algorithms 'kex1,kex2,kex3'Por ejemplo:
ghe-config github-ssl.ssh-kex-algorithms 'curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp521' -
Compruebe la configuración.
Shell ghe-config-check
ghe-config-check -
Para aplicar la configuración, ejecuta el siguiente comando.
Nota:
Durante la ejecución de una configuración, los servicios de tu instancia de GitHub Enterprise Server pueden reiniciarse, y esto puede provocar un breve tiempo de inactividad para los usuarios.
Shell ghe-config-apply
ghe-config-apply -
Espera que se complete la fase de configuración.
-
Si configuraste un mensaje de usuario o un modo de mantenimiento, quita el mensaje y deshabilita el modo de mantenimiento.
Establecimiento de tipos de firma SSH
-
Acceda mediante SSH a la instancia de GitHub Enterprise Server de destino. Para más información, consulta Acceder al shell administrativo (SSH).
ssh -p 122 admin@HOSTNAME -
Compruebe los tipos de firma SSH deseados mediante el
ghe-crypto checkcomando . Reemplace porsig1,sig2,sig3una lista separada por comas de tipos de firma.Shell ghe-crypto check ssh-signature-types sig1,sig2,sig3
ghe-crypto check ssh-signature-types sig1,sig2,sig3Por ejemplo:
ghe-crypto check ssh-signature-types ssh-ed25519,ecdsa-sha2-nistp521,ecdsa-sha2-nistp384 -
Si la cadena de tipo de firma es válida, establezca los tipos de firma SSH. Reemplace por
sig1,sig2,sig3la lista separada por comas.Shell ghe-config github-ssl.ssh-signature-types 'sig1,sig2,sig3'
ghe-config github-ssl.ssh-signature-types 'sig1,sig2,sig3'Por ejemplo:
ghe-config github-ssl.ssh-signature-types 'ssh-ed25519,ecdsa-sha2-nistp521,ecdsa-sha2-nistp384' -
Compruebe la configuración.
Shell ghe-config-check
ghe-config-check -
Para aplicar la configuración, ejecuta el siguiente comando.
Nota:
Durante la ejecución de una configuración, los servicios de tu instancia de GitHub Enterprise Server pueden reiniciarse, y esto puede provocar un breve tiempo de inactividad para los usuarios.
Shell ghe-config-apply
ghe-config-apply -
Espera que se complete la fase de configuración.
-
Si configuraste un mensaje de usuario o un modo de mantenimiento, quita el mensaje y deshabilita el modo de mantenimiento.
Solución de problemas de configuración de cifrado
Si los clientes no se pueden conectar a tu instancia de GitHub Enterprise Server después de cambiar la configuración de cifrado, puede solucionar el problema.
- Compruebe que los clientes admiten las versiones de protocolo TLS o SSH configuradas.
- Compruebe que al menos un conjunto de cifrado configurado es compatible con los clientes.
- Revisa los logs de instancia para fallos en el protocolo de enlace TLS o errores de conexión SSH. Para obtener más información sobre el acceso a los registros, consulte Acerca de los registros del sistema.
- Restaure temporalmente la configuración predeterminada para comprobar que el problema está relacionado con el cifrado. Para obtener más información, consulte Restauración del conjunto de cifrado predeterminado y la configuración del algoritmo.
- Si el problema persiste tras restaurar los valores predeterminados, póngase en contacto con Soporte técnico para GitHub Enterprise.
Restauración del conjunto de cifrado predeterminado y la configuración del algoritmo
Para restaurar los conjuntos o algoritmos de cifrado seguros predeterminados, desconjunte el valor de configuración.
-
Acceda mediante SSH a la instancia de GitHub Enterprise Server de destino. Para más información, consulta Acceder al shell administrativo (SSH).
ssh -p 122 admin@HOSTNAME -
Desactive la configuración. Reemplace
SETTINGpor el nombre de la configuración que desea restaurar a los valores predeterminados.Shell ghe-config --unset github-ssl.SETTING
ghe-config --unset github-ssl.SETTINGPor ejemplo, para restaurar conjuntos de cifrado TLS 1.2 predeterminados:
ghe-config --unset github-ssl.tlsv12-ciphersuites -
Para aplicar la configuración, ejecuta el siguiente comando.
Nota:
Durante la ejecución de una configuración, los servicios de tu instancia de GitHub Enterprise Server pueden reiniciarse, y esto puede provocar un breve tiempo de inactividad para los usuarios.
Shell ghe-config-apply
ghe-config-apply -
Espera que se complete la fase de configuración.
-
Si configuraste un mensaje de usuario o un modo de mantenimiento, quita el mensaje y deshabilita el modo de mantenimiento.