Skip to main content
ドキュメントには� �繁に更新が� えられ、その都度公開されています。本ページの翻訳はま� 未完成な部分があることをご了承く� さい。最新の情� �については、英語のドキュメンテーションをご参照く� さい。本ページの翻訳に問題がある� �合はこちらまでご連絡く� さい。

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2022-06-03. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてく� さい。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してく� さい。

システ� の概要

Learn more about GitHub Enterprise Server's system internals, functionality, and security.

GitHub Enterprise Serverについて

GitHub Enterprise Server is a self-hosted platform for software development within your enterprise. GitHub distributes GitHub Enterprise Server as a self-contained virtual appliance. After you provision a virtual machine and install the appliance, the instance runs a Linux operating system with a custom application stack. For more information, see "About GitHub Enterprise Server."

Storage architecture

GitHub Enterprise Server requires two storage volumes, one mounted to the root filesystem path (/) and the other to the user filesystem path (/data/user). This architecture simplifies the upgrade, rollback, and recovery procedures by separating the running software environment from persistent application data.

The root filesystem is included in the distributed machine image. It contains the base operating system and the GitHub Enterprise Server application environment. The root filesystem should be treated as ephemeral. Any data on the root filesystem will be replaced when upgrading to future GitHub Enterprise Server releases.

The root storage volume is split into two equally-sized partitions. One of the partitions will be mounted as the root filesystem (/). The other partition is only mounted during upgrades and rollbacks of upgrades as /mnt/upgrade, to facilitate easier rollbacks if necessary. For example, if a 200GB root volume is allocated, there will be 100GB allocated to the root filesystem and 100GB reserved for the upgrades and rollbacks.

The root filesystem contains files that store the following information. This list is not exhaustive.

  • Custom certificate authority (CA) certificates (in /usr/local/share/ca-certificates*)
  • カスタ� のネットワーク設定
  • カスタ� のファイアウォール設定
  • レプリケーションの状態

The user filesystem contains files that store following configuration and data. This list is not exhaustive.

  • Git リポジトリ
  • データベース
  • 検索インデックス
  • GitHub Pages サイトで公開されたコンテンツ
  • Git Large File Storage からの大きなファイル
  • pre-receive フック環境

Deployment topologies

You can deploy GitHub Enterprise Server in a variety of topologies, such as a high availability pair. For more information, see "About GitHub Enterprise Server."

Data retention and datacenter redundancy

Warning: Before using GitHub Enterprise Server in a production environment, we strongly recommend you set up backups and a disaster recovery plan.

GitHub Enterprise Server includes support for online and incremental backups with GitHub Enterprise Serverバックアップユーティリティ. インクリメンタルスナップショットは、オフサイトや地理的に離れたストレージのために長距離を経てセキュアなネットワークリンク(SSH管理ポート)経由で取ることができます。 You can restore snapshots over the network into a newly provisioned instance at time of recovery in case of disaster at the primary datacenter.

In addition to network backups, both AWS (EBS) and VMware disk snapshots of the user storage volumes are supported while the instance is offline or in maintenance mode. サービスレベルの要求が定期的なオフラインメンテナンスを許せるものであれば、定期的なボリュー� のスナップショットは、GitHub Enterprise Serverバックアップユーティリティのネットワークバックアップの低コストで複雑さの低い代替になります。

詳しくは、" アプライアンスでのバックアップの設定。"を参照してく� さい。

セキュリティ

GitHub Enterprise Server runs on your infrastructure and is governed by access and security controls that you define, such as firewalls, network policies, IAM, monitoring, and VPNs. GitHub Enterprise Server is suitable for use by enterprises that are subject to regulatory compliance, which helps to avoid issues that arise from software development platforms in the public cloud.

GitHub Enterprise Server also includes additional security features.

オペレーティングシステ� 、ソフトウェア、パッチ

GitHub Enterprise Server runs a customized Linux operating system with only the necessary applications and services. GitHub distributes patches for the instance's core operating system as part of its standard product release cycle. Patches address functionality, stability, and non-critical security issues for GitHub Enterprise Server. GitHub also provides critical security patches as needed outside of the regular release cycle.

GitHub Enterprise Server is provided as an appliance, and many of the operating system packages are modified compared to the usual Debian distribution. We do not support modifying the underlying operating system for this reason (including operating system upgrades), which is aligned with the GitHub Enterprise Server license and support agreement, under section 11.3 Exclusions.

Currently, the base operating system for GitHub Enterprise Server is Debian 9 (Stretch), which receives support under the Debian Long Term Support program. There are plans to move to a newer base operating system before the end of the Debian LTS period for Stretch.

Regular patch updates are released on the GitHub Enterprise Server releases page, and the release notes page provides more information. These patches typically contain upstream vendor and project security patches after they've been tested and quality approved by our engineering team. There can be a slight time delay from when the upstream update is released to when it's tested and bundled in an upcoming GitHub Enterprise Server patch release.

ネットワークのセキュリティ

GitHub Enterprise Server's internal firewall restricts network access to the instance's services. アプライアンスが機能するために必要なサービス� けが、ネットワークを通じて利用できます。 詳しい情� �については"ネットワークポート"を参照してく� さい。

アプリケーションのセキュリティ

GitHub's application security team focuses full-time on vulnerability assessment, penetration testing, and code review for GitHub products, including GitHub Enterprise Server. GitHub also contracts with outside security firms to provide point-in-time security assessments of GitHub products.

外部サービスおよびサポートへのアクセス

GitHub Enterprise Server can operate without any egress access from your network to outside services. また、メール配信、外部モニタリング、およびログ転送のため、外部サービスとのインテグレーションを有効にすることも可能です。 詳しい情� �については、「通知のためのメール設定」、「外部モニタリングのセットアップ」、「ログの転送」を参照してく� さい。

トラブルシューティングデータを手動で収集し、GitHub Support に送信できます。 詳細は「GitHub Support にデータを提供する」を参照してく� さい。

暗号化通信

GitHub designs GitHub Enterprise Server to run behind your corporate firewall. 回線を介した通信を保護するため、Transport Layer Security (TLS) を有効化するようお勧めします。 GitHub Enterprise Server supports 2048-bit and higher commercial TLS certificates for HTTPS traffic. 詳しい情� �については「TLSの設定」を参照してく� さい。

By default, the instance also offers Secure Shell (SSH) access for both repository access using Git and administrative purposes. 詳しい情� �については、「SSH について」および「管理シェル (SSH) にアクセスする」を参照してく� さい。

ユーザおよびアクセス権限

GitHub Enterprise Server provides three types of accounts.

  • admin Linux ユーザアカウントは、ファイルシステ� やデータベースへの直接的なアクセスを含め、基底のオペレーティングシステ� に対して限定的にアクセスできます。 このアカウントには、少数の信� �できる管理者がアクセスできるようにすべきで、SSH を介してアクセスできます。 詳しい情� �については「管理シェル(SSH)にアクセスする」を参照してく� さい。
  • User accounts in the instance's web application have full access to their own data and any data that other users or organizations explicitly grant.
  • Site administrators in the instance's web application are user accounts that can manage high-level web application and instance settings, user and organization account settings, and repository data.

For more information about GitHub Enterprise Server's user permissions, see "Access permissions on GitHub."

認証

GitHub Enterprise Server provides four authentication methods.

  • SSH 公開鍵認証は、Git によるリポジトリへのアクセスと、管理シェルアクセスの両方を提供します。 詳しい情� �については、「SSH について」および「管理シェル (SSH) にアクセスする」を参照してく� さい。
  • HTTP クッキーを用いたユーザ名とパスワードによる認証では、ウェブアプリケーションのアクセスおよびセッションの管理、そして任意で 2 要� 認証 (2FA) を提供します。 詳しい情� �については「ビルトイン認証の利用」を参照してく� さい。
  • LDAP サービス、SAML アイデンティティプロバイダ (IdP)、またはその他互換性のあるサービスを用いた外部 LDAP、SAML、および CAS 認証は、ウェブアプリケーションへのアクセスを提供します。 For more information, see "Managing IAM for your enterprise."
  • OAuth および個人アクセストークンは、外部クライアントとサービスの両方に対して、Git リポジトリデータおよび API へのアクセスを提供します。 詳しい情� �については、「個人アクセストークンを作成する」を参照してく� さい。

監査およびアクセスのログ取得

GitHub Enterprise Server stores both traditional operating system and application logs. The application also writes detailed auditing and security logs, which GitHub Enterprise Server stores permanently. syslog-ng プロトコルを介して、両タイプのログをリアルタイ� で複数の宛先に転送できます。 For more information, see "About the audit log for your enterprise" and "Log forwarding."

アクセスログと監査ログには、以下のような情� �が含まれています。

アクセスログ

  • ブラウザと API アクセスの両方の、ウェブサーバーの完全なログ
  • Git、HTTPS、および SSH プロトコルを介した、リポジトリデータへのアクセスの完全なログ
  • HTTPS および SSH を介した、管理アクセスのログ

監査ログ

  • ユーザのログイン、パスワードのリセット、2 要� 認証のリクエスト、メール設定の変更、ならびに許可されたアプリケーションおよび API への変更
  • ユーザアカウントやリポジトリのアンロックなどの、サイト管理者のアクション
  • リポジトリのプッシュイベント、アクセス許可、移譲、および名前の変更
  • チー� の作成および� �棄を含む、Organization のメンバーシップ変更

Open source dependencies for GitHub Enterprise Server

You can see a complete list of dependencies in your instance's version of GitHub Enterprise Server, as well as each project's license, at http(s)://HOSTNAME/site/credits.

Tarballs with a full list of dependencies and associated metadata are available on your instance.

  • すべてのプラットフォー� に共通の依存関係は /usr/local/share/enterprise/dependencies-<GHE version>-base.tar.gz にあります。
  • プラットフォー� に固有の依存関係は /usr/local/share/enterprise/dependencies-<GHE version>-<platform>.tar.gz にあります。

依存対象とメタデータの完全なリストとともにTarball群もhttps://enterprise.github.com/releases/<version>/download.htmlにあります。

参考リンク