Skip to main content

Cette version de GitHub Enterprise Server n'est plus disponible depuis le 2026-04-23. Aucune publication de correctifs n’est effectuée, même pour les problèmes de sécurité critiques. Pour de meilleures performances, une sécurité améliorée et de nouvelles fonctionnalités, effectuez une mise à niveau vers la dernière version de GitHub Enterprise. Pour obtenir de l’aide sur la mise à niveau, contactez le support GitHub Enterprise.

Vue d’ensemble du système

En savoir plus sur GitHub Enterprise Serverles éléments internes du système, les fonctionnalités et la sécurité.

À propos de GitHub Enterprise Server

          GitHub Enterprise Server est une version auto-hébergée de la plateforme GitHub.
          GitHub distribue GitHub Enterprise Server sous la forme d’une appliance virtuelle autonome. Une fois que vous avez provisionné une machine virtuelle et installé l’appliance, l’instance exécute un système d’exploitation Linux avec une pile d’applications personnalisée. Pour plus d’informations, consultez [AUTOTITLE](/admin/overview/about-github-enterprise-server).

Architecture de stockage

          GitHub Enterprise Server nécessite deux volumes de stockage, un monté sur le chemin du système de fichiers _racine_ (`/`) et l’autre sur le chemin du _système de fichiers utilisateur_ (`/data/user`). Cette architecture simplifie les procédures de mise à niveau, de restauration et de récupération en séparant l’environnement logiciel en cours d’exécution des données d’application persistantes.

Le système de fichiers racine est inclus dans l’image de machine distribuée. Il contient le système d’exploitation de base et l’environnement d’application GitHub Enterprise Server . Le système de fichiers racine doit être traité comme système éphémère. Toutes les données du système de fichiers racine seront remplacées lors de la mise à niveau vers des versions ultérieures GitHub Enterprise Server .

Le volume de stockage racine est divisé en deux partitions de même taille. L’une des partitions est montée comme système de fichiers racine (/). L’autre partition est montée uniquement pendant les mises à niveau et les restaurations des mises à niveau avec le chemin /mnt/upgrade pour faciliter les restaurations si nécessaire. Par exemple, si un volume racine de 400 Go est alloué, il y aura 200 Go alloués au système de fichiers racine et 200 Go réservés aux mises à niveau et restaurations.

Dans les nouvelles installations de la version 3.14 et des versions ultérieures, le volume de stockage racine est divisé en quatre partitions. Deux petites partitions sont destinées aux modes de démarrage pris en charge (BIOS et UEFI), et les deux autres partitions de taille égale sont pour le GitHub Enterprise Server primaire, ainsi que les mises à niveau et les rétrogradations.

Le système de fichiers racine contient des fichiers qui stockent les informations suivantes. Cette liste n’est pas exhaustive.

  • Certificats d’autorité de certification personnalisée (dans /usr/local/share/ca-certificates*)
  • Les configurations réseau personnalisées
  • Les configurations de pare-feu personnalisées
  • L’état de réplication

Le système de fichiers utilisateur contient des fichiers qui stockent la configuration et les données suivantes. Cette liste n’est pas exhaustive.

  • Référentiels Git
  • Bases de données
  • Rechercher dans les index
  • Contenu publié sur les GitHub Pages sites
  • Fichiers volumineux à partir de Stockage des fichiers volumineux Git
  • Environnements de hook de pré-réception

Topologies de déploiement

Par défaut, GitHub Enterprise Server s’exécute en tant qu’instance autonome. Vous pouvez augmenter la fiabilité et les performances de GitHub Enterprise Server en utilisant une topologie différente pour votre déploiement.

  • Pour atténuer l’impact des défaillances du système ou du réseau, vous pouvez déployer une instance de réplica passif. Lors d’une panne qui affecte votre instance principale, vous pouvez basculer manuellement vers l’instance de réplica. Pour plus d’informations, consultez « À propos de la configuration de la haute disponibilité ».
  • Vous pouvez configurer plusieurs réplicas actifs pour améliorer le niveau de performance des développeurs qui sont géographiquement éloignés de votre instance principale. Pour plus d’informations, consultez « À propos de la géoréplication ».
  • Certaines entreprises avec des dizaines de milliers de développeurs peuvent bénéficier d'une configuration de cluster qui s'adapte horizontalement plutôt que verticalement. Pour plus d’informations, consultez « À propos du clustering ».

Conservation des données et redondance des centres de données

Avertissement

