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の有効化
- GitHub Enterprise Serverの管理アカウントから、任意のページの右上にあるをクリックしてください。
- 左のサイドバーでManagement Consoleをクリックしてください。
- 左のサイドバーでHostname(ホスト名)をクリックしてください。
- Subdomain isolation (recommended)(Subdomain Isolation(推奨))を選択してください。
- 左のサイドバーの下でSave settings(設定の保存)をクリックしてください。
- 設定が完了するのを待ってください。