TLSの設定
信頼できる認証機関によって署名された証明書を使用できるように、GitHub Enterprise Server インスタンス で Transport Layer Security (TLS) を設定できます。
このガイドの内容
- Transport Layer Securityについて
- 必要な環境
- カスタムのTLS証明書のアップロード
- Let's Encryptのサポートについて
- Let's Encryptを使ったTLSの設定
Transport Layer Securityについて
SSL に代わる TLS は、GitHub Enterprise Server の初回起動時に有効になり、自己署名証明書で設定されます。 自己署名証明書は Web ブラウザや Git クライアントから信頼されていないため、TLS を無効にするか、Let's Encrypt などの信頼できる機関によって署名された証明書をアップロードするまで、これらのクライアントは証明書の警告を報告します。
SSL が有効な場合、GitHub Enterprise Server アプライアンスは HTTP Strict Transport Security ヘッダーを送信します。 TLSを無効化すると、ブラウザはHTTPへのプロトコルダウングレードを許さないので、ユーザはアプライアンスにアクセスできなくなります。 詳しい情報についてはWikipediaの"HTTP Strict Transport Security"を参照してください。
Warning: When terminating HTTPS connections on a load balancer, the requests from the load balancer to GitHub Enterprise Server also need to use HTTPS. Downgrading the connection to HTTP is not supported.
ユーザが2要素認証のFIDO U2Fを利用できるようにするには、インスタンスでTLSを有効化しなければなりません。 詳しい情報については「2 要素認証の設定」を参照してください。
必要な環境
プロダクションでTLSを利用するには、暗号化されていないPEMフォーマットで、信頼済みの証明書認証局によって署名された証明書がなければなりません。
また、証明書には"Subdomain Isolationの有効化"のリストにあるサブドメインに設定されたSubject Alternative Namesが必要で、中間証明書認証局によって署名されたものであれば、完全な証明書チェーンを含んでいる必要があります。 詳しい情報についてはWikipediaの"Subject Alternative Name"を参照してください。
カスタムのTLS証明書のアップロード
-
In the upper-right corner of any page, click .
-
左サイドバーで [Management Console] をクリックします。
-
In the left sidebar, click Privacy.
-
Select TLS only (recommended).
-
[TLS Protocol support] で、許可するプロトコルを選択します。
-
"Certificate(証明書)"の下でChoose File(ファイルの選択)をクリックし、インストールしたいTLS証明書もしくは証明書チェーン(PEMフォーマット)を選択してください。 このファイルは通常、.pem、.crt、.cer といった拡張子を持ちます。
-
"Unencrypted key(暗号化されていない鍵)"の下でChoose File(ファイルの選択)をクリックし、インストールするTLS鍵(PEMフォーマット)を選択してください。 このファイルは通常.keyという拡張子を持ちます。
警告: このTLS鍵はパスフレーズを持っていてはなりません。 詳しい情報については"キーファイルからのパスフレーズの除去"を参照してください。
-
Under the left sidebar, click Save settings.
Let's Encryptのサポートについて
Let's Encryptは公開の証明書認証者で、ACMEプロトコルを使ってブラウザが信頼するTLS証明書を、無料で自動的に発行してくれます。 アプライアンスのためのLet's Encryptの証明書は、手動のメンテナンスを必要とせず自動的に取得及び更新できます。
To use Let's Encrypt automation, your appliance must be configured with a hostname that is publicly accessible over HTTP. The appliance must also be allowed to make outbound HTTPS connections.
Let's Encryptを使ったTLS証明書管理の自動化を有効にすると、GitHub Enterprise Server インスタンスはLet's Encryptのサーバに接続して証明書を取得します。 証明書を更新するには、Let's EncryptのサーバはインバウンドのHTTPリクエストで設定されたドメイン名の制御を検証しなければなりません。
また、GitHub Enterprise Server インスタンス上でコマンドラインユーティリティのghe-ssl-acme
を使っても、自動的にLet's Encryptの証明書を生成できます。 詳細は「コマンドラインユーティリティ」を参照してください。
Let's Encryptを使ったTLSの設定
To use Let's Encrypt automation, your appliance must be configured with a hostname that is publicly accessible over HTTP. The appliance must also be allowed to make outbound HTTPS connections.
-
In the upper-right corner of any page, click .
-
左サイドバーで [Management Console] をクリックします。
-
In the left sidebar, click Privacy.
-
Select TLS only (recommended).
-
Enable automation of TLS certificate management using Let's Encrypt(Let's Encryptを使った自動的なTLS証明書管理の有効化)を選択してください。
-
Under the left sidebar, click Save settings.
-
In the left sidebar, click Privacy.
-
Request TLS certificate(TLS証明書のリクエスト)をクリックしてください。
-
Save configuration(設定の保存)をクリックしてください。