Avant d’utiliser GitHub Enterprise Server dans un environnement de production, nous vous recommandons vivement de configurer des sauvegardes et un plan de récupération d’urgence.

          GitHub Enterprise Server inclut la prise en charge des sauvegardes en ligne et incrémentielles avec GitHub Enterprise Server Backup Utilities. Vous pouvez faire des captures instantanées incrémentielles sur une liaison réseau sécurisée (port d’administration SSH) sur de longues distances pour le stockage hors site ou géographiquement dispersé. Vous pouvez restaurer des instantanés sur le réseau dans une instance récemment provisionnée au moment de la récupération en cas de sinistre au niveau du centre de données principal.

Outre les sauvegardes réseau, les captures instantanées de disques VMware et AWS (EBS) des volumes de stockage utilisateur sont prises en charge quand l’instance est hors connexion ou en mode maintenance. Les captures instantanées de volume standard peuvent être utilisées comme alternative à faible coût et à faible complexité aux sauvegardes réseau si GitHub Enterprise Server Backup Utilities vos exigences de niveau de service permettent une maintenance hors connexion régulière.

Pour plus d’informations, consultez « Configurer les sauvegardes sur votre instance à l’aide des Utilitaires de sauvegarde ».

Sécurité

GitHub Enterprise Server fonctionne sur votre infrastructure et est régi par les contrôles d’accès et de sécurité que vous définissez, comme les pare-feu, les politiques réseau, la gestion des identités et des accès (IAM), la surveillance et les VPN. GitHub Enterprise Server convient aux entreprises soumises à une conformité réglementaire, ce qui permet d’éviter les problèmes que posent les plateformes de développement de logiciels dans le cloud public.

          GitHub Enterprise Server inclut également des fonctionnalités de sécurité supplémentaires.

