Esta versión de GitHub Enterprise se discontinuó el 2021-06-09. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. Para obtener un mejor desempeño, más seguridad y nuevas características, actualiza a la última versión de GitHub Enterprise. Para obtener ayuda con la actualización, contacta al soporte de GitHub Enterprise.

Configurar TLS

Puedes configurar la Seguridad de la capa de transporte (TLS) en tu instancia de servidor de GitHub Enterprise para poder usar un certificado firmado por una entidad de certificación confiable.

Acerca de la Seguridad de la capa de transporte

El TLS, que reemplazó al SSL, se habilita y configura con un certificado autofirmado cuando se inicia el Servidor de GitHub Enterprise por primera vez. Como los certificados autofirmados no son confiables para los navegadores web y los clientes de Git, estos clientes informarán advertencias de certificados hasta que inhabilites TLS o cargues un certificado firmado por una entidad confiable, como Let's Encrypt.

El aparato Servidor de GitHub Enterprise enviará encabezados de Seguridad de transporte estricta de HTTP mientras SSL esté habilitado. Inhabilitar TLS hará que los usuarios pierdan acceso al aparato, porque sus navegadores no permitirán que un protocolo se degrade a HTTP. Para obtener más información, consulta "Seguridad de transporte estricta de HTTP (HSTS)" en Wikipedia.

Advertencia: cuando se termina una conexión HTTPS en un balanceador de carga, las solicitudes de éste hacia Servidor de GitHub Enterprise necesitarán utilizar HTTPS. Bajar la conexión de categoría a HTTP no es compatible.

Para permitir que los usuarios utilicen FIDO U2F para la autenticación de dos factores, debes habilitar TLS para tu instancia. Para obtener más información, consulta "Configurar autenticación de dos factores".

Prerrequisitos

Para utilizar TLS en la producción, debes tener un certificado en un formato de PEM no cifrado firmado por una entidad de certificación confiable.

Tu certificado también deberá tener configurados Nombres alternativos de sujeto para los subdominios detallados en "Habilitar aislamiento de subdominio" y deberá incluir toda la cadena de certificación si lo firmó una entidad de certificación intermedia. Para obtener más información, consulta "Nombre alternativo de sujeto" en Wikipedia.

Puedes generar una solicitud de firma de certificados (CSR) para tu instancia usando el comando ghe-ssl-generate-csr. Para obtener más información, consulta "utilidades de línea de comandos"

Cargar un certificado TLS personalizado

  1. En la esquina superior derecha de cualquier página, da clic en . Ícono de cohete para acceder a las configuraciones de administrador del sitio

  2. En la barra lateral izquierda, haz clic en Consola de administración. pestaña Consola de administración en la barra lateral izquierda

  3. En la barra lateral izquierda, da clic en Privacidad. Pestaña de privacidad en la barra lateral de configuración

  4. Selecciona Únicamente TLS (recomendado). Casilla para escoger únicamente TLS

  5. En "TLS Protocol support" (Asistencia de protocolo TLS), selecciona los protocolos que quieres permitir. Botones de radio con opciones para elegir protocolos TLS

  6. En "Certificate" (Certificado), haz clic en Choose File (Elegir archivo) para elegir el certificado TLS o la cadena de certificación (en formato de PEM) que quieras instalar. Este archivo suele tener una extensión .pem, .crt o .cer. Botón para encontrar archivo de certificado TLS

  7. En "Unencrypted key" (Clave no cifrada), haz clic en Choose File (Elegir archivo) para elegir la clave TLS (en formato de PEM) que quieras instalar. Ese archivo suele tener una extensión .key. Botón para encontrar archivo de clave TLS

    Advertencia: Tu clave TLS no debe tener contraseña. Para obtener más información, consulta "Eliminar la contraseña de tu archivo clave".

  8. Debajo de la barra lateral izquierda, da clic en Guardar configuración. El botón de guardar en la Consola de administración

  9. Espera a que la configuración se ejecute por completo.

Acerca de la asistencia de Let's Encrypt

Let's Encrypt es una entidad de certificación pública que emite certificados TLS gratuitos y automáticos que son confiables para los navegadores que usan el protocolo ACME. De hecho, puedes obtener y renovar los certificados de Let's Encrypt para tu aparato sin la necesidad de realizar ningún mantenimiento manual.

Para utilizar la automatización de Let's Encrypt, tu aplicativo debe configurarse con un nombre de host al que se pueda acceder públicamente mediante HTTP. También se le debe permitir al aplicativo realizar conexiones HTTPS salientes.

Cuando habilites la automatización de la gestión de certificado TLS con Let's Encrypt, tu instancia de servidor de GitHub Enterprise se contactará con los servidores de Let's Encrypt para obtener un certificado. Para renovar un certificado, los servidores de Let's Encrypt deben validar el control del nombre de dominio configurado con las solicitudes HTTP entrantes.

También puedes usar la utilidad de la línea de comando ghe-ssl-acme en tu instancia de servidor de GitHub Enterprise para generar un certificado de Let's Encrypt de manera automática. Para obtener más información, consulta "Utilidades de la línea de comando."

Configurar TLS usando Let's Encrypt

Para utilizar la automatización de Let's Encrypt, tu aplicativo debe configurarse con un nombre de host al que se pueda acceder públicamente mediante HTTP. También se le debe permitir al aplicativo realizar conexiones HTTPS salientes.

  1. En la esquina superior derecha de cualquier página, da clic en . Ícono de cohete para acceder a las configuraciones de administrador del sitio
  2. En la barra lateral izquierda, haz clic en Consola de administración. pestaña Consola de administración en la barra lateral izquierda
  3. En la barra lateral izquierda, da clic en Privacidad. Pestaña de privacidad en la barra lateral de configuración
  4. Selecciona Únicamente TLS (recomendado). Casilla para escoger únicamente TLS
  5. Selecciona Enable automation of TLS certificate management using Let's Encrypt (Habilitar la automatización de la gestión de certificado TLS con Let's Encrypt). Casilla de verificación para habilitar Let's Encrypt
  6. Debajo de la barra lateral izquierda, da clic en Guardar configuración. El botón de guardar en la Consola de administración
  7. Espera a que la configuración se ejecute por completo.
  8. En la barra lateral izquierda, da clic en Privacidad. Pestaña de privacidad en la barra lateral de configuración
  9. Haz clic en Request TLS certificate (Solicitar certificado TLS). Botón para solicitar certificado TLS
  10. Haz clic en Save configuration (Guardar configuración).