Skip to main content

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2023-01-18. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの向上、新機能の向上を図るために、最新バージョンの GitHub Enterprise にアップグレードします。 アップグレードに関するヘルプについては、GitHub Enterprise サポートにお問い合わせく� さい

TLSの設定

信� �できる認証機関によって署名された証明書を使用できるように、 で Transport Layer Security (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 (HSTS)」をご覧く� さい。

警告: ロード バランサーの HTTPS 接続を終了する� �合、ロード バランサーから GitHub Enterprise Server への要求も HTTPS を使用する必要があります。 接続の HTTP へのダウングレードはサポートされません。

ユーザが2要� 認証のFIDO U2Fを利用できるようにするには、インスタンスでTLSを有効化しなければなりません。 詳細については、「2 要� 認証の構成」を参照してく� さい。

前提条件

プロダクションでTLSを利用するには、暗号化されていないPEMフォーマットで、信� �済みの証明書認証局によって署名された証明書がなければなりません。

証明書には、"Subdomain Isolation の有効化" の一覧にあるサブドメイン用に構成されたサブジェクトの別名も必要であり、中間証明機関によって署名されている� �合は完全な証明書チェーンを含める必要があります。 詳しくは、Wikipedia の「サブジェクトの別名」をご覧く� さい。

ghe-ssl-generate-csr コマンドを使って、インスタンス用の証明書署名要求 (CSR) を生成できます。 詳細については、「コマンド ライン ユーティリティ」を参照してく� さい。

キーは RSA キーでなければならず、パスフレーズは使用できません。 詳しくは、「鍵ファイルからのパスフレーズの除去」をご覧く� さい。

カスタ� のTLS証明書のアップロード

警告: TLS を構成すると、 に短いダウンタイ� が発生します。

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

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

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

    [サイト管理者] リンクのスクリーンショット 1. 左側のサイドバーで、 [Management Console] をクリックします。 左側のサイドバーの [[Management Console]] タブ 1. 左側のサイドバーで、 [プライバシー] をクリックします。 設定サイドバーの [プライバシー] タブ 1. [TLS のみ] (推奨) を選択します。 TLS のみを選択するチェック ボックス

  3. [TLS Protocol support] で、許可するプロトコルを選択します。 TLS プロトコルを選ぶためのオプションのラジオ ボタン

  4. [証明書] の下の [ファイルの選択] をクリックして、インストールする TLS 証明書または証明書チェーン (PEM 形式) を選びます。 このファイルの拡張子は、通常、 .pem.crt、または .cer です。 TLS 証明書ファイルを見つけるためのボタン

  5. [暗号化されていないキー] で [ファイルの選択] をクリックして、インストールする RSA キー (PEM 形式) を選びます。 通常、このファイルの拡張子は .key です。 TLS キー ファイルを見つけるためのボタン

  6. 左側のサイドバーで、 [設定の保存] をクリックします。

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

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

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

    インスタンスの設定

Let's Encryptのサポートについて

Let's Encryptは公開の証明書認証者で、ACMEプロトコルを使ってブラウザが信� �するTLS証明書を、無料で自動的に発行してくれます。 アプライアンスのためのLet's Encryptの証明書は、手動のメンテナンスを必要とせず自動的に取得及び更新できます。

Let's Encryptの自動化を利用するには、アプライアンスをHTTP経由で公にアクセスできるようなホスト名で設定していなければなりません。 アプライアンスは、アウトバウンドのHTTPS接続ができるようになっていなければなりません。

Let's Encrypt を使って TLS 証明書管理の自動化を有効にすると、 は Let's Encrypt のサーバーに接続して証明書を取得します。 証明書を更新するには、Let's EncryptのサーバはインバウンドのHTTPリクエストで設定されたドメイン名の制御を検証しなければなりません。

また、 で ghe-ssl-acme コマンド ライン ユーティリティを使って、Let's Encrypt の証明書を自動的に生成することもできます。 詳細については、「コマンド ライン ユーティリティ」を参照してく� さい。

Let's Encryptを使ったTLSの設定

Let's Encryptの自動化を利用するには、アプライアンスをHTTP経由で公にアクセスできるようなホスト名で設定していなければなりません。 アプライアンスは、アウトバウンドのHTTPS接続ができるようになっていなければなりません。

警告: TLS を構成すると、 に短いダウンタイ� が発生します。

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

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

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

    [サイト管理者] リンクのスクリーンショット 1. 左側のサイドバーで、 [Management Console] をクリックします。 左側のサイドバーの [[Management Console]] タブ 1. 左側のサイドバーで、 [プライバシー] をクリックします。 設定サイドバーの [プライバシー] タブ 1. [TLS のみ] (推奨) を選択します。 TLS のみを選択するチェック ボックス

  3. [Let's Encrypt を使用した TLS 証明書管理の自動化を有効にする] を選びます。 Let's Encrypt を有効にするためのチェックボックス 1. 左側のサイドバーで、 [設定の保存] をクリックします。

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

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

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

    インスタンスの設定 1. 左側のサイドバーで、 [プライバシー] をクリックします。 設定サイドバーの [プライバシー] タブ

  5. [TLS 証明書の要求] をクリックします。 [TLS 証明書の要求] ボタン

  6. [状態] が "STARTED" から "DONE" に変わるのを待ちます。 Let's Encrypt の状態

  7. [Save configuration] をクリックします。