Configurar o TLS

Você pode configurar o protocolo de Segurança de Camada de Transporte (TLS, Transport Layer Security) na your GitHub Enterprise Server instance para uso de 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, consulte "HTTP Strict Transport Security (HSTS)" na Wikipedia.

Aviso: Ao encerrar conexões HTTPS em um balanceador de carga, as solicitações do balanceador de carga para 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, consulte "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á de nomes alternativos da entidade (SAN, Subject Alternative Names) configurados para os subdomínios listados em "Habilitar isolamento de subdomínio" e deverá incluir a cadeia completa de certificados, caso tenha sido assinado por uma autoridade de certificação intermediária. Para obter mais informações, consulte "Subject Alternative Name" na Wikipedia.

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

Fazer upload de um certificado TLS personalizado

  1. From an administrative account on GitHub Enterprise Server, in the upper-right corner of any page, click .

    Screenshot of the rocket ship icon for accessing site admin settings

  2. If you're not already on the "Site admin" page, in the upper-left corner, click Site admin.

    Screenshot of "Site admin" link

  3. Na barra lateral esquerda, clique em Console de gerenciamento. Console de gerenciamento aba na barra lateral esquerda

  4. Na barra lateral esquerda, clique em Privacy (Privacidade). Aba de privacidade na barra lateral de configurações

  5. Selecione TLS only (recommended) (TLS apenas recomendado). Caixa de seleção para escolher apenas TLS

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

  7. Em "Certificate" (Certificado), clique em Choose File (Escolher arquivo) para escolher um certificado TLS ou uma cadeia de certificados (no formato PEM) para instalação. Em geral, esse arquivo tem extensão .pem, .crt ou .cer. Botão para localizar arquivo de certificado TLS

  8. Em "Chave não criptografada", clique em Escolher Arquivo para escolher uma chave RSA (no formato PEM) para ser instalada. Em geral, esse arquivo tem extensão .key. Botão para localizar arquivo de chave TLS

    Aviso: Sua chave deve ser uma chave RSA e não deve ter uma frase secreta. Para obter mais informações, consulte "Remover a frase secreta de um arquivo de chave".

  9. Na barra lateral esquerda, clique Save settings (Salvar configurações). Botão Save settings (Salvar configurações) no Console de gerenciamento

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

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.

Ao habilitar a automação do gerenciamento de certificados TLS usando o Let's Encrypt, sua 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.

Você também pode usar o utilitário de linha de comando ghe-ssl-acme na your GitHub Enterprise Server instance para gerar automaticamente um certificado Let's Encrypt. Para obter mais informações, consulte "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.

  1. From an administrative account on GitHub Enterprise Server, in the upper-right corner of any page, click .

    Screenshot of the rocket ship icon for accessing site admin settings

  2. If you're not already on the "Site admin" page, in the upper-left corner, click Site admin.

    Screenshot of "Site admin" link

  3. Na barra lateral esquerda, clique em Console de gerenciamento. Console de gerenciamento aba na barra lateral esquerda

  4. Na barra lateral esquerda, clique em Privacy (Privacidade). Aba de privacidade na barra lateral de configurações

  5. Selecione TLS only (recommended) (TLS apenas recomendado). Caixa de seleção para escolher apenas TLS

  6. Selecione Enable automation of TLS certificate management using Let's Encrypt (Habilitar a automação do gerenciamento de certificados TLS com Let's Encrypt). Caixa de seleção para habilitar Let's Encrypt

  7. Na barra lateral esquerda, clique Save settings (Salvar configurações). Botão Save settings (Salvar configurações) no Console de gerenciamento

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

  9. Na barra lateral esquerda, clique em Privacy (Privacidade). Aba de privacidade na barra lateral de configurações

  10. Clique em Request TLS certificate (Solicitar certificado TSL). Botão Request TLS certificate (Solicitar certificado TSL)

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

  12. Clique em Save configuration (Salvar configuração).

Esse documento ajudou você?

Política de Privacidade

Ajude-nos a tornar esses documentos ótimos!

Todos os documentos do GitHub são de código aberto. Você percebeu que algo que está errado ou não está claro? Envie um pull request.

Faça uma contribuição

Ou, aprenda como contribuir.