Skip to main content

Configuration des chiffrements TLS et SSH

Vous pouvez configurer les suites de chiffrement et les algorithmes de chiffrement que GitHub Enterprise Server utilise pour les connexions TLS et SSH pour répondre à des exigences de conformité ou de sécurité spécifiques.

Qui peut utiliser cette fonctionnalité ?

Site administrators

À 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

  1. 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
    
  2. 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
    
  3. 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
    

Affichage de la configuration actuelle du chiffrement

  1. 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
    
  2. Pour afficher les suites de chiffrement TLS 1.2 configurées, exécutez la commande suivante.

    Shell
    ghe-config github-ssl.tlsv12-ciphersuites
    
  3. Pour afficher les suites de chiffrement TLS 1.3 configurées, exécutez la commande suivante.

    Shell
    ghe-config github-ssl.tlsv13-ciphersuites
    

    Si 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

  1. 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
    
  2. Vérifiez les suites de chiffrement TLS 1.2 souhaitées à l’aide de la ghe-crypto check commande. Remplacez CIPHER1,CIPHER2,CIPHER3 par une liste séparée par des virgules de suites de chiffrement.

    Shell
    ghe-crypto check tlsv12-ciphersuites CIPHER1,CIPHER2,CIPHER3
    

    Par exemple:

    ghe-crypto check tlsv12-ciphersuites ECDHE-ECDSA-AES128-GCM-SHA256,ECDHE-RSA-AES128-GCM-SHA256,ECDHE-ECDSA-AES256-GCM-SHA384
    
  3. Si la chaîne de chiffrement est valide, définissez les suites de chiffrement TLS 1.2. Remplacez CIPHER1,CIPHER2,CIPHER3 par votre liste séparée par des virgules.

    Shell
    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'
    
  4. Vérifiez la configuration.

    Shell
    ghe-config-check
    
  5. 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
    
  6. Attendez la fin de l’exécution de la configuration.

  7. 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

  1. 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
    
  2. Vérifiez les suites de chiffrement TLS 1.3 souhaitées à l’aide de la ghe-crypto check commande. Remplacez CIPHER1,CIPHER2,CIPHER3 par une liste séparée par des virgules de suites de chiffrement.

    Shell
    ghe-crypto check tlsv13-ciphersuites CIPHER1,CIPHER2,CIPHER3
    

    Par exemple:

    ghe-crypto check tlsv13-ciphersuites TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256
    
  3. Si la chaîne de chiffrement est valide, définissez les suites de chiffrement TLS 1.3. Remplacez CIPHER1,CIPHER2,CIPHER3 par votre liste séparée par des virgules.

    Shell
    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'
    
  4. Vérifiez la configuration.

    Shell
    ghe-config-check
    
  5. 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
    
  6. Attendez la fin de l’exécution de la configuration.

  7. 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

  1. 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
    
  2. Pour afficher les chiffrements SSH sécurisés par défaut, exécutez la commande suivante.

    Shell
    ghe-crypto list ssh-ciphers
    
  3. Pour afficher les algorithmes MAC SSH sécurisés par défaut, exécutez la commande suivante.

    Shell
    ghe-crypto list ssh-mac-algorithms
    
  4. 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
    
  5. 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
    

Affichage de la configuration SSH actuelle

  1. 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
    
  2. Pour afficher les chiffrements SSH configurés, exécutez la commande suivante.

    Shell
    ghe-config github-ssl.ssh-ciphers
    
  3. Pour afficher les algorithmes MAC SSH configurés, exécutez la commande suivante.

    Shell
    ghe-config github-ssl.ssh-mac-algorithms
    
  4. 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
    
  5. Pour afficher les types de signature SSH configurés, exécutez la commande suivante.

    Shell
    ghe-config github-ssl.ssh-signature-types
    

    Si ces commandes retournent des valeurs vides, l’instance utilise les valeurs par défaut sécurisées.

Définition des chiffrements SSH

  1. 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
    
  2. Vérifiez vos chiffrements SSH souhaités à l’aide de la ghe-crypto check commande. Remplacez cipher1,cipher2,cipher3 par une liste de chiffrements séparés par des virgules.

    Shell
    ghe-crypto check ssh-ciphers cipher1,cipher2,cipher3
    

    Par exemple:

    ghe-crypto check ssh-ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com
    
  3. Si la chaîne de chiffrement est valide, définissez les chiffrements SSH. Remplacez cipher1,cipher2,cipher3 par votre liste séparée par des virgules.

    Shell
    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'
    
  4. Vérifiez la configuration.

    Shell
    ghe-config-check
    
  5. 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
    
  6. Attendez la fin de l’exécution de la configuration.

  7. 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

  1. 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
    
  2. Vérifiez vos algorithmes MAC SSH souhaités à l’aide de la ghe-crypto check commande. Remplacez mac1,mac2,mac3 par une liste séparée par des virgules d’algorithmes MAC.

    Shell
    ghe-crypto check ssh-mac-algorithms mac1,mac2,mac3
    

    Par exemple:

    ghe-crypto check ssh-mac-algorithms hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com
    
  3. Si la chaîne d’algorithme MAC est valide, définissez les algorithmes MAC SSH. Remplacez mac1,mac2,mac3 par votre liste séparée par des virgules.

    Shell
    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'
    
  4. Vérifiez la configuration.

    Shell
    ghe-config-check
    
  5. 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
    
  6. Attendez la fin de l’exécution de la configuration.

  7. 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

  1. 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
    
  2. Vérifiez vos algorithmes d’échange de clés SSH souhaités à l’aide de la ghe-crypto check commande. Remplacez kex1,kex2,kex3 par 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
    

    Par exemple:

    ghe-crypto check ssh-kex-algorithms curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp521
    
  3. 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,kex3 par votre liste séparée par des virgules.

    Shell
    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'
    
  4. Vérifiez la configuration.

    Shell
    ghe-config-check
    
  5. 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
    
  6. Attendez la fin de l’exécution de la configuration.

  7. 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

  1. 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
    
  2. Vérifiez les types de signature SSH souhaités à l’aide de la ghe-crypto check commande. Remplacez sig1,sig2,sig3 par une liste séparée par des virgules de types de signature.

    Shell
    ghe-crypto check ssh-signature-types sig1,sig2,sig3
    

    Par exemple:

    ghe-crypto check ssh-signature-types ssh-ed25519,ecdsa-sha2-nistp521,ecdsa-sha2-nistp384
    
  3. Si la chaîne de type de signature est valide, définissez les types de signature SSH. Remplacez sig1,sig2,sig3 par votre liste séparée par des virgules.

    Shell
    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'
    
  4. Vérifiez la configuration.

    Shell
    ghe-config-check
    
  5. 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
    
  6. Attendez la fin de l’exécution de la configuration.

  7. 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.

  1. Vérifiez que vos clients prennent en charge les versions de protocole TLS ou SSH configurées.
  2. Vérifiez qu’au moins une suite de chiffrement configurée est compatible avec vos clients.
  3. 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.
  4. 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.
  5. 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.

  1. 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
    
  2. Annulez le paramètre de configuration. Remplacez SETTING par le nom du paramètre que vous souhaitez restaurer sur les valeurs par défaut.

    Shell
    ghe-config --unset github-ssl.SETTING
    

    Par exemple, pour restaurer les suites de chiffrement TLS 1.2 par défaut :

    ghe-config --unset github-ssl.tlsv12-ciphersuites
    
  3. 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
    
  4. Attendez la fin de l’exécution de la configuration.

  5. Si vous avez configuré un message à destination des utilisateurs, supprimez-le. Si vous avez activé un mode maintenance, désactivez-le.