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

Subdomain Isolationの有効化

Subdomain Isolation をセットアップすれば、ユーザーが提供したコンテンツを GitHub Enterprise Server アプライアンスの他の部分から安全に分離できるようになります。

Subdomain Isolationについて

Subdomain Isolationは、クロスサイトスクリプティングや関連するその他の脆弱性を緩和します。 詳しい情報については"Wikipediaのクロスサイトスクリプティング"を参照してください。 GitHub Enterprise ServerのインスタンスではSubdomain Isolationを有効化することを強くお勧めします。

Subdomain Isolation が有効な場合、GitHub Enterprise Server はいくつかのパスをサブドメインで置き換えます。 After enabling subdomain isolation, attempts to access the previous paths for some user-supplied content, such as http(s)://HOSTNAME/raw/, may return 404 errors.

Docker を GitHub Packages で使用するには、Subdomain Isolation も有効化する必要があります。 詳しい情報については、「Docker レジストリを利用する」を参照してください。

ノート: GitHub Packagesは現在GitHub Enterprise Server 2.22でベータです。 GitHub Enterprise Serverのインスタンスのベータに参加するには、サインアップフォームを使ってください。

Subdomain IsolationなしのパスSubdomain Isolationされたパス
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/pages/http(s)://pages.HOSTNAME/
http(s)://HOSTNAME/raw/http(s)://raw.HOSTNAME/
http(s)://HOSTNAME/render/http(s)://render.HOSTNAME/
http(s)://HOSTNAME/reply/http(s)://reply.HOSTNAME/
http(s)://HOSTNAME/uploads/http(s)://uploads.HOSTNAME/
該当なし、GitHub Packages を使用する Docker は、GitHub Packages 2.22 ベータで Subdomain Isolation が無効になっていると機能しません。http(s)://docker.HOSTNAME/

必要な環境

警告:Subdomain Isolationを無効化している場合は、Enterprise上のGitHub Pagesも無効化することをおすすめします。 ユーザが提供するGitHub Pagesのコンテンツをその他のEnterpriseのデータから分離しておく方法はありません。 詳しい情報については、「Enterprise の GitHub Pages を設定する」を参照してください。

Subdomain Isolationを有効化する前に、新しいドメインに合わせてネットワークを設定しなければなりません。

  • 有効なドメイン名を、IP アドレスではなくホスト名として指定します。 詳しい情報については、「ホスト名を設定する」を参照してください。

警告: 初期設定後はGitHub Enterprise Serverのホスト名を変更しないでください。 ホスト名を変更すると、インスタンスの停止に及ぶ予想外の動作が生じます。

  • 上記のサブドメインに対して、ワイルドカードのドメインネームシステム (DNS) レコードまたは個々の DNS レコードをセットアップします。 各サブドメイン用に複数のレコードを作成せずに済むよう、サーバのIPアドレスを指す*.HOSTNAMEのAレコードを作成することをおすすめします。
  • HOSTNAME とワイルドカードのドメイン *.HOSTNAME の両方に対するサブジェクト代替名 (SAN) が記載された、*.HOSTNAME に対するワイルドカードの Transport Layer Security (TLS) 証明書を取得します。 たとえば、ホスト名が github.octoinc.com である場合は、Common Name の値が *.github.octoinc.com に設定され、SAN の値が github.octoinc.com*.github.octoinc.com の両方に設定された証明書を取得します。
  • アプライアンスで TLS を有効にします。 詳しい情報については"TLSの設定"を参照してください

Subdomain Isolationの有効化

  1. GitHub Enterprise Serverの管理アカウントから、任意のページの右上にあるをクリックしてください。 サイトアドミン設定にアクセスするための宇宙船のアイコン
  2. 左のサイドバーでManagement Consoleをクリックしてください。 左のサイドバーのManagement Consoleタブ
  3. 左のサイドバーでHostname(ホスト名)をクリックしてください。 設定サイドバーのホスト名タブ
  4. Subdomain isolation (recommended)(Subdomain Isolation(推奨))を選択してください。 Subdomain Isolation を有効化するチェックボックス
  5. 左のサイドバーの下でSave settings(設定の保存)をクリックしてください。 Management Console での [Save settings] ボタン
  6. 設定が完了するのを待ってください。

問題がまだ解決していませんか?