Oracle Cloud Infrastructureドキュメント

SSL証明書の管理

このトピックは、ロード・バランサの設定とメンテナンスの一部です。 ロード・バランサの管理の詳細については、「ロード・バランサの管理」を参照してください。

警告

Oracle Cloud Infrastructureコンソール、APIまたはCLIを使用してクラウド・リソースに説明、タグまたはわかりやすい名前を割り当てるときは、機密情報を入力しないでください。

必要なIAMポリシー

Oracle Cloud Infrastructureを使用するには、管理者が作成するポリシーで、コンソールまたはSDK、CLIまたはその他のツールを使用したREST APIのどちらを使用しているかにかかわらず、必要なタイプのアクセスを付与する必要があります。 アクションを実行しようとしたときに、権限のないメッセージや権限のないメッセージを取得する場合は、管理者に付与されているアクセスのタイプと作業するコンパートメントを確認してください。

管理者向け: ロード・バランサとそのコンポーネントにアクセスできる典型的なポリシーについては、「ネットワーク管理者がロード・バランサを管理できるようにします」を参照してください。

また、inspect load-balancersを含むポリシー・ステートメントは、指定されたグループに、ロード・バランサに関するall情報を表示する機能を提供することに注意してください。 詳細は、「Load Balancingの詳細」を参照してください。

新しいポリシーの場合は、「ポリシーの開始」「共通ポリシー」を参照してください。

SSL証明書の使用

ロード・バランサでSSLを使用するには、システムに「1つまたは複数の証明書バンドルを追加」を実行する必要があります。 アップロードする証明書バンドルには、公開証明書、対応する秘密キー、および関連する認証局(CA)証明書が含まれます。 最も簡単なワークフローでは、関連付けるリスナーまたはバックエンド・セットを作成する前に使用する証明書バンドルをアップロードします。

ロード・バランサは通常、単一のドメイン証明書を使用します。 ただし、「リクエスト・ルーティング構成」を含むリスナーを持つロード・バランサは、サブジェクトの代替名(SAN)証明書(マルチドメイン証明書とも呼ばれる)またはワイルドカード証明書を必要とする場合があります。 Load Balancingサービスは、これらの各証明書タイプをサポートします。

重要

  • Load BalancingサービスはSSL証明書を生成しません。 すでに所有している既存の証明書のみインポートできます。 証明書は、VerisignまたはGoDaddyなどのベンダーが発行した1つの証明書にすることができます。 また、OpenSSL「暗号化」などのオープン・ソース・ツールを使用して生成する自己署名付き証明書を使用することもできます。 自己署名証明書の生成方法については、対応するツールのドキュメントを参照してください。
  • バックエンドSSL用に自己署名証明書を送信する場合は、対応するCA証明書フィールドで同じ証明書を送信する必要があります。

Oracle Cloud Infrastructureは、x.509タイプの証明書をPEM形式でのみ受け入れます。 以下は、PEMでエンコードされた証明書の例です:

-----BEGIN CERTIFICATE-----
<Base64_encoded_certificate>
-----END CERTIFICATE-----

PEM形式に変換

証明書とキーをPEM以外の形式で受け取った場合は、それらを変換してからシステムにアップロードする必要があります。 OpenSSLを使用して、証明書とキーをPEM形式に変換できます。 次のコマンド例は、ガイダンスを提供します。

DERからPEMへの証明書または証明書チェーン

openssl x509 -inform DER -in <certificate_name>.der -outform PEM -out <certificate_name>.pem

DERからPEMへの秘密キー

openssl rsa -inform DER -in <private_key_name>.der -outform PEM -out <private_key_name>.pem

PKCS#12 (PFX)からPEMへの証明書バンドル

openssl pkcs12 -in <certificate_bundle_name>.p12 -out <certificate_bundle_name>.pem -nodes

PKCS#7からPEMへの証明書バンドル

openssl pkcs7 -in <certificate_bundle_name>.p7b -print_certs -out <certificate_bundle_name>.pem

証明書チェーンのアップロード

1つの証明書チェーンを構成する複数の証明書がある場合、システムにアップロードする前にすべての関連する証明書を1つのファイルに含める必要があります。 次の証明書チェーン・ファイルの例には、4つの証明書が含まれています:

-----BEGIN CERTIFICATE-----
<Base64_encoded_certificate>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<Base64_encoded_certificate>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<Base64_encoded_certificate>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<Base64_encoded_certificate>
-----END CERTIFICATE-----

秘密キーの送信

ヒント

RSA秘密キーには最低2048ビットの長さを推奨します。

秘密キーの送信がエラーを返す場合、最も一般的な3つの理由は次のとおりです:

  • 間違ったパスフレーズを入力しました。
  • 秘密キーの形式が正しくありません。
  • システムは、キーに使用されている暗号化方式を認識しません。

秘密キーの一貫性

秘密キーに関連するエラーが表示された場合は、OpenSSLを使用して一貫性をチェックできます:

openssl rsa -check -in <private_key>.pem

このコマンドは、キーが完全であり、パスフレーズが正しいこと、およびファイルに有効なRSA秘密キーが含まれていることを検証します。

秘密キーの復号化

システムが秘密キーに使用されている暗号化技術を認識しない場合は、そのキーを復号化します。 証明書バンドルを使用して、暗号化されていないバージョンのキーをアップロードします。 OpenSSLを使用して秘密キーを復号化することができます:

openssl rsa -in <private_key>.pem -out <decrypted_private_key>.pem

期限切れの証明書の更新

一貫性のあるサービスを確保するには、期限切れの証明書を更新(ローテーション)する必要があります:

  1. 新しい証明書バンドルを使用するようにクライアントまたはバックエンド・サーバーを更新します。

    ノート

    クライアントまたはバックエンド・サーバーを更新するステップは、システム固有のものです。

  2. 新しいSSL証明書バンドルをロード・バランサにアップロード
  3. リスナーまたはバックエンド・セットを(必要に応じて)編集して、新しい証明書バンドルを使用するようにします
  4. (オプション)期限切れが近いSSL証明書バンドルを削除します

SSL処理の構成

Oracle Cloud Infrastructure Load Balancingを使用すると、次のことができます:

  • ロード・バランサでSSLを終了します。 この構成は「フロントエンドSSL」です。 ロード・バランサは、クライアントからの暗号化されたトラフィックを受け入れることができます。 ロード・バランサとバックエンド・サーバー間のトラフィックの暗号化はありません。
  • ロード・バランサとバックエンド・サーバー間でSSLを実装します。 この構成は「バックエンドSSL」です。 ロード・バランサは、クライアント・サーバーからの暗号化されたトラフィックを受け入れません。 ロード・バランサとバックエンド・サーバー間のトラフィックは暗号化されます。
  • エンド・ツー・エンドのSSLを実装します。 ロード・バランサは、クライアントからのSSL暗号化トラフィックを受け入れ、バックエンド・サーバーへのトラフィックを暗号化します。

ロード・バランサでのSSLの停止

ロード・バランサでSSLを終了するには、443などのポートで「リスナーを作成」を実行し、アップロードされた証明書バンドルをリスナーに関連付ける必要があります。

バックエンドSSLの実装

ロード・バランサとバックエンド・サーバー間でSSLを実装するには、「アップロードされた証明書バンドルをバックエンド・セットに関連付ける」を実行する必要があります。

ヒント

  • バックエンド・セットに複数のバックエンド・サーバーを含める場合は、中間CA証明書を使用してバックエンド・サーバーに署名します。 中間CA証明書は、証明書バンドルの一部として含める必要があります。
  • バックエンド・サービスは、SSLを受け入れて終了できる必要があります。

エンド・ツー・エンドSSLの実装

エンド・ツー・エンドSSLを実装するには、アップロードされた証明書バンドルをlistener「バックエンド・セット」の両方に関連付ける必要があります。

コンソールの使用

SSL証明書バンドルを負荷分散システムにアップロードするには
負荷分散システムからSSL証明書バンドルを削除するには

APIの使用

APIおよび署名リクエストの使用については、REST APIおよび「セキュリティ資格証明」を参照してください。 SDKの詳細は、「ソフトウェア開発キットとコマンドライン・インタフェース」を参照してください。

ロード・バランサ証明書を管理するには、次のAPI操作を使用します: