管理 Flex Gateway のアウトバウンド TLS の設定

アウトバウンド Transport Layer Security (TLS) では、Flex Gateway とアップストリームサービス間の通信を暗号化します。

アウトバウンド TLS 設定は接続モードで実行されている管理 Flex Gateway と自己管理 Flex Gateway で同じです。両方のモードで同じ TLS コンテキストを使用できます。

シークレットグループを作成​したら、TLS コンテキストまたは相互認証 TLS (mTLS) コンテキストを追加し、その TLS コンテキストを API Manager でアップストリームに適用して、アウトバウンドトラフィックを暗号化できます。

デフォルトでは、Flex Gateway はアウトバウンド TLS をサポートし、安全な通信チャネルを必要とするアップストリームサービスと通信します。デフォルトのアウトバウンド通信では、Flex Gateway は TLS 1.2 のみを使用します。デフォルトの TLS 1.2 暗号化を見つけるには、​Flex Gateway でサポートされる暗号化​を参照してください。暗号化を見つけるには、​Flex Gateway でサポートされる暗号化​を参照してください。TLS コンテキストをアップストリームに適用すると、そのアップストリームのデフォルトの TLS コンテキストが上書きされます。デフォルトの暗号化は以降の Flex Gateway バージョンでは変更される可能性があるため、TLS コンテキストをアップストリームに適用して同じ暗号化を維持することができます。

アウトバウンド TLS コンテキストを設定する際には、Authority Information Access (AIA) 証明書拡張機能はサポートされません。

始める前に

管理 Flex Gateway のアウトバウンド TLS コンテキストを設定する前に、次のタスクを完了してください。

アウトバウンド TLS 設定オプション

通常の TLS または mTLS をサポートするようにアウトバウンド TLS コンテキストを設定できます。

「TLS コンテキストを追加する」​ステップで必要な TLS コンテキスト設定については、次の相互参照テーブルを参照してください。

パラメーター アウトバウンド TLS アウトバウンド mTLS

Keystore (キーストア)

未使用

必須

Truststore (トラストストア)

[Skip server certificate validation (サーバー証明書の検証をスキップ)] が選択されていない場合は必須

アップストリーム証明書を検証する場合は必須

Validate Client certificate (クライアント証明書を検証)

未使用

未使用

Skip server certificate validation (サーバー証明書の検証をスキップ)

両方

未選択

設定のパラメーターが「未使用」の場合、その状況は設定に影響しないことを意味します。

設定を簡素化するために、API インスタンスの異なるトラフィック方向に対して異なる TLS コンテキストを作成します。同じ TLS コンテキストを使用して異なるトラフィック方向をサポートすることもできますが、同じコンテキストを使用して同じ方向の TLS と mTLS をサポートすることはできません。異なる方向に同じ TLS コンテキストを使用する場合は、両方向に必要なパラメーターを含めてください。

Flex Gateway の TLS コンテキストを追加する

TLS コンテキストをシークレットグループに追加するには、名前、対象、バージョン、キーストアまたはトラストストアを指定する必要があります。コンテキストの有効期限と ALPN プロトコルを追加し、アウトバウンド設定を定義することもできます。

現在 API インスタンスに適用されている TLS コンテキストを含むシークレットグループを編集する場合は、各 API インスタンスを再デプロイして変更を適用する必要があります。API インスタンスを再デプロイするには、​「API インスタンスを再デプロイする」​を参照してください。

