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"を参照してく� さい。
警告: HTTPS 接続をロードバランサでターミネートしている� �合、ロードバランサからの GitHub Enterprise Server へのリクエストも HTTPS を使わなければなりません。 接続の HTTP へのダウングレードはサポートされません。
ユーザが2要� 認証のFIDO U2Fを利用できるようにするには、インスタンスでTLSを有効化しなければなりません。 詳しい情� �については「2 要� 認証の設定」を参照してく� さい。
必要な環境
プロダクションでTLSを利用するには、暗号化されていないPEMフォーマットで、信� �済みの証明書認証局によって署名された証明書がなければなりません。
また、証明書には"Subdomain Isolationの有効化"のリストにあるサブドメインに設定されたSubject Alternative Namesが必要で、中間証明書認証局によって署名されたものであれば、完全な証明書チェーンを含んでいる必要があります。 詳しい情� �についてはWikipediaの"Subject Alternative Name"を参照してく� さい。
ghe-ssl-generate-csr
コマンドを使用すれば、インスタンス用の証明書署名要求 (CSR) を生成できます。 詳細は「コマンドラインユーティリティ」を参照してく� さい。
カスタ� のTLS証明書のアップロード
Warning: Configuring TLS causes a small amount of downtime for your GitHub Enterprise Server instance.
-
From an administrative account on GitHub Enterprise Server, in the upper-right corner of any page, click .
-
If you're not already on the "Site admin" page, in the upper-left corner, click Site admin.
-
左のサイドバーでManagement Consoleをクリックしてく� さい。
-
左のサイドバーでPrivacy(プライバシー)をクリックしてく� さい。
-
TLS only (recommended)(TLSのみー推奨)を選択してく� さい。
-
[TLS Protocol support] で、許可するプロトコルを選択します。
-
"Certificate(証明書)"の下でChoose File(ファイルの選択)をクリックし、インストールしたいTLS証明書もしくは証明書チェーン(PEMフォーマット)を選択してく� さい。 このファイルは通常、.pem、.crt、.cer といった拡張子を持ちます。
-
Under "Unencrypted key", click Choose File to choose an RSA key (in PEM format) to install. このファイルは通常.keyという拡張子を持ちます。
Warning: Your key must be an RSA key and must not have a passphrase. 詳しい情� �については"キーファイルからのパスフレーズの除去"を参照してく� さい。
-
左のサイドバーの下でSave settings(設定の保存)をクリックしてく� さい。
Note: Saving settings in the Management Console restarts system services, which could result in user-visible downtime.
-
設定が完了するのを待ってく� さい。
Let's Encryptのサポートについて
Let's Encryptは公開の証明書認証者で、ACMEプロトコルを使ってブラウザが信� �するTLS証明書を、無料で自動的に発行してくれます。 アプライアンスのためのLet's Encryptの証明書は、手動のメンテナンスを必要とせず自動的に取得及び更新できます。
Let's Encryptの自動化を利用するには、アプライアンスをHTTP経由で公にアクセスできるようなホスト名で設定していなければなりません。 アプライアンスは、アウトバウンドのHTTPS接続ができるようになっていなければなりません。
Let's Encryptを使ったTLS証明書管理の自動化を有効にすると、your GitHub Enterprise Server instanceはLet's Encryptのサーバに接続して証明書を取得します。 証明書を更新するには、Let's EncryptのサーバはインバウンドのHTTPリクエストで設定されたドメイン名の制御を検証しなければなりません。
また、your GitHub Enterprise Server instance上でコマンドラインユーティリティのghe-ssl-acme
を使っても、自動的にLet's Encryptの証明書を生成できます。 詳細は「コマンドラインユーティリティ」を参照してく� さい。
Let's Encryptを使ったTLSの設定
Let's Encryptの自動化を利用するには、アプライアンスをHTTP経由で公にアクセスできるようなホスト名で設定していなければなりません。 アプライアンスは、アウトバウンドのHTTPS接続ができるようになっていなければなりません。
Warning: Configuring TLS causes a small amount of downtime for your GitHub Enterprise Server instance.
-
From an administrative account on GitHub Enterprise Server, in the upper-right corner of any page, click .
-
If you're not already on the "Site admin" page, in the upper-left corner, click Site admin.
-
左のサイドバーでManagement Consoleをクリックしてく� さい。
-
左のサイドバーでPrivacy(プライバシー)をクリックしてく� さい。
-
TLS only (recommended)(TLSのみー推奨)を選択してく� さい。
-
Enable automation of TLS certificate management using Let's Encrypt(Let's Encryptを使った自動的なTLS証明書管理の有効化)を選択してく� さい。
-
左のサイドバーの下でSave settings(設定の保存)をクリックしてく� さい。
Note: Saving settings in the Management Console restarts system services, which could result in user-visible downtime.
-
設定が完了するのを待ってく� さい。
-
左のサイドバーでPrivacy(プライバシー)をクリックしてく� さい。
-
Request TLS certificate(TLS証明書のリクエスト)をクリックしてく� さい。
-
Wait for the "Status" to change from "STARTED" to "DONE".
-
Save configuration(設定の保存)をクリックしてく� さい。