Skip to main content

Configuration de TLS

Vous pouvez configurer le protocole TLS (Transport Layer Security) sur your GitHub Enterprise Server instance afin d’utiliser un certificat signé par une autorité de certification de confiance.

À propos du protocole TLS (Transport Layer Security)

TLS, qui a remplacé SSL, est activé et configuré avec un certificat auto-signé au premier démarrage de GitHub Enterprise Server. Sachant que les certificats auto-signés ne sont pas approuvés par les navigateurs web et les clients Git, ces clients affichent des avertissements de certificat tant que vous ne désactivez pas TLS ou que vous ne chargez pas un certificat signé par une autorité approuvée, comme Let’s Encrypt.

L’appliance GitHub Enterprise Server envoie des en-têtes HTTP Strict Transport Security quand SSL est activé. La désactivation du protocole TLS entraîne la perte d’accès des utilisateurs à l’appliance, car leurs navigateurs n’autorisent pas un déclassement du protocole à HTTP. Pour plus d’informations, consultez « HTTP Strict Transport Security (HSTS) » sur Wikipédia.

Avertissement : Quand des connexions HTTPS se terminent sur un équilibreur de charge, les demandes de l’équilibreur de charge vers GitHub Enterprise Server doivent également utiliser HTTPS. Le passage de la connexion HTTPS à HTTP n’est pas pris en charge.

Pour permettre aux utilisateurs d’utiliser FIDO U2F pour l’authentification à 2 facteurs, vous devez activer TLS pour votre instance. Pour plus d’informations, consultez « Configuration de l’authentification à 2 facteurs ».

Prérequis

Pour utiliser TLS en production, vous devez disposer d’un certificat dans un format PEM non chiffré signé par une autorité de certification approuvée.

Votre certificat aura besoin que d’autres noms d’objet soient configurés pour les sous-domaines listés dans « Activation de l’isolation de sous-domaine » et devra inclure la chaîne de certificats complète s’il a été signé par une autorité de certification intermédiaire. Pour plus d’informations, consultez « Subject Alternative Name » sur Wikipédia.

Vous pouvez générer une demande de signature de certificat (CSR) pour votre instance à l’aide de la commande ghe-ssl-generate-csr. Pour plus d’informations, consultez « Utilitaires en ligne de commande ».

Votre clé doit être une clé RSA et ne doit pas contenir de phrase secrète. Pour plus d’informations, consultez « Suppression de la phrase secrète de votre fichier de clé ».

Chargement d’un certificat TLS personnalisé

Avertissement : la configuration de TLS entraîne un petit temps d’arrêt pour your GitHub Enterprise Server instance.

  1. À partir d’un compte d’administration sur GitHub Enterprise Server, cliquez sur dans le coin supérieur droit de n’importe quelle page.

    Capture d’écran de l’icône représentant une fusée qui donne accès aux paramètres d’administration du site

  2. Si vous ne figurez pas déjà sur la page « Administrateur du site », dans le coin supérieur gauche, cliquez sur Administrateur du site.

    Capture d’écran du lien « Administrateur du site » 1. Dans la barre latérale gauche, cliquez sur Management Console . Onglet Management Console dans la barre latérale gauche 1. Dans la barre latérale gauche, cliquez sur Confidentialité. Onglet Confidentialité dans la barre latérale des paramètres 1. Sélectionnez TLS uniquement (recommandé) . Case à cocher pour choisir TLS uniquement

  3. Sous « Prise en charge des protocoles TLS », sélectionnez les protocoles que vous souhaitez autoriser. Cases d’option pour choisir des protocoles TLS

  4. Sous « Certificat », cliquez sur Choisir un fichier pour choisir le certificat TLS ou la chaîne de certificats (au format PEM) à installer. Ce fichier possède généralement une extension .pem, .crt ou .cer. Bouton permettant de rechercher un fichier de certificat TLS

  5. Sous « Clé non chiffrée », cliquez sur Choisir un fichier pour choisir la clé RSA (au format PEM) à installer. Ce fichier possède généralement une extension .key. Bouton permettant de rechercher un fichier de clé TLS

  6. Sous la barre latérale gauche, cliquez sur Enregistrer les paramètres.

    Capture d’écran du bouton Enregistrer les paramètres de la Management Console

    Remarque : l’enregistrement des paramètres dans la Management Console redémarre les services système, ce qui peut entraîner un temps d’arrêt visible pour l’utilisateur.

  7. Attendez la fin de l’exécution de la configuration.

    Configuration de votre instance

À propos de la prise en charge de Let’s Encrypt

Let’s Encrypt est une autorité de certification publique qui émet des certificats TLS gratuits et automatisés qui sont approuvés par les navigateurs utilisant le protocole ACME. Vous pouvez obtenir et renouveler automatiquement des certificats Let’s Encrypt sur votre appliance sans aucun besoin de maintenance manuelle.

Pour utiliser l’automatisation Let’s Encrypt, votre appliance doit être configurée avec un nom d’hôte accessible publiquement sur HTTP. L’appliance doit également être autorisée à établir des connexions HTTPS sortantes.

Quand vous autorisez l’automatisation de la gestion de certificats TLS avec Let’s Encrypt, your GitHub Enterprise Server instance contacte les serveurs Let’s Encrypt pour obtenir un certificat. Pour renouveler un certificat, les serveurs Let’s Encrypt doivent valider le contrôle du nom de domaine configuré avec des requêtes HTTP entrantes.

Vous pouvez également utiliser l’utilitaire de ligne de commande ghe-ssl-acme sur your GitHub Enterprise Server instance pour générer automatiquement un certificat Let’s Encrypt. Pour plus d’informations, consultez « Utilitaires en ligne de commande ».

Configuration de TLS avec Let’s Encrypt

Pour utiliser l’automatisation Let’s Encrypt, votre appliance doit être configurée avec un nom d’hôte accessible publiquement sur HTTP. L’appliance doit également être autorisée à établir des connexions HTTPS sortantes.

Avertissement : la configuration de TLS entraîne un petit temps d’arrêt pour your GitHub Enterprise Server instance.

  1. À partir d’un compte d’administration sur GitHub Enterprise Server, cliquez sur dans le coin supérieur droit de n’importe quelle page.

    Capture d’écran de l’icône représentant une fusée qui donne accès aux paramètres d’administration du site

  2. Si vous ne figurez pas déjà sur la page « Administrateur du site », dans le coin supérieur gauche, cliquez sur Administrateur du site.

    Capture d’écran du lien « Administrateur du site » 1. Dans la barre latérale gauche, cliquez sur Management Console . Onglet Management Console dans la barre latérale gauche 1. Dans la barre latérale gauche, cliquez sur Confidentialité. Onglet Confidentialité dans la barre latérale des paramètres 1. Sélectionnez TLS uniquement (recommandé) . Case à cocher pour choisir TLS uniquement

  3. Sélectionnez Permettre l’automatisation de la gestion de certificats TLS avec Let’s Encrypt. Case à cocher pour activer Let’s Encrypt 1. Sous la barre latérale gauche, cliquez sur Enregistrer les paramètres.

    Capture d’écran du bouton Enregistrer les paramètres de la Management Console

    Remarque : l’enregistrement des paramètres dans la Management Console redémarre les services système, ce qui peut entraîner un temps d’arrêt visible pour l’utilisateur.

  4. Attendez la fin de l’exécution de la configuration.

    Configuration de votre instance 1. Dans la barre latérale gauche, cliquez sur Confidentialité. Onglet Confidentialité dans la barre latérale des paramètres

  5. Cliquez sur Demander un certificat TLS. Bouton Demander un certificat TLS

  6. Attendez que l’« État » passe de « DÉMARRÉ » à « TERMINÉ ». État de Let’s Encrypt

  7. Cliquez sur Enregistrer la configuration.