Système d’exploitation, logiciels et patchs

          GitHub Enterprise Server exécute un système d’exploitation Linux personnalisé avec uniquement les applications et services nécessaires. 
          GitHub distribue des correctifs pour le système d’exploitation principal de l’instance dans le cadre de son cycle de publication de produit standard. Les correctifs traitent les fonctionnalités, la stabilité et les problèmes de sécurité non critiques pour GitHub Enterprise Server. 
          GitHub fournit également des correctifs de sécurité critiques si nécessaire en dehors du cycle de publication standard.

          GitHub Enterprise Server est fourni en tant qu’appliance, et la plupart des packages de système d’exploitation sont modifiés par rapport à la distribution Ubuntu habituelle. Nous ne prenons pas en charge la modification du système d’exploitation sous-jacent pour cette raison (y compris les mises à niveau du système d’exploitation), qui est alignée sur le [contrat de licence et deGitHub Enterprise Server support](https://enterprise.github.com/license), sous la section 11.3 Exclusions.

Actuellement, le système d’exploitation de base pour GitHub Enterprise Server Ubuntu 20 (Focal Fossa). Bien qu'Ubuntu 20 (Focal Fossa) atteigne la fin du support standard en mai 2025, nous pourrons utiliser la maintenance de sécurité étendue et obtenir un support de sécurité au-delà de 2025.

Les mises à jour GitHub Enterprise Server sont publiées sur la page des versions et la page des notes de publication fournit plus d’informations. Ces patchs contiennent généralement des correctifs de sécurité des fournisseurs et projets en amont qui ont été testés et dont la qualité a été approuvée par notre équipe d’ingénieurs. Il peut y avoir un léger délai entre le moment où la mise à jour en amont est publiée et celui où elle est testée et intégrée dans une version corrective à venir GitHub Enterprise Server.

Sécurité du réseau

          GitHub Enterprise Serverle pare-feu interne limite l’accès réseau aux services de l’instance. Seuls les services nécessaires au fonctionnement de l’appliance sont disponibles sur le réseau. Pour plus d’informations, consultez « [AUTOTITLE](/admin/configuration/configuring-network-settings/network-ports) ».

Sécurité des applications

L'équipe de sécurité applicative de GitHub se consacre pleinement à l'évaluation des vulnérabilités, aux tests d'intrusion et à la révision de code pour les produits de GitHub, notamment GitHub Enterprise Server. GitHub conclut également des contrats avec des entreprises de sécurité extérieures pour fournir des évaluations de sécurité ponctuelles des GitHub produits.

Services externes et accès au support

          GitHub Enterprise Server peut fonctionner sans accès sortant de votre réseau vers des services externes. Vous pouvez éventuellement activer l’intégration à des services externes pour la livraison des e-mails, la surveillance externe et la journalisation. Pour plus d’informations, consultez [AUTOTITLE](/admin/configuration/configuring-your-enterprise/configuring-email-for-notifications), [AUTOTITLE](/admin/enterprise-management/monitoring-your-appliance/setting-up-external-monitoring) et [AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/exploring-user-activity/log-forwarding).

Vous pouvez collecter et envoyer manuellement des données de dépannage à Support GitHub. Pour plus d’informations, consultez « Fourniture de données au support GitHub ».

Communication chiffrée

          GitHub conçoit GitHub Enterprise Server qui fonctionnent derrière votre pare-feu d'entreprise. Pour sécuriser la communication sur le réseau, nous vous encourageons à activer le protocole TLS. 
          GitHub Enterprise Server prend en charge les certificats TLS commerciaux 2048 bits et supérieurs pour le trafic HTTPS. Pour plus d’informations, consultez « [AUTOTITLE](/admin/configuration/configuring-network-settings/configuring-tls) ».

Par défaut, l’instance offre également un accès SSH (Secure Shell) pour l’accès aux référentiels avec Git et l’accès à des fins d’administration. Pour plus d’informations, consultez « À propos de SSH » et « Accès à l’interpréteur de commandes d’administration (SSH) ».

Si vous configurez l’authentification SAML pour votre instance GitHub Enterprise Server, vous pouvez activer les assertions chiffrées entre l’instance et votre fournisseur d’identité SAML. Pour plus d’informations, consultez « Utilisation de SAML pour la gestion des identités et des accès d'entreprise ».

Utilisateurs et autorisations d’accès

          GitHub Enterprise Server fournit trois types de comptes.
  • Le compte d’utilisateur Linux admin a un accès contrôlé au système d’exploitation sous-jacent et notamment un accès direct au système de fichiers et à la base de données. Un petit groupe d’administrateurs approuvés doit avoir accès à ce compte par SSH. Pour plus d’informations, consultez « Accès à l’interpréteur de commandes d’administration (SSH) ».
  • Les comptes d’utilisateur dans l’application web de l’instance ont un accès complet à leurs propres données et à toutes les données auxquelles d’autres utilisateurs ou organisations accordent explicitement l’accès.
  • Les administrateurs de site dans l’application web de l’instance sont des comptes d’utilisateur qui peuvent gérer les paramètres d’application web et d’instance de haut niveau, les paramètres de compte d’utilisateur et d’organisation et les données de référentiel.

Pour plus d’informations sur les autorisations utilisateur de GitHub Enterprise Server, consultez Autorisations d’accès sur GitHub.

Authentification

          GitHub Enterprise Server fournit quatre méthodes d’authentification.

Journalisation des audits et des accès

          GitHub Enterprise Server stocke les journaux d’activité traditionnels du système d’exploitation et de l’application. L’application écrit également des journaux d’audit et de sécurité détaillés, que GitHub Enterprise Server stocke définitivement. Vous pouvez transférer les deux types de journaux en temps réel vers plusieurs destinations avec le protocole `syslog-ng`. Pour plus d’informations, consultez « [AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise) » et « [AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/exploring-user-activity/log-forwarding) ».

Les journaux d’accès et d’audit incluent notamment les informations suivantes.

Journaux d'accès

  • Journaux complets des serveurs web pour les accès à la fois au navigateur et à l'API
  • Journaux complets des accès aux données de dépôt via les protocoles Git, HTTPS et SSH
  • Journaux des accès administratifs avec HTTPS et SSH

Journaux d’audit

  • Connexions utilisateur, réinitialisations de mot de passe, demandes 2TFA, modifications des paramètres de messagerie et modifications des applications et API autorisées
  • Actions des administrateurs de site telles que le déverrouillage de dépôts et de comptes d’utilisateur
  • Événements de poussée (push) dans un dépôt, octrois d’accès à un dépôt, transferts et renommages de dépôt
  • Changements d’appartenance aux organisations et notamment la création et la destruction d’une équipe

Dépendances open source pour GitHub Enterprise Server

Vous pouvez voir une liste complète des dépendances dans la version de GitHub Enterprise Servervotre instance, ainsi que la licence de chaque projet, à l’adresse http(s)://HOSTNAME/site/credits.

Des tarballs avec une liste complète des dépendances et des métadonnées associées sont disponibles sur votre instance.

  • Pour les dépendances communes à toutes les plateformes, sous /usr/local/share/enterprise/dependencies-<GHE version>-base.tar.gz
  • Pour les dépendances spécifiques à une plateforme, sous /usr/local/share/enterprise/dependencies-<GHE version>-<platform>.tar.gz

Des tarballs sont également disponibles, avec une liste complète des dépendances et métadonnées, à l’adresse https://enterprise.github.com/releases/<version>/download.html.

Pour aller plus loin