Sobre o conjunto de cifras e a configuração de algoritmos
GitHub Enterprise Server permite configurar quais suites de cifras e algoritmos criptográficos usar para:
-
**Conexões TLS** nas portas 443 (interface web HTTPS) e 8443 (console de gerenciamento HTTPS) -
**Conexões SSH** na porta 22 (operações do Git via SSH) e na porta 122 (acesso administrativo ao shell)
Os pacotes de criptografia seguros padrão são baseados em recomendações de proteção TLS padrão do setor e práticas recomendadas de segurança modernas. A maioria das organizações deve usar esses padrões, a menos que requisitos específicos de conformidade ou segurança determinem o contrário.
As organizações podem precisar personalizar conjuntos de criptografia e algoritmos criptográficos para atender a políticas de segurança organizacional específicas, padrões do setor ou requisitos regulatórios.
A partir do GitHub Enterprise Server 3.19, as criptografias TLS são configuráveis e o gateway da Web usa padrões de criptografia mais seguros. Para manter a compatibilidade retroativa com instâncias existentes, as instâncias recém-provisionadas adotarão esses novos padrões.
Aviso
Configurar conjuntos de criptografia excessivamente restritivos pode impedir que os clientes se conectem à sua instância. Sempre teste as alterações em um ambiente de não produção primeiro, verifique se pelo menos um conjunto de criptografias é compatível com seus clientes e verifique a conectividade após a aplicação de alterações de configuração.
Observação
Ao configurar conjuntos de criptografia TLS, use valores separados por vírgulas em seus comandos de configuração. GitHub Enterprise Server converte automaticamente delimitadores de vírgulas em dois-pontos para a configuração HAProxy. Os conjuntos de criptografia são avaliados na ordem especificada, portanto, liste suas criptografias preferenciais primeiro.
Configurando conjuntos de criptografia TLS
Você pode configurar os conjuntos de criptografia usados para conexões TLS 1.2 e TLS 1.3.
Listando pacotes de criptografia TLS disponíveis
-
SSH para sua instância do GitHub Enterprise Server de destino. Para saber mais, confira Acessar o shell administrativo (SSH).
ssh -p 122 admin@HOSTNAME -
Para exibir os pacotes de criptografia seguros padrão para TLS 1.2, execute o comando a seguir.
Shell ghe-crypto list tlsv12-ciphersuites
ghe-crypto list tlsv12-ciphersuites -
Para exibir os conjuntos de criptografia seguro padrão para TLS 1.3, execute o comando a seguir.
Shell ghe-crypto list tlsv13-ciphersuites
ghe-crypto list tlsv13-ciphersuites
Exibindo a configuração de criptografia atual
-
SSH para sua instância do GitHub Enterprise Server de destino. Para saber mais, confira Acessar o shell administrativo (SSH).
ssh -p 122 admin@HOSTNAME -
Para exibir os conjuntos de criptografia TLS 1.2 configurados, execute o comando a seguir.
Shell ghe-config github-ssl.tlsv12-ciphersuites
ghe-config github-ssl.tlsv12-ciphersuites -
Para exibir os conjuntos de criptografia TLS 1.3 configurados, execute o comando a seguir.
Shell ghe-config github-ssl.tlsv13-ciphersuites
ghe-config github-ssl.tlsv13-ciphersuitesSe esses comandos retornarem valores vazios, a instância estará usando os padrões seguros.
Configurando conjuntos de criptografia TLS 1.2
-
SSH para sua instância do GitHub Enterprise Server de destino. Para saber mais, confira Acessar o shell administrativo (SSH).
ssh -p 122 admin@HOSTNAME -
Verifique os conjuntos de criptografia TLS 1.2 desejados usando o
ghe-crypto checkcomando. SubstituaCIPHER1,CIPHER2,CIPHER3por uma lista separada por vírgulas de conjuntos de criptografia.Shell ghe-crypto check tlsv12-ciphersuites CIPHER1,CIPHER2,CIPHER3
ghe-crypto check tlsv12-ciphersuites CIPHER1,CIPHER2,CIPHER3Por exemplo:
ghe-crypto check tlsv12-ciphersuites ECDHE-ECDSA-AES128-GCM-SHA256,ECDHE-RSA-AES128-GCM-SHA256,ECDHE-ECDSA-AES256-GCM-SHA384 -
Se a cadeia de caracteres de criptografia for válida, defina os conjuntos de criptografia TLS 1.2. Substitua
CIPHER1,CIPHER2,CIPHER3por sua lista separada por vírgulas.Shell ghe-config github-ssl.tlsv12-ciphersuites 'CIPHER1,CIPHER2,CIPHER3'
ghe-config github-ssl.tlsv12-ciphersuites 'CIPHER1,CIPHER2,CIPHER3'Por exemplo:
ghe-config github-ssl.tlsv12-ciphersuites 'ECDHE-ECDSA-AES128-GCM-SHA256,ECDHE-RSA-AES128-GCM-SHA256,ECDHE-ECDSA-AES256-GCM-SHA384' -
Verifique a configuração.
Shell ghe-config-check
ghe-config-check -
Para aplicar a configuração, execute o comando a seguir.
Observação
Durante uma execução de configuração, os serviços do sua instância do GitHub Enterprise Server podem ser reiniciados, o que pode causar um breve tempo de inatividade para os usuários.
Shell ghe-config-apply
ghe-config-apply -
Aguarde a conclusão da execução de suas configurações.
-
Se você configurou uma mensagem de usuário ou um modo de manutenção, remova a mensagem e desabilite o modo de manutenção.
Configurando conjuntos de criptografia TLS 1.3
-
SSH para sua instância do GitHub Enterprise Server de destino. Para saber mais, confira Acessar o shell administrativo (SSH).
ssh -p 122 admin@HOSTNAME -
Verifique os conjuntos de criptografia TLS 1.3 desejados usando o
ghe-crypto checkcomando. SubstituaCIPHER1,CIPHER2,CIPHER3por uma lista separada por vírgulas de conjuntos de criptografia.Shell ghe-crypto check tlsv13-ciphersuites CIPHER1,CIPHER2,CIPHER3
ghe-crypto check tlsv13-ciphersuites CIPHER1,CIPHER2,CIPHER3Por exemplo:
ghe-crypto check tlsv13-ciphersuites TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256 -
Se a cadeia de caracteres de criptografia for válida, defina os conjuntos de criptografia TLS 1.3. Substitua
CIPHER1,CIPHER2,CIPHER3por sua lista separada por vírgulas.Shell ghe-config github-ssl.tlsv13-ciphersuites 'CIPHER1,CIPHER2,CIPHER3'
ghe-config github-ssl.tlsv13-ciphersuites 'CIPHER1,CIPHER2,CIPHER3'Por exemplo:
ghe-config github-ssl.tlsv13-ciphersuites 'TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256' -
Verifique a configuração.
Shell ghe-config-check
ghe-config-check -
Para aplicar a configuração, execute o comando a seguir.
Observação
Durante uma execução de configuração, os serviços do sua instância do GitHub Enterprise Server podem ser reiniciados, o que pode causar um breve tempo de inatividade para os usuários.
Shell ghe-config-apply
ghe-config-apply -
Aguarde a conclusão da execução de suas configurações.
-
Se você configurou uma mensagem de usuário ou um modo de manutenção, remova a mensagem e desabilite o modo de manutenção.
Configurando algoritmos criptográficos SSH
Você pode configurar os algoritmos criptográficos usados para conexões SSH na porta 22 (operações do Git) e na porta 122 (acesso ao shell administrativo).
Listando algoritmos SSH disponíveis
-
SSH para sua instância do GitHub Enterprise Server de destino. Para saber mais, confira Acessar o shell administrativo (SSH).
ssh -p 122 admin@HOSTNAME -
Para exibir as criptografias SSH seguras padrão, execute o comando a seguir.
Shell ghe-crypto list ssh-ciphers
ghe-crypto list ssh-ciphers -
Para exibir os algoritmos mac SSH seguros padrão, execute o comando a seguir.
Shell ghe-crypto list ssh-mac-algorithms
ghe-crypto list ssh-mac-algorithms -
Para exibir os algoritmos de troca de chaves SSH seguros padrão, execute o comando a seguir.
Shell ghe-crypto list ssh-kex-algorithms
ghe-crypto list ssh-kex-algorithms -
Para exibir os tipos de assinatura SSH seguros padrão, execute o comando a seguir.
Shell ghe-crypto list ssh-signature-types
ghe-crypto list ssh-signature-types
Exibindo a configuração atual do SSH
-
SSH para sua instância do GitHub Enterprise Server de destino. Para saber mais, confira Acessar o shell administrativo (SSH).
ssh -p 122 admin@HOSTNAME -
Para exibir as criptografias SSH configuradas, execute o comando a seguir.
Shell ghe-config github-ssl.ssh-ciphers
ghe-config github-ssl.ssh-ciphers -
Para exibir os algoritmos mac SSH configurados, execute o comando a seguir.
Shell ghe-config github-ssl.ssh-mac-algorithms
ghe-config github-ssl.ssh-mac-algorithms -
Para exibir os algoritmos de troca de chaves SSH configurados, execute o comando a seguir.
Shell ghe-config github-ssl.ssh-kex-algorithms
ghe-config github-ssl.ssh-kex-algorithms -
Para exibir os tipos de assinatura SSH configurados, execute o comando a seguir.
Shell ghe-config github-ssl.ssh-signature-types
ghe-config github-ssl.ssh-signature-typesSe esses comandos retornarem valores vazios, a instância estará usando os padrões seguros.
Configurando criptografias SSH
-
SSH para sua instância do GitHub Enterprise Server de destino. Para saber mais, confira Acessar o shell administrativo (SSH).
ssh -p 122 admin@HOSTNAME -
Verifique as criptografias SSH desejadas usando o
ghe-crypto checkcomando. Substituacipher1,cipher2,cipher3por uma lista separada por vírgulas de criptografias.Shell ghe-crypto check ssh-ciphers cipher1,cipher2,cipher3
ghe-crypto check ssh-ciphers cipher1,cipher2,cipher3Por exemplo:
ghe-crypto check ssh-ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com -
Se a cadeia de caracteres de criptografia for válida, defina as criptografias SSH. Substitua
cipher1,cipher2,cipher3por sua lista separada por vírgulas.Shell ghe-config github-ssl.ssh-ciphers 'cipher1,cipher2,cipher3'
ghe-config github-ssl.ssh-ciphers 'cipher1,cipher2,cipher3'Por exemplo:
ghe-config github-ssl.ssh-ciphers 'chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com' -
Verifique a configuração.
Shell ghe-config-check
ghe-config-check -
Para aplicar a configuração, execute o comando a seguir.
Observação
Durante uma execução de configuração, os serviços do sua instância do GitHub Enterprise Server podem ser reiniciados, o que pode causar um breve tempo de inatividade para os usuários.
Shell ghe-config-apply
ghe-config-apply -
Aguarde a conclusão da execução de suas configurações.
-
Se você configurou uma mensagem de usuário ou um modo de manutenção, remova a mensagem e desabilite o modo de manutenção.
Definindo algoritmos MAC SSH
-
SSH para sua instância do GitHub Enterprise Server de destino. Para saber mais, confira Acessar o shell administrativo (SSH).
ssh -p 122 admin@HOSTNAME -
Verifique os algoritmos mac SSH desejados usando o
ghe-crypto checkcomando. Substituamac1,mac2,mac3por uma lista separada por vírgulas de algoritmos MAC.Shell ghe-crypto check ssh-mac-algorithms mac1,mac2,mac3
ghe-crypto check ssh-mac-algorithms mac1,mac2,mac3Por exemplo:
ghe-crypto check ssh-mac-algorithms hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com -
Se a cadeia de caracteres do algoritmo MAC for válida, defina os algoritmos MAC SSH. Substitua
mac1,mac2,mac3por sua lista separada por vírgulas.Shell ghe-config github-ssl.ssh-mac-algorithms 'mac1,mac2,mac3'
ghe-config github-ssl.ssh-mac-algorithms 'mac1,mac2,mac3'Por exemplo:
ghe-config github-ssl.ssh-mac-algorithms 'hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com' -
Verifique a configuração.
Shell ghe-config-check
ghe-config-check -
Para aplicar a configuração, execute o comando a seguir.
Observação
Durante uma execução de configuração, os serviços do sua instância do GitHub Enterprise Server podem ser reiniciados, o que pode causar um breve tempo de inatividade para os usuários.
Shell ghe-config-apply
ghe-config-apply -
Aguarde a conclusão da execução de suas configurações.
-
Se você configurou uma mensagem de usuário ou um modo de manutenção, remova a mensagem e desabilite o modo de manutenção.
Definindo algoritmos de troca de chaves SSH
-
SSH para sua instância do GitHub Enterprise Server de destino. Para saber mais, confira Acessar o shell administrativo (SSH).
ssh -p 122 admin@HOSTNAME -
Verifique os algoritmos de troca de chaves SSH desejados usando o
ghe-crypto checkcomando. Substituakex1,kex2,kex3por uma lista separada por vírgulas de algoritmos de troca de chaves.Shell ghe-crypto check ssh-kex-algorithms kex1,kex2,kex3
ghe-crypto check ssh-kex-algorithms kex1,kex2,kex3Por exemplo:
ghe-crypto check ssh-kex-algorithms curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp521 -
Se a cadeia de caracteres do algoritmo de troca de chaves for válida, defina os algoritmos de troca de chaves SSH. Substitua
kex1,kex2,kex3por sua lista separada por vírgulas.Shell ghe-config github-ssl.ssh-kex-algorithms 'kex1,kex2,kex3'
ghe-config github-ssl.ssh-kex-algorithms 'kex1,kex2,kex3'Por exemplo:
ghe-config github-ssl.ssh-kex-algorithms 'curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp521' -
Verifique a configuração.
Shell ghe-config-check
ghe-config-check -
Para aplicar a configuração, execute o comando a seguir.
Observação
Durante uma execução de configuração, os serviços do sua instância do GitHub Enterprise Server podem ser reiniciados, o que pode causar um breve tempo de inatividade para os usuários.
Shell ghe-config-apply
ghe-config-apply -
Aguarde a conclusão da execução de suas configurações.
-
Se você configurou uma mensagem de usuário ou um modo de manutenção, remova a mensagem e desabilite o modo de manutenção.
Definindo tipos de assinatura SSH
-
SSH para sua instância do GitHub Enterprise Server de destino. Para saber mais, confira Acessar o shell administrativo (SSH).
ssh -p 122 admin@HOSTNAME -
Verifique os tipos de assinatura SSH desejados usando o
ghe-crypto checkcomando. Substituasig1,sig2,sig3por uma lista separada por vírgulas de tipos de assinatura.Shell ghe-crypto check ssh-signature-types sig1,sig2,sig3
ghe-crypto check ssh-signature-types sig1,sig2,sig3Por exemplo:
ghe-crypto check ssh-signature-types ssh-ed25519,ecdsa-sha2-nistp521,ecdsa-sha2-nistp384 -
Se a cadeia de caracteres de tipo de assinatura for válida, defina os tipos de assinatura SSH. Substitua
sig1,sig2,sig3por sua lista separada por vírgulas.Shell ghe-config github-ssl.ssh-signature-types 'sig1,sig2,sig3'
ghe-config github-ssl.ssh-signature-types 'sig1,sig2,sig3'Por exemplo:
ghe-config github-ssl.ssh-signature-types 'ssh-ed25519,ecdsa-sha2-nistp521,ecdsa-sha2-nistp384' -
Verifique a configuração.
Shell ghe-config-check
ghe-config-check -
Para aplicar a configuração, execute o comando a seguir.
Observação
Durante uma execução de configuração, os serviços do sua instância do GitHub Enterprise Server podem ser reiniciados, o que pode causar um breve tempo de inatividade para os usuários.
Shell ghe-config-apply
ghe-config-apply -
Aguarde a conclusão da execução de suas configurações.
-
Se você configurou uma mensagem de usuário ou um modo de manutenção, remova a mensagem e desabilite o modo de manutenção.
Solução de problemas de configuração de criptografia
Se os clientes não puderem se conectar ao sua instância do GitHub Enterprise Server depois de alterar a configuração de criptografia, você poderá solucionar o problema.
- Verifique se seus clientes dão suporte às versões de protocolo TLS ou SSH configuradas.
- Verifique se pelo menos um pacote de criptografia configurado é compatível com seus clientes.
- Revise os logs da instância para ver se há falhas de handshake do TLS ou erros de conexão SSH. Para obter mais informações sobre como acessar logs, consulte Sobre os logs do sistema.
- Restaure temporariamente as configurações padrão para verificar se o problema está relacionado à criptografia. Para obter mais informações, consulte Restaurar o conjunto de criptografia padrão e as configurações de algoritmo.
- Se o problema persistir após a restauração de padrões, entre em contato com Suporte do GitHub Enterprise.
Restaurando configurações padrão de conjunto de criptografia e algoritmo
Para restaurar os conjuntos padrão de criptografia segura ou algoritmos, remova o valor de configuração.
-
SSH para sua instância do GitHub Enterprise Server de destino. Para saber mais, confira Acessar o shell administrativo (SSH).
ssh -p 122 admin@HOSTNAME -
Desinstale a configuração. Substitua
SETTINGpelo nome da configuração que você deseja restaurar para padrões.Shell ghe-config --unset github-ssl.SETTING
ghe-config --unset github-ssl.SETTINGPor exemplo, para restaurar conjuntos de criptografia TLS 1.2 padrão:
ghe-config --unset github-ssl.tlsv12-ciphersuites -
Para aplicar a configuração, execute o comando a seguir.
Observação
Durante uma execução de configuração, os serviços do sua instância do GitHub Enterprise Server podem ser reiniciados, o que pode causar um breve tempo de inatividade para os usuários.
Shell ghe-config-apply
ghe-config-apply -
Aguarde a conclusão da execução de suas configurações.
-
Se você configurou uma mensagem de usuário ou um modo de manutenção, remova a mensagem e desabilite o modo de manutenção.