Skip to main content

Subdomain Isolationの有効化

この記事では、次の項目が扱われます。

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

Subdomain Isolationについて

Subdomain Isolationは、クロスサイトスクリプティングや関連するその他の脆弱性を緩和します。 詳しくは、Wikipedia の「クロスサイト スクリプティング」をご覧ください。 your GitHub Enterprise Server instanceで Subdomain Isolation を有効にすることを強くお勧めします。

Subdomain Isolation が有効な場合、GitHub Enterprise Server はいくつかのパスをサブドメインで置き換えます。 Subdomain Isolation を有効にした後は、ユーザーが提供した何らかのコンテンツに対する以前のパス (http(s)://HOSTNAME/raw/ など) にアクセスしようとすると、404 エラーが返される場合があります。

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/
https://HOSTNAME/http(s)://docker.HOSTNAME/
https://HOSTNAME/_registry/npm/https://npm.HOSTNAME/
https://HOSTNAME/_registry/rubygems/https://rubygems.HOSTNAME/
https://HOSTNAME/_registry/maven/https://maven.HOSTNAME/
https://HOSTNAME/_registry/nuget/https://nuget.HOSTNAME/

前提条件

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

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

  • 有効なドメイン名を、IP アドレスではなくホスト名として指定します。 詳しくは、「ホスト名の設定」をご覧ください。

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

  • 上記のサブドメインに対して、ワイルドカードのドメインネームシステム (DNS) レコードまたは個々の DNS レコードをセットアップします。 サブドメインごとに複数のレコードを作成する必要がないように、サーバーの IP アドレスを指す *.HOSTNAME の A レコードを作成することをお勧めします。
  • HOSTNAME とワイルドカード ドメイン *.HOSTNAME の両方にサブジェクトの別名 (SAN) を使って、*.HOSTNAME に対するワイルドカード トランスポート層セキュリティ (TLS) 証明書を取得します。 たとえば、ホスト名が github.octoinc.com の場合は、共通名の値を *.github.octoinc.com に設定し、SAN の値を github.octoinc.com*.github.octoinc.com の両方に設定して、証明書を取得します。
  • アプライアンスで TLS を有効にします。 詳細については、「TLS の構成」を参照してください。

Subdomain Isolationの有効化

  1. GitHub Enterprise Server の管理アカウントから、任意のページの右上隅の をクリックします。

    サイト管理者設定にアクセスするための宇宙船アイコンのスクリーンショット

  2. [サイト管理者] ページにまだ表示されていない場合は、左上隅の [サイト管理者] をクリックします。

    [サイト管理者] リンクのスクリーンショット 1. 左側のサイドバーで、 [Management Console] をクリックします。 左側のサイドバーの [[Management Console]] タブ 3. 左側のサイドバーで、 [ホスト名] をクリックします。 設定サイドバーの [ホスト名] タブ

  3. [Subdomain isolation (recommended)](Subdomain Isolation (推奨)) を選びます。 Subdomain Isolation を有効にするチェックボックス 1. 左側のサイドバーで、 [設定の保存] をクリックします。

    [Management Console] の [設定の保存] ボタンのスクリーンショット

    注: [Management Console] に設定を保存すると、システム サービスが再起動され、ユーザーに表示されるダウンタイムが発生する可能性があります。

  4. 設定の実行が完了するのを待ってください。

    インスタンスの設定