Skip to main content

Esta versão do GitHub Enterprise será descontinuada em 2022-09-28. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, segurança aprimorada e novos recursos, atualize para a última versão do GitHub Enterprise. Para obter ajuda com a atualização, entre em contato com o suporte do GitHub Enterprise.

Configurar o TLS

Você pode configurar o protocolo TLS na your GitHub Enterprise Server instance para poder usar certificados assinados por uma autoridade de certificação confiável.

Sobre o protocolo Transport Layer Security

O TLS, protocolo que substituiu o SSL, fica habilitado e configurado com um certificado autoassinado quando o GitHub Enterprise Server é iniciado pela primeira vez. Como os certificados autoassinados não são considerados confiáveis por navegadores da web e clientes Git, esses clientes reportarão avisos de certificados até você desabilitar o TLS ou fazer upload de um certificado assinado por uma autoridade confiável, como o Let's Encrypt.

O appliance do GitHub Enterprise Server enviará os headers de HTTP Strict Transport Security quando o SSL for habilitado. Desabilitar o TLS fará os usuários perderem o acesso ao appliance, pois seus navegadores não permitirão o downgrade de protocolo para HTTP. Para obter mais informações, confira "HSTS (HTTP Strict Transport Security)" na Wikipédia.

Aviso: no término das conexões HTTPS em um balanceador de carga, as solicitações do balanceador de carga para o GitHub Enterprise Server também precisam usar HTTPS. O downgrading da conexão para HTTP não é suportado.

Para permitir o uso do FIDO U2F para autenticação de dois fatores, você deve habilitar o TLS na sua instância. Para obter mais informações, confira "Como configurar a autenticação de dois fatores".

Pré-requisitos

Para usar o TLS em produção, você deve ter um certificado em formato PEM não criptografado assinado por uma autoridade de certificação confiável.

Seu certificado também precisará ter nomes alternativos da entidade configurados para os subdomínios listados em "Como habilitar o isolamento de subdomínio" e precisará incluir a cadeia de certificados completa se tiver sido assinada por uma autoridade de certificação intermediária. Para obter mais informações, confira "Nome alternativo da entidade" na Wikipédia.

Você pode gerar uma CSR (solicitação de assinatura de certificado) para sua instância usando o comando ghe-ssl-generate-csr. Para obter mais informações, confira "Utilitários de linha de comando".

A chave precisa ser uma chave RSA e não pode ter uma frase secreta. Para obter mais informações, confira "Como remover a frase secreta do arquivo de chave".

Fazer upload de um certificado TLS personalizado

Aviso: a configuração do TLS gera uma pequena quantidade de tempo de inatividade no your GitHub Enterprise Server instance.

  1. Em uma conta administrativa no GitHub Enterprise Server, no canto superior direito de qualquer página, clique em .

    Captura de tela do ícone de foguete para acesso às configurações de administração do site

  2. Se você ainda não estiver na página "Administração do site", no canto superior esquerdo, clique em Administração do site.

    Captura de tela do link "Administração do site" 1. Na barra lateral à esquerda, clique em Console de Gerenciamento . Guia Console de Gerenciamento na barra lateral esquerda 1. Na barra lateral esquerda, clique em Privacidade. Guia Privacidade na barra lateral de configurações 1. Selecione Somente TLS (recomendado) . Caixa de seleção para escolher somente TLS

  3. Em "TLS Protocol support" (Suporte ao protocolo TLS), selecione os protocolos que deseja permitir. Botões com opções para escolha de protocolos TLS

  4. Em "Certificado", clique em Escolher Arquivo para escolher um certificado TLS ou uma cadeia de certificados (no formato PEM) para instalação. Em geral, esse arquivo terá uma extensão .pem, .crt ou .cer. Botão usado para localizar o arquivo de certificado TLS

  5. Em "Chave não criptografada", clique em Escolher Arquivo para escolher uma chave RSA (no formato PEM) para instalação. Em geral, esse arquivo terá uma extensão .key. Botão usado para localizar o arquivo de chave TLS

  6. Na barra lateral esquerda, clique em Salvar configurações.

    Captura de tela do botão Salvar configurações no Console de Gerenciamento

    Observação: se você salvar as configurações no Console de Gerenciamento, isso reiniciará os serviços do sistema, o que poderá resultar em tempo de inatividade visível pelo usuário.

  7. Aguarde a conclusão da execução de suas configurações.

    Configurar a instância

Sobre o suporte Let's Encrypt

Let's Encrypt é uma autoridade de certificação pública que emite certificados TLS gratuitos, automatizados e reconhecidos como confiáveis pelos navegadores usando o protocolo ACME. Você pode obter e renovar automaticamente os certificados Let's Encrypt no seu appliance sem depender de manutenção manual.

Para usar a automação Let's Encrypt, seu appliance deve ser configurado com um nome de host acessível ao público por HTTP. O appliance deve também ser autorizado a estabelecer conexões HTTPS de saída.

Quando você habilitar a automação do gerenciamento de certificados TLS usando o Let's Encrypt, o your GitHub Enterprise Server instance entrará em contato com os servidores do Let's Encrypt para obter um certificado. Para renovar um certificado, os servidores do Let's Encrypt devem validar o controle do nome de domínio configurado com solicitações HTTP de entrada.

Use também o utilitário de linha de comando ghe-ssl-acme no your GitHub Enterprise Server instance para gerar automaticamente um certificado Let's Encrypt. Para obter mais informações, confira "Utilitários de linha de comando".

Configurar o TLS usando Let's Encrypt

Para usar a automação Let's Encrypt, seu appliance deve ser configurado com um nome de host acessível ao público por HTTP. O appliance deve também ser autorizado a estabelecer conexões HTTPS de saída.

Aviso: a configuração do TLS gera uma pequena quantidade de tempo de inatividade no your GitHub Enterprise Server instance.

  1. Em uma conta administrativa no GitHub Enterprise Server, no canto superior direito de qualquer página, clique em .

    Captura de tela do ícone de foguete para acesso às configurações de administração do site

  2. Se você ainda não estiver na página "Administração do site", no canto superior esquerdo, clique em Administração do site.

    Captura de tela do link "Administração do site" 1. Na barra lateral à esquerda, clique em Console de Gerenciamento . Guia Console de Gerenciamento na barra lateral esquerda 1. Na barra lateral esquerda, clique em Privacidade. Guia Privacidade na barra lateral de configurações 1. Selecione Somente TLS (recomendado) . Caixa de seleção para escolher somente TLS

  3. Selecione Habilitar a automação do gerenciamento de certificados TLS usando o Let's Encrypt. Caixa de seleção usada para habilitar o Let's Encrypt 1. Na barra lateral esquerda, clique em Salvar configurações.

    Captura de tela do botão Salvar configurações no Console de Gerenciamento

    Observação: se você salvar as configurações no Console de Gerenciamento, isso reiniciará os serviços do sistema, o que poderá resultar em tempo de inatividade visível pelo usuário.

  4. Aguarde a conclusão da execução de suas configurações.

    Configurar a instância 1. Na barra lateral esquerda, clique em Privacidade. Guia Privacidade na barra lateral de configurações

  5. Clique em Solicitar certificado TLS. Botão Solicitar certificado TSL

  6. Espere o "Status" mudar de "INICIADO" para "Concluído". Status do Let's Encrypt

  7. Clique em Salvar configuração.