À propos de la suite de chiffrement et de la configuration de l’algorithme
GitHub Enterprise Server vous permet de configurer les suites de chiffrement et les algorithmes de chiffrement à utiliser pour :
-
**Connexions TLS** sur les ports 443 (interface web HTTPS) et 8443 (console de gestion HTTPS) -
**Connexions SSH** sur le port 22 (opérations Git via SSH) et le port 122 (accès à l’interpréteur de commandes administratifs)
Les suites de chiffrement sécurisées par défaut sont basées sur des recommandations de renforcement TLS standard et des meilleures pratiques de sécurité modernes. La plupart des organisations doivent utiliser ces valeurs par défaut, sauf si des exigences de conformité ou de sécurité spécifiques dictent autrement.
Les organisations peuvent avoir besoin de personnaliser des suites de chiffrement et des algorithmes de chiffrement pour répondre à des stratégies de sécurité organisationnelles spécifiques, aux normes du secteur ou aux exigences réglementaires.
À partir de GitHub Enterprise Server 3.19, les chiffrements TLS sont configurables et la passerelle web utilise des valeurs par défaut de chiffrement plus sécurisées. Pour maintenir la compatibilité descendante avec les instances existantes, les instances nouvellement approvisionnées utilisent ces nouvelles valeurs par défaut.
Avertissement
La configuration de suites de chiffrement trop restrictives peut empêcher les clients de se connecter à votre instance. Testez toujours les modifications dans un environnement hors production, vérifiez qu’au moins une suite de chiffrement est compatible avec vos clients et vérifiez la connectivité après l’application des modifications de configuration.
Remarque
Lors de la configuration des suites de chiffrement TLS, utilisez des valeurs séparées par des virgules dans vos commandes de configuration. GitHub Enterprise Server convertit automatiquement les délimiteurs par virgule en deux-points pour la configuration HAProxy. Les suites de chiffrement sont évaluées dans l’ordre spécifié. Vous devez donc d’abord répertorier vos chiffrements préférés.
Configuration des suites de chiffrement TLS
Vous pouvez configurer les suites de chiffrement utilisées pour les connexions TLS 1.2 et TLS 1.3.
Liste des suites de chiffrement TLS disponibles
-
Connectez-vous avec SSH à votre instance GitHub Enterprise Server cible. Pour plus d’informations, consultez « Accès à l’interpréteur de commandes d’administration (SSH) ».
ssh -p 122 admin@HOSTNAME -
Pour afficher les suites de chiffrement sécurisées par défaut pour TLS 1.2, exécutez la commande suivante.
Shell ghe-crypto list tlsv12-ciphersuites
ghe-crypto list tlsv12-ciphersuites -
Pour afficher les suites de chiffrement sécurisées par défaut pour TLS 1.3, exécutez la commande suivante.
Shell ghe-crypto list tlsv13-ciphersuites
ghe-crypto list tlsv13-ciphersuites
Affichage de la configuration actuelle du chiffrement
-
Connectez-vous avec SSH à votre instance GitHub Enterprise Server cible. Pour plus d’informations, consultez « Accès à l’interpréteur de commandes d’administration (SSH) ».
ssh -p 122 admin@HOSTNAME -
Pour afficher les suites de chiffrement TLS 1.2 configurées, exécutez la commande suivante.
Shell ghe-config github-ssl.tlsv12-ciphersuites
ghe-config github-ssl.tlsv12-ciphersuites -
Pour afficher les suites de chiffrement TLS 1.3 configurées, exécutez la commande suivante.
Shell ghe-config github-ssl.tlsv13-ciphersuites
ghe-config github-ssl.tlsv13-ciphersuitesSi ces commandes retournent des valeurs vides, l’instance utilise les valeurs par défaut sécurisées.
Définition des suites de chiffrement TLS 1.2
-
Connectez-vous avec SSH à votre instance GitHub Enterprise Server cible. Pour plus d’informations, consultez « Accès à l’interpréteur de commandes d’administration (SSH) ».
ssh -p 122 admin@HOSTNAME -
Vérifiez les suites de chiffrement TLS 1.2 souhaitées à l’aide de la
ghe-crypto checkcommande. RemplacezCIPHER1,CIPHER2,CIPHER3par une liste séparée par des virgules de suites de chiffrement.Shell ghe-crypto check tlsv12-ciphersuites CIPHER1,CIPHER2,CIPHER3
ghe-crypto check tlsv12-ciphersuites CIPHER1,CIPHER2,CIPHER3Par exemple:
ghe-crypto check tlsv12-ciphersuites ECDHE-ECDSA-AES128-GCM-SHA256,ECDHE-RSA-AES128-GCM-SHA256,ECDHE-ECDSA-AES256-GCM-SHA384 -
Si la chaîne de chiffrement est valide, définissez les suites de chiffrement TLS 1.2. Remplacez
CIPHER1,CIPHER2,CIPHER3par votre liste séparée par des virgules.Shell ghe-config github-ssl.tlsv12-ciphersuites 'CIPHER1,CIPHER2,CIPHER3'
ghe-config github-ssl.tlsv12-ciphersuites 'CIPHER1,CIPHER2,CIPHER3'Par exemple:
ghe-config github-ssl.tlsv12-ciphersuites 'ECDHE-ECDSA-AES128-GCM-SHA256,ECDHE-RSA-AES128-GCM-SHA256,ECDHE-ECDSA-AES256-GCM-SHA384' -
Vérifiez la configuration.
Shell ghe-config-check
ghe-config-check -
Pour appliquer la configuration, exécutez la commande suivante.
Remarque
Durant une exécution de configuration, les services sur votre instance GitHub Enterprise Server peuvent redémarrer, ce qui peut entraîner un bref temps d’arrêt pour les utilisateurs.
Shell ghe-config-apply
ghe-config-apply -
Attendez la fin de l’exécution de la configuration.
-
Si vous avez configuré un message à destination des utilisateurs, supprimez-le. Si vous avez activé un mode maintenance, désactivez-le.
Définition des suites de chiffrement TLS 1.3
-
Connectez-vous avec SSH à votre instance GitHub Enterprise Server cible. Pour plus d’informations, consultez « Accès à l’interpréteur de commandes d’administration (SSH) ».
ssh -p 122 admin@HOSTNAME -
Vérifiez les suites de chiffrement TLS 1.3 souhaitées à l’aide de la
ghe-crypto checkcommande. RemplacezCIPHER1,CIPHER2,CIPHER3par une liste séparée par des virgules de suites de chiffrement.Shell ghe-crypto check tlsv13-ciphersuites CIPHER1,CIPHER2,CIPHER3
ghe-crypto check tlsv13-ciphersuites CIPHER1,CIPHER2,CIPHER3Par exemple:
ghe-crypto check tlsv13-ciphersuites TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256 -
Si la chaîne de chiffrement est valide, définissez les suites de chiffrement TLS 1.3. Remplacez
CIPHER1,CIPHER2,CIPHER3par votre liste séparée par des virgules.Shell ghe-config github-ssl.tlsv13-ciphersuites 'CIPHER1,CIPHER2,CIPHER3'
ghe-config github-ssl.tlsv13-ciphersuites 'CIPHER1,CIPHER2,CIPHER3'Par exemple:
ghe-config github-ssl.tlsv13-ciphersuites 'TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256' -
Vérifiez la configuration.
Shell ghe-config-check
ghe-config-check -
Pour appliquer la configuration, exécutez la commande suivante.
Remarque
Durant une exécution de configuration, les services sur votre instance GitHub Enterprise Server peuvent redémarrer, ce qui peut entraîner un bref temps d’arrêt pour les utilisateurs.
Shell ghe-config-apply
ghe-config-apply -
Attendez la fin de l’exécution de la configuration.
-
Si vous avez configuré un message à destination des utilisateurs, supprimez-le. Si vous avez activé un mode maintenance, désactivez-le.
Configuration des algorithmes de chiffrement SSH
Vous pouvez configurer les algorithmes de chiffrement utilisés pour les connexions SSH sur les ports 22 (opérations Git) et le port 122 (accès à l’interpréteur de commandes d’administration).
Liste des algorithmes SSH disponibles
-
Connectez-vous avec SSH à votre instance GitHub Enterprise Server cible. Pour plus d’informations, consultez « Accès à l’interpréteur de commandes d’administration (SSH) ».
ssh -p 122 admin@HOSTNAME -
Pour afficher les chiffrements SSH sécurisés par défaut, exécutez la commande suivante.
Shell ghe-crypto list ssh-ciphers
ghe-crypto list ssh-ciphers -
Pour afficher les algorithmes MAC SSH sécurisés par défaut, exécutez la commande suivante.
Shell ghe-crypto list ssh-mac-algorithms
ghe-crypto list ssh-mac-algorithms -
Pour afficher les algorithmes d’échange de clés SSH sécurisés par défaut, exécutez la commande suivante.
Shell ghe-crypto list ssh-kex-algorithms
ghe-crypto list ssh-kex-algorithms -
Pour afficher les types de signature SSH sécurisés par défaut, exécutez la commande suivante.
Shell ghe-crypto list ssh-signature-types
ghe-crypto list ssh-signature-types
Affichage de la configuration SSH actuelle
-
Connectez-vous avec SSH à votre instance GitHub Enterprise Server cible. Pour plus d’informations, consultez « Accès à l’interpréteur de commandes d’administration (SSH) ».
ssh -p 122 admin@HOSTNAME -
Pour afficher les chiffrements SSH configurés, exécutez la commande suivante.
Shell ghe-config github-ssl.ssh-ciphers
ghe-config github-ssl.ssh-ciphers -
Pour afficher les algorithmes MAC SSH configurés, exécutez la commande suivante.
Shell ghe-config github-ssl.ssh-mac-algorithms
ghe-config github-ssl.ssh-mac-algorithms -
Pour afficher les algorithmes d’échange de clés SSH configurés, exécutez la commande suivante.
Shell ghe-config github-ssl.ssh-kex-algorithms
ghe-config github-ssl.ssh-kex-algorithms -
Pour afficher les types de signature SSH configurés, exécutez la commande suivante.
Shell ghe-config github-ssl.ssh-signature-types
ghe-config github-ssl.ssh-signature-typesSi ces commandes retournent des valeurs vides, l’instance utilise les valeurs par défaut sécurisées.
Définition des chiffrements SSH
-
Connectez-vous avec SSH à votre instance GitHub Enterprise Server cible. Pour plus d’informations, consultez « Accès à l’interpréteur de commandes d’administration (SSH) ».
ssh -p 122 admin@HOSTNAME -
Vérifiez vos chiffrements SSH souhaités à l’aide de la
ghe-crypto checkcommande. Remplacezcipher1,cipher2,cipher3par une liste de chiffrements séparés par des virgules.Shell ghe-crypto check ssh-ciphers cipher1,cipher2,cipher3
ghe-crypto check ssh-ciphers cipher1,cipher2,cipher3Par exemple:
ghe-crypto check ssh-ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com -
Si la chaîne de chiffrement est valide, définissez les chiffrements SSH. Remplacez
cipher1,cipher2,cipher3par votre liste séparée par des virgules.Shell ghe-config github-ssl.ssh-ciphers 'cipher1,cipher2,cipher3'
ghe-config github-ssl.ssh-ciphers 'cipher1,cipher2,cipher3'Par exemple:
ghe-config github-ssl.ssh-ciphers 'chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com' -
Vérifiez la configuration.
Shell ghe-config-check
ghe-config-check -
Pour appliquer la configuration, exécutez la commande suivante.
Remarque
Durant une exécution de configuration, les services sur votre instance GitHub Enterprise Server peuvent redémarrer, ce qui peut entraîner un bref temps d’arrêt pour les utilisateurs.
Shell ghe-config-apply
ghe-config-apply -
Attendez la fin de l’exécution de la configuration.
-
Si vous avez configuré un message à destination des utilisateurs, supprimez-le. Si vous avez activé un mode maintenance, désactivez-le.
Définition d’algorithmes MAC SSH
-
Connectez-vous avec SSH à votre instance GitHub Enterprise Server cible. Pour plus d’informations, consultez « Accès à l’interpréteur de commandes d’administration (SSH) ».
ssh -p 122 admin@HOSTNAME -
Vérifiez vos algorithmes MAC SSH souhaités à l’aide de la
ghe-crypto checkcommande. Remplacezmac1,mac2,mac3par une liste séparée par des virgules d’algorithmes MAC.Shell ghe-crypto check ssh-mac-algorithms mac1,mac2,mac3
ghe-crypto check ssh-mac-algorithms mac1,mac2,mac3Par exemple:
ghe-crypto check ssh-mac-algorithms hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com -
Si la chaîne d’algorithme MAC est valide, définissez les algorithmes MAC SSH. Remplacez
mac1,mac2,mac3par votre liste séparée par des virgules.Shell ghe-config github-ssl.ssh-mac-algorithms 'mac1,mac2,mac3'
ghe-config github-ssl.ssh-mac-algorithms 'mac1,mac2,mac3'Par exemple:
ghe-config github-ssl.ssh-mac-algorithms 'hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com' -
Vérifiez la configuration.
Shell ghe-config-check
ghe-config-check -
Pour appliquer la configuration, exécutez la commande suivante.
Remarque
Durant une exécution de configuration, les services sur votre instance GitHub Enterprise Server peuvent redémarrer, ce qui peut entraîner un bref temps d’arrêt pour les utilisateurs.
Shell ghe-config-apply
ghe-config-apply -
Attendez la fin de l’exécution de la configuration.
-
Si vous avez configuré un message à destination des utilisateurs, supprimez-le. Si vous avez activé un mode maintenance, désactivez-le.
Définition d’algorithmes d’échange de clés SSH
-
Connectez-vous avec SSH à votre instance GitHub Enterprise Server cible. Pour plus d’informations, consultez « Accès à l’interpréteur de commandes d’administration (SSH) ».
ssh -p 122 admin@HOSTNAME -
Vérifiez vos algorithmes d’échange de clés SSH souhaités à l’aide de la
ghe-crypto checkcommande. Remplacezkex1,kex2,kex3par une liste séparée par des virgules d’algorithmes d’échange de clés.Shell ghe-crypto check ssh-kex-algorithms kex1,kex2,kex3
ghe-crypto check ssh-kex-algorithms kex1,kex2,kex3Par exemple:
ghe-crypto check ssh-kex-algorithms curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp521 -
Si la chaîne d’algorithme d’échange de clés est valide, définissez les algorithmes d’échange de clés SSH. Remplacez
kex1,kex2,kex3par votre liste séparée par des virgules.Shell ghe-config github-ssl.ssh-kex-algorithms 'kex1,kex2,kex3'
ghe-config github-ssl.ssh-kex-algorithms 'kex1,kex2,kex3'Par exemple:
ghe-config github-ssl.ssh-kex-algorithms 'curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp521' -
Vérifiez la configuration.
Shell ghe-config-check
ghe-config-check -
Pour appliquer la configuration, exécutez la commande suivante.
Remarque
Durant une exécution de configuration, les services sur votre instance GitHub Enterprise Server peuvent redémarrer, ce qui peut entraîner un bref temps d’arrêt pour les utilisateurs.
Shell ghe-config-apply
ghe-config-apply -
Attendez la fin de l’exécution de la configuration.
-
Si vous avez configuré un message à destination des utilisateurs, supprimez-le. Si vous avez activé un mode maintenance, désactivez-le.
Définition des types de signature SSH
-
Connectez-vous avec SSH à votre instance GitHub Enterprise Server cible. Pour plus d’informations, consultez « Accès à l’interpréteur de commandes d’administration (SSH) ».
ssh -p 122 admin@HOSTNAME -
Vérifiez les types de signature SSH souhaités à l’aide de la
ghe-crypto checkcommande. Remplacezsig1,sig2,sig3par une liste séparée par des virgules de types de signature.Shell ghe-crypto check ssh-signature-types sig1,sig2,sig3
ghe-crypto check ssh-signature-types sig1,sig2,sig3Par exemple:
ghe-crypto check ssh-signature-types ssh-ed25519,ecdsa-sha2-nistp521,ecdsa-sha2-nistp384 -
Si la chaîne de type de signature est valide, définissez les types de signature SSH. Remplacez
sig1,sig2,sig3par votre liste séparée par des virgules.Shell ghe-config github-ssl.ssh-signature-types 'sig1,sig2,sig3'
ghe-config github-ssl.ssh-signature-types 'sig1,sig2,sig3'Par exemple:
ghe-config github-ssl.ssh-signature-types 'ssh-ed25519,ecdsa-sha2-nistp521,ecdsa-sha2-nistp384' -
Vérifiez la configuration.
Shell ghe-config-check
ghe-config-check -
Pour appliquer la configuration, exécutez la commande suivante.
Remarque
Durant une exécution de configuration, les services sur votre instance GitHub Enterprise Server peuvent redémarrer, ce qui peut entraîner un bref temps d’arrêt pour les utilisateurs.
Shell ghe-config-apply
ghe-config-apply -
Attendez la fin de l’exécution de la configuration.
-
Si vous avez configuré un message à destination des utilisateurs, supprimez-le. Si vous avez activé un mode maintenance, désactivez-le.
Résolution des problèmes de configuration de chiffrement
Si les clients ne peuvent pas se connecter à votre instance GitHub Enterprise Server après avoir modifié la configuration de chiffrement, vous pouvez résoudre le problème.
- Vérifiez que vos clients prennent en charge les versions de protocole TLS ou SSH configurées.
- Vérifiez qu’au moins une suite de chiffrement configurée est compatible avec vos clients.
- Examinez les journaux de l'instance pour détecter les échecs de négociation TLS ou les erreurs de connexion SSH. Pour plus d’informations sur l’accès aux journaux, consultez À propos des journaux système.
- Restaurez temporairement les paramètres par défaut pour vérifier que le problème est lié au chiffrement. Pour plus d’informations, consultez Restauration des paramètres de suite de chiffrement et d’algorithme par défaut.
- Si le problème persiste après la restauration par défaut, contactez Support GitHub Enterprise.
Restauration des paramètres de suite de chiffrement et d’algorithme par défaut
Pour restaurer les suites ou algorithmes de chiffrement sécurisés par défaut, annulez la valeur de configuration.
-
Connectez-vous avec SSH à votre instance GitHub Enterprise Server cible. Pour plus d’informations, consultez « Accès à l’interpréteur de commandes d’administration (SSH) ».
ssh -p 122 admin@HOSTNAME -
Annulez le paramètre de configuration. Remplacez
SETTINGpar le nom du paramètre que vous souhaitez restaurer sur les valeurs par défaut.Shell ghe-config --unset github-ssl.SETTING
ghe-config --unset github-ssl.SETTINGPar exemple, pour restaurer les suites de chiffrement TLS 1.2 par défaut :
ghe-config --unset github-ssl.tlsv12-ciphersuites -
Pour appliquer la configuration, exécutez la commande suivante.
Remarque
Durant une exécution de configuration, les services sur votre instance GitHub Enterprise Server peuvent redémarrer, ce qui peut entraîner un bref temps d’arrêt pour les utilisateurs.
Shell ghe-config-apply
ghe-config-apply -
Attendez la fin de l’exécution de la configuration.
-
Si vous avez configuré un message à destination des utilisateurs, supprimez-le. Si vous avez activé un mode maintenance, désactivez-le.