TLS コンテキストを追加する手順は、次のとおりです。

  1. [Anypoint Platform] > [Secrets Manager (シークレットマネージャー)]​ に移動します。

  2. TLS コンテキストを API インスタンスに適用するには、シークレットグループをダウンロード可能にしてください。

    シークレットグループをダウンロード可能にする手順は、次のとおりです。

    1. シークレットグループの名前の横にある鉛筆アイコンをクリックします。

    2. [Secret Group Downloadable (シークレットグループをダウンロード可能)]​ が選択されている場合は、​[Cancel (キャンセル)]​ をクリックします。

    3. [Secret Group Downloadable (シークレットグループをダウンロード可能)]​ が選択されていない場合は、それを選択して ​[Save (保存)]​ をクリックします。

  3. [Secret Groups (シークレットグループ)]​ リストビューで、シークレットグループの ​[Edit (編集)]​ ボタンをクリックして TLS コンテキストを追加します。

  4. 左側のメニューで ​[TLS Context (TLS コンテキスト)]​ を選択してから、​[Add TLS Context (TLS コンテキストを追加)]​ をクリックします。

  5. [Create TLS Context (TLS コンテキストを作成)] 画面で、必要な情報を追加します。

    • Name (名前)
      TLS コンテキストの名前を入力します。

    • Target (対象)
      [Flex Gateway]​ を選択し、TLS コンテキストを Flex Gateway API の SSL 検証として使用します。

    • [Min TLS Version (最小 TLS バージョン)]​ と ​[Max TLS Version (最大 TLS バージョン)]
      さまざまな TLS バージョンをサポートするか、最小と最大に同じバージョンを選択することで単一バージョンをサポートすします。

    • Keystore (キーストア)
      設定に必要な場合は、TLS コンテキストに保存する PEM 種別のキーストアを選択します。キーストアには、Flex Gateway がアウトバウンド TLS のリモートパーティに提示する証明書が含まれます。

      セキュリティ標準に準拠するには、すべての証明書が 2048 ビット以上である必要があります。

    • Truststore (トラストストア)
      設定に必要な場合は、クライアントによって信頼される証明書を保存する PEM 種別のトラストストアを選択します。トラストストアには、Flex がアウトバウンド TLS のリモートパーティ証明書を検証するために使用する CA パスが含まれます。

      アップストリーム証明書にはサブジェクト代替名 (SAN) 拡張機能を含める必要があります。共通名 (CN) 項目は非推奨です。

      Flex Gateway では、​dNSName​ 種別の SAN 拡張機能がサポートされます。

    • Expiration Date (有効期限 (日))
      必要に応じて、TLS コンテキストの有効期限を入力します。

    • ALPN Protocols (ALPN プロトコル)
      デフォルトでは、​H2 - HTTP/1.1​ が ALPN プロトコルとして選択されます。異なるプロトコルをサポートするには、この値を変更します。

    • Outbound Settings (アウトバウンド設定)
      アウトバウンドトラフィックで mTLS をサポートしない場合は、​[Skip server certificate validation (サーバー証明書の検証をスキップ)]​ を選択します。

  6. TLS コンテキストの暗号化サポートをカスタマイズする場合は、​暗号化を選択します​。

    TLS バージョン 1.3 のみをサポートしている場合、暗号化は選択できません。

  7. [Save (保存)]​ をクリックします。

TLS コンテキストを API に適用する

新しい API インスタンスのアップストリーム設定の定義時に、または既存のインスタンスのアップストリーム設定を編集して、TLS コンテキストをアップストリームサービスに適用できます。

それぞれのオプションについては、関連するチュートリアルを参照してください。

TLS コンテキストをアップストリームサービスに適用する手順は、次のとおりです。

  1. [Anypoint Platform] > [API Manager]​ に移動します。

  2. 次のいずれかへ移動します。

    • 新しい API インスタンスを追加する場合は、ダウンストリーム設定ページ。

    • 既存の API インスタンスを編集する場合は、​[Settings (設定)]​ ページ。

  3. 新しい API インスタンスを追加する場合は、アップストリームサービスを設定します。

  4. [Add TLS Context (TLS コンテキストを追加)]​ をクリックします。

    1. [Secret Group (シークレットグループ)]​ を選択します。

    2. [TLS Context (TLS コンテキスト)]​ を選択します。

    3. [Ok]​ をクリックします。

  5. API インスタンスの作成を完了するか、設定の編集を保存します。

シークレットグループを編集して API インスタンスを再デプロイする

シークレットグループを編集するには、​「シークレットグループを編集する」​を参照してください。

現在 API インスタンスに適用されているシークレットグループを編集し、その変更を API インスタンスに適用する場合は、変更が影響するすべてのインスタンスを個別に再デプロイする必要があります。

API インスタンスを再デプロイする手順は、次のとおりです。

  1. [Anypoint Platform] > [API Manager]​ に移動します。

  2. 再デプロイする API インスタンスの名前をクリックします。

  3. [Runtime & Endpoint Configuration (ランタイムとエンドポイント設定)] > [Save & Apply (保存して適用)]​ をクリックします。

暗号化の選択

TLS コンテキストを設定すると、シークレットマネージャーによって、選択した TLS バージョンに基づいてデフォルトの暗号化が適用されます。デフォルトに加えて、選択した TLS バージョンで使用する他の暗号化を選択できます。各 TLS コンテキストに複数の暗号化を含めることができます。

暗号化を選択する手順は、次のとおりです。

  1. [Ciphers (暗号化)]​ をクリックして使用可能な暗号化を表示します。

  2. 暗号化を選択します。

    TLS バージョン 1.3 のみをサポートしている場合、暗号化は選択できません。

  3. [Save (保存)]​ をクリックします。

Flex Gateway での TLS 暗号化のサポート

Flex は、TLS 1.1 ~ TLS 1.3 の範囲の TLS バージョンをサポートでき、サポートする暗号化の一部をカスタマイズすることもできます。

TLS 1.3 暗号化のリストをカスタマイズすることはできません。TLS 1.3 をサポートする場合は、TLS 1.3 のデフォルトの暗号化をサポートする必要があります。

TLS 1.2 をサポートする場合は、TLS 1.2 のデフォルトの暗号化が選択されます。ただし、TLS 1.3 とは異なり、さまざまな TLS 1.2 暗号化をカスタマイズできます。

TLS 1.1 にはデフォルトの暗号化がありません。TLS 1.1 をサポートすることを選択した場合は、サポートする暗号化を選択する必要があります。

アウトバウンド TLS コンテキストの場合、選択した暗号化とバージョンが API アップストリームでサポートされることを確認してください。

Flex Gateway でサポートされる暗号化

Flex Gateway では、接続モードとローカルモードで次の TLS 暗号化がサポートされます。

暗号化 TLS バージョン デフォルト アドバイス

TLS AES 128 GCM SHA256

1.3

はい

セキュア

TLS AES 256 GCM SHA384

1.3

はい

セキュア

TLS CHACHA20 POLY1305 SHA256

1.3

はい

セキュア

TLS ECDHE ECDSA WITH AES 128 GCM SHA256

1.2

はい

推奨

TLS ECDHE ECDSA WITH AES 256 GCM SHA384

1.2

はい

推奨

TLS ECDHE ECDSA WITH CHACHA20 POLY1305 SHA256

1.2

はい

推奨

TLS ECDHE PSK WITH CHACHA20 POLY1305 SHA256

1.2

いいえ

推奨

TLS ECDHE RSA WITH AES 128 GCM SHA256

1.2

はい

セキュア

TLS ECDHE RSA WITH AES 256 GCM SHA384

1.2

はい

セキュア

TLS ECDHE RSA WITH CHACHA20 POLY1305 SHA256

1.2

はい

セキュア

TLS RSA WITH AES 128 GCM SHA256

1.2

いいえ

脆弱

TLS RSA WITH AES 256 GCM SHA384

1.2

いいえ

脆弱

TLS RSA WITH AES 128 CBC SHA

1.1、1.2

いいえ

脆弱

TLS RSA WITH AES 256 CBC SHA

1.1、1.2

いいえ

脆弱

TLS PSK WITH AES 128 CBC SHA

1.1、1.2

いいえ

脆弱

TLS PSK WITH AES 256 CBC SHA

1.1、1.2

いいえ

脆弱

TLS ECDHE ECDSA WITH AES 128 CBC SHA

1.1、1.2

いいえ

脆弱

TLS ECDHE ECDSA WITH AES 256 CBC SHA

1.1、1.2

いいえ

脆弱

TLS ECDHE RSA WITH AES 128 CBC SHA

1.1、1.2

いいえ

脆弱

TLS ECDHE RSA WITH AES 256 CBC SHA

1.1、1.2

いいえ

脆弱

TLS ECDHE PSK WITH AES 128 CBC SHA

1.1、1.2

いいえ

脆弱

TLS ECDHE PSK WITH AES 256 CBC SHA

1.1、1.2

いいえ

脆弱

TLS RSA WITH 3DES EDE CBC SHA

1.1

いいえ

脆弱