Skip to main content

Configurar TLS

Puedes configurar la Seguridad de la capa de transporte (TLS) en your GitHub Enterprise Server instance para poder usar un certificado firmado por una entidad de certificación de confianza.

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 GitHub Enterprise Server 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 GitHub Enterprise Server 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, consulte "HTTP Strict Transport Security (HSTS)" en Wikipedia.

Advertencia: Cuando se termina una conexión HTTPS en un equilibrador de carga, en las solicitudes de este hacia GitHub Enterprise Server también es necesario usar 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, vea "Configuración de autenticación en dos fases".

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.

El certificado también necesitará tener configurados nombres alternativos del firmante para los subdominios enumerados en "Habilitar el aislamiento de subdominios", y tendrá que incluir la cadena de certificados completa si la ha firmado una entidad de certificación intermedia. Para obtener más información, consulte "Nombre alternativo del firmante" en Wikipedia.

Puede generar una solicitud de firma de certificado (CSR) para la instancia mediante el comando ghe-ssl-generate-csr. Para más información, vea "Utilidades de línea de comandos".

La clave debe ser una clave RSA y no debe tener ninguna frase de contraseña. Para obtener más información, consulte "Eliminar la frase de contraseña de un archivo de clave".

Cargar un certificado TLS personalizado

Advertencia: La configuración de TLS provoca una pequeña cantidad de tiempo de inactividad para your GitHub Enterprise Server instance.

  1. Desde una cuenta administrativa de GitHub Enterprise Server, en la esquina superior derecha de cualquier página, haz clic en .

    Captura de pantalla del icono de cohete para acceder a los ajustes administrativos

  2. Si todavía no está en la página "Administrador del sitio", en la esquina superior izquierda, haga clic en Administrador del sitio.

    Captura de pantalla del vínculo "Administrador del sitio" 1. En la barra lateral de la izquierda, haga clic en Consola de administración . Pestaña Consola de administración en la barra lateral de la izquierda 1. En la barra lateral de la izquierda, haga clic en Privacy. Pestaña Privacy en la barra lateral de configuración 1. Seleccione TLS only (recommended) . Casilla para seleccionar solo TLS

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

  4. En "Certificate", haga clic en Choose File para elegir el certificado TLS o la cadena de certificación (en formato PEM) que quiera instalar. Este archivo suele tener la extensión .pem, .crt o .cer . Botón para buscar el archivo de certificado TLS

  5. En "Unencrypted key", haga clic en Choose File para elegir la clave RSA (en formato PEM) que desea instalar. Este archivo suele tener la extensión .key . Botón para buscar el archivo de clave TLS

  6. En la barra lateral de la izquierda, haga clic en Guardar configuración.

    Captura de pantalla del botón para guardar los ajustes en la Consola de administración

    Nota: Al guardar la configuración en la Consola de administración se restablecen los servicios de sistema, lo que podría generar un tiempo de inactividad visible para el usuario.

  7. Espera que se complete la fase de configuración.

    Configurar tu instancia

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 habilite la automatización de la gestión de certificados TLS con Let's Encrypt, your GitHub Enterprise Server instance 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 puede usar la utilidad ghe-ssl-acme de la línea de comandos en your GitHub Enterprise Server instance para generar automáticamente un certificado de Let's Encrypt. Para más información, vea "Utilidades de línea de comandos".

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.

Advertencia: La configuración de TLS provoca una pequeña cantidad de tiempo de inactividad para your GitHub Enterprise Server instance.

  1. Desde una cuenta administrativa de GitHub Enterprise Server, en la esquina superior derecha de cualquier página, haz clic en .

    Captura de pantalla del icono de cohete para acceder a los ajustes administrativos

  2. Si todavía no está en la página "Administrador del sitio", en la esquina superior izquierda, haga clic en Administrador del sitio.

    Captura de pantalla del vínculo "Administrador del sitio" 1. En la barra lateral de la izquierda, haga clic en Consola de administración . Pestaña Consola de administración en la barra lateral de la izquierda 1. En la barra lateral de la izquierda, haga clic en Privacy. Pestaña Privacy en la barra lateral de configuración 1. Seleccione TLS only (recommended) . Casilla para seleccionar solo TLS

  3. Seleccione Enable automation of TLS certificate management using Let's Encrypt. Casilla para habilitar Let's Encrypt 1. En la barra lateral de la izquierda, haga clic en Guardar configuración.

    Captura de pantalla del botón para guardar los ajustes en la Consola de administración

    Nota: Al guardar la configuración en la Consola de administración se restablecen los servicios de sistema, lo que podría generar un tiempo de inactividad visible para el usuario.

  4. Espera que se complete la fase de configuración.

    Configurar tu instancia 1. En la barra lateral de la izquierda, haga clic en Privacy. Pestaña Privacy en la barra lateral de configuración

  5. Haga clic en Request TLS certificate. Botón Request TLS certificate

  6. Espera para que el "Estado" cambie de "INICIADO" a "HECHO". Estado de Let's Encrypt

  7. Haga clic en Guardar configuración.