À propos de l’isolation de sous-domaine
L’isolation de sous-domaine atténue les effets du scripting intersite et des autres vulnérabilités associées. Pour plus d’informations, consultez « Cross-site scripting » sur Wikipédia. Nous vous recommandons vivement d’activer l’isolation de sous-domaine sur votre instance GitHub Enterprise Server.
Quand l’isolation de sous-domaine est activée, GitHub Enterprise Server remplace plusieurs chemins par des sous-domaines. Après avoir activé l’isolation de sous-domaine, les tentatives d’accès aux chemins précédents pour un contenu fourni par l’utilisateur, par exemple http(s)://HOSTNAME/raw/
, peuvent retourner des erreurs 404
.
Remarque : Les sous-domaines http(s)://notebooks.HOSTNAME
ou http(s)://viewscreen.HOSTNAME
sont nouveaux dans GitHub Enterprise Server 3.7 et ultérieur, et remplacent http(s)://render.HOSTNAME
. Après être passé à la version 3.7 ou ultérieure, votre certificat TLS doit couvrir le sous-domaine des services de remplacement http(s)://notebooks.HOSTNAME
et http(s)://viewscreen.HOSTNAME
.
Chemin sans isolation de sous-domaine | Chemin avec isolation de sous-domaine |
---|---|
http(s)://HOSTNAME/ | http(s)://docker.HOSTNAME/ |
http(s)://HOSTNAME/_registry/npm/ | https://npm.HOSTNAME/ |
http(s)://HOSTNAME/_registry/rubygems/ | https://rubygems.HOSTNAME/ |
http(s)://HOSTNAME/_registry/maven/ | https://maven.HOSTNAME/ |
http(s)://HOSTNAME/_registry/nuget/ | https://nuget.HOSTNAME/ |
http(s)://HOSTNAME/assets/ | http(s)://assets.HOSTNAME/ |
http(s)://HOSTNAME/avatars/ | http(s)://avatars.HOSTNAME/ |
http(s)://HOSTNAME/codeload/ | http(s)://codeload.HOSTNAME/ |
http(s)://HOSTNAME/gist/ | http(s)://gist.HOSTNAME/ |
http(s)://HOSTNAME/media/ | http(s)://media.HOSTNAME/ |
http(s)://HOSTNAME/notebooks/ | http(s)://notebooks.HOSTNAME/ |
http(s)://HOSTNAME/pages/ | http(s)://pages.HOSTNAME/ |
http(s)://HOSTNAME/raw/ | http(s)://raw.HOSTNAME/ |
http(s)://HOSTNAME/reply/ | http(s)://reply.HOSTNAME/ |
http(s)://HOSTNAME/uploads/ | http(s)://uploads.HOSTNAME/ |
http(s)://HOSTNAME/viewscreen/ | http(s)://viewscreen.HOSTNAME/ |
Non pris en charge | https://containers.HOSTNAME/ |
Prérequis
Avertissement : si l’isolation de sous-domaine est désactivée, nous vous recommandons également de désactiver GitHub Pages sur votre entreprise. Il n’existe aucun moyen d’isoler du contenu GitHub Pages fourni par l’utilisateur du reste des données de votre entreprise. Pour plus d’informations, consultez « Configuration de GitHub Pages pour votre entreprise ».
Avant d’activer l’isolation de sous-domaine, vous devez configurer les paramètres réseau de votre nouveau domaine.
- Spécifiez un nom de domaine valide en guise de nom d’hôte, plutôt qu’une adresse IP. Pour plus d’informations, consultez « Configuration du nom d'hôte pour votre instance ».
Avertissement : ne modifiez pas le nom d’hôte de GitHub Enterprise Server après la configuration initiale. La modification du nom d’hôte entraînera un comportement inattendu, pouvant aller jusqu’à des interruptions de l’instance et l’invalidation des clés de sécurité des utilisateurs. Si vous avez modifié le nom d’hôte de votre instance et rencontrez des problèmes, contactez Support GitHub Enterprise ou Support Premium GitHub.
- Configurez un enregistrement DNS (Domain Name System) générique ou des enregistrements DNS individuels pour les sous-domaines listés ci-dessus. Nous vous recommandons de créer un enregistrement A pour
*.HOSTNAME
qui pointe vers l’adresse IP de votre serveur. Ainsi, vous n’aurez pas besoin de créer plusieurs enregistrements pour chaque sous-domaine. - Obtenez un certificat TLS (Transport Layer Security) générique pour
*.HOSTNAME
avec un autre nom d’objet (SAN) pourHOSTNAME
et le domaine générique*.HOSTNAME
. Par exemple, si votre nom d’hôte estgithub.octoinc.com
, obtenez un certificat en définissant une valeur de nom commun de*.github.octoinc.com
et une valeur d’autre nom d’objet degithub.octoinc.com
et*.github.octoinc.com
. - Activez TLS sur votre appliance. Pour plus d’informations, consultez « Configuration de TLS ».
Activation de l’isolation de sous-domaine
-
À partir d’un compte d’administration sur GitHub Enterprise Server, cliquez sur en haut à droite de n’importe quelle page.
-
Si vous ne figurez pas déjà sur la page « Administrateur du site », dans le coin supérieur gauche, cliquez sur Administrateur du site.
-
Dans la barre latérale « Administrateur de site », cliquez sur Management Console .
-
Dans la barre latérale « Paramètres », cliquez sur Nom d’hôte.
-
Sélectionnez Isolation de sous-domaine (recommandé) .
-
Sous la barre latérale « Paramètres », cliquez sur Enregistrer les paramètres.
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.
-
Attendez la fin de l’exécution de la configuration.