仮想ホストと Router で暗号スイートを構成する

<ph type="x-smartling-placeholder"></ph> 現在、Apigee Edge のドキュメントが表示されています。
Apigee X のドキュメント
詳細

<ph type="x-smartling-placeholder">

このドキュメントでは、Apigee Edge の仮想ホストとルーターで暗号スイートを構成する方法について説明します。

暗号スイートは、TLS を使用するネットワーク接続の保護に役立つ一連のアルゴリズムです。 クライアントとサーバーは、使用する特定の暗号スイートに同意する必要があります ユーザーです。クライアントとサーバーの間で暗号スイートの意見が一致しない場合、 TLS handshake の失敗で失敗します。

Apigee では、暗号スイートについて、クライアント アプリケーションと 構成されます

次の理由により、Apigee Edge で暗号スイートを変更することをおすすめします。

  • クライアント アプリケーションと Apigee Router の間の暗号スイートの不一致を回避するため
  • セキュリティの脆弱性の修正やセキュリティ強化のために、より安全な暗号スイートを使用する

暗号スイートは、仮想ホストまたは Apigee Router のいずれかで構成できます。備考 Apigee では、OpenSSL 暗号文字列形式の暗号スイートのみが 仮想ホストと Router の両方を管理します。「 OpenSSL 暗号のマニュアル ページ は、関連する仕様とそれに対応する OpenSSL の SSL または TLS 暗号スイートを提供します。

例:

TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 暗号を構成する場合 使用する場合は、サービス アカウントを特定する必要があります。 対応する OpenSSL 暗号文字列を OpenSSL 暗号のマニュアル ページ。 暗号スイート TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 の OpenSSL 暗号文字列 ECDHE-RSA-AES128-GCM-SHA256. です。そのため、OpenSSL の暗号文字列を使用する必要があります。 仮想ホストで暗号スイートを構成する間の ECDHE-RSA-AES128-GCM-SHA256 Apigee Router でモニタリングできます

始める前に

仮想ホストでの暗号スイートの構成

このセクションでは、組織と環境に関連付けられた仮想ホストで暗号スイートを構成する方法について説明します。仮想ホストでは、仮想ホストでサポートされている暗号スイートのリストを表す ssl_ciphers プロパティを使用して、暗号スイートを構成できます。

暗号の一覧については、サポートされている暗号スイートをご覧ください。 スイートです。

仮想ホストは、次のいずれかの方法で構成できます。

  • Edge UI の使用
  • Edge API の使用
で確認できます。 <ph type="x-smartling-placeholder">

Edge UI の使用

<ph type="x-smartling-placeholder">

Edge UI を使用して仮想ホストを構成する手順は次のとおりです。

  1. Edge UI にログインします。
  2. [管理] >仮想ホスト
  3. この変更を行う特定の環境を選択します。
  4. 暗号スイートを構成する特定の仮想ホストを選択します。
  5. [プロパティ] で、[Ciphers] の値をコロン区切りの OpenSSL 暗号文字列のリストに更新します。

    たとえば、特定の暗号スイートのみを許可する場合は、 TLS_DHE_RSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 を呼び出してから、対応する OpenSSL の暗号文字列を OpenSSL 暗号のマニュアル ページ これを次の表に示します。

    暗号スイート OpenSSL 暗号文字列
    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 DHE-RSA-AES128-GCM-SHA256
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256

    次の図に示すように、OpenSSL 暗号文字列をコロンで区切って追加します。

    暗号の例

  6. 変更を保存します。

Edge API の使用

Edge API を使用して仮想ホストで暗号スイートを構成するには、次の操作を行います。

  1. 次を使用して現在の仮想ホストの構成を取得します。 <ph type="x-smartling-placeholder"></ph> 次に示すように、仮想ホスト API を取得します。

    Public Cloud ユーザー:

    curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
    

    Private Cloud ユーザー:

    curl -v -X GET http://{management_server_IP}:8080/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
    
    {
      "hostAliases": [
        "api.myCompany,com"
      ],
      "interfaces": [],
      "listenOptions": [],
      "name": "secure",
      "port": "443",
      "retryOptions": [],
      "sSLInfo": {
        "ciphers": [],
        "clientAuthEnabled": "false",
        "enabled": "true",
        "ignoreValidationErrors": false,
        "keyAlias": "myCompanyKeyAlias",
        "keyStore": "ref://myCompanyKeystoreref",
        "protocols": []
      },
      "useBuiltInFreeTrialCert": false
    }
    
  2. ssl_ciphers プロパティを既存の仮想ホストの構成に追加する 適切な OpenSSL 暗号文字列を含む properties の下の JSON ペイロード。

    たとえば、特定の暗号スイートのみを許可する場合は、 TLS_DHE_RSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 を呼び出してから、対応する OpenSSL の暗号文字列を OpenSSL 暗号のマニュアル ページ これを次の表に示します。

    暗号スイート OpenSSL 暗号文字列
    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 DHE-RSA-AES128-GCM-SHA256
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256

    次の properties コードブロックを追加します。

    更新された仮想ホストの構成例:

    {
      "hostAliases": [
        "api.myCompany,com",
      ],
      "interfaces": [],
      "listenOptions": [],
      "name": "secure",
      "port": "443",
      "retryOptions": [],
      "properties": {
        "property": [
          {
            "name": "ssl_ciphers",
            "value": "DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256"
          }
        ]
      },
      "sSLInfo": {
        "ciphers": [],
        "clientAuthEnabled": "false",
        "enabled": "true",
        "ignoreValidationErrors": false,
        "keyAlias": "myCompanyKeyAlias",
        "keyStore": "ref://myCompanyKeystoreref",
        "protocols": []
      },
      "useBuiltInFreeTrialCert": false
    }
    
  3. 更新した仮想ホストの構成をファイルに保存します。たとえば、virtualhost-payload.json です。
  4. 次のコマンドを使用して、virtualhost 構成を更新します。 <ph type="x-smartling-placeholder"></ph> 次のように仮想ホスト API を更新します。

    Public Cloud ユーザー:

    curl -v -X POST Content-Type: application/json
    https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u {username}
    

    Private Cloud ユーザー:

    curl -v -X POST Content-Type: application/json
    http://{management_server_IP}:8080/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u {username}
    

サポートされている暗号スイート

Apigee では、次の暗号スイートがサポートされています。

ECDHE-RSA-AES256-GCM-SHA384
ECDHE-RSA-AES256-SHA384
ECDHE-RSA-AES256-SHA
DHE-RSA-AES256-GCM-SHA384
DHE-RSA-AES256-SHA256
DHE-RSA-AES256-SHA
DHE-RSA-CAMELLIA256-SHA
AES256-GCM-SHA384
AES256-SHA256  
AES256-SHA
CAMELLIA256-SHA
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-SHA256
ECDHE-RSA-AES128-SHA
DHE-RSA-AES128-GCM-SHA256
DHE-RSA-AES128-SHA256
DHE-RSA-AES128-SHA
DHE-RSA-CAMELLIA128-SHA
AES128-GCM-SHA256
AES128-SHA256   
AES128-SHA 
CAMELLIA128-SHA

仮想ホストの暗号スイートの確認

このセクションでは、暗号スイートが正常に実行されたことを確認する方法について説明します。 作成されたインスタンスを定義します。

<ph type="x-smartling-placeholder">
  1. 次のコマンドを実行します。 <ph type="x-smartling-placeholder"></ph> 次に示すように、仮想ホスト API を取得してvirtualhost構成を取得します。

    Public Cloud ユーザー:

    curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
    

    Private Cloud ユーザー:

    curl -v -X GET http://{management_server_IP}:8080/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
    
  2. プロパティ ssl_ciphers が新しい値に設定されていることを確認します。

    更新された仮想ホストの構成例:

    {
      "hostAliases": [
        "api.myCompany,com",
      ],
      "interfaces": [],
      "listenOptions": [],
      "name": "secure",
      "port": "443",
      "retryOptions": [],
      "properties": {
        "property": [
          {
            "name": "ssl_ciphers",
            "value": "DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256"
          }
        ]
      },
      "sSLInfo": {
        "ciphers": [],
        "clientAuthEnabled": "false",
        "enabled": "true",
        "ignoreValidationErrors": false,
        "keyAlias": "myCompanyKeyAlias",
        "keyStore": "ref://myCompanyKeystoreref",
        "protocols": []
      },
      "useBuiltInFreeTrialCert": false
    }
    

    上記の例では、ssl_ciphers が新しい値に設定されていることに注意してください。

  3. ssl_ciphers に古い値が引き続き表示される場合は、以下を確認してください。 記載されているすべての手順に沿って 仮想ホストで暗号スイートを正しく構成する。 途中を抜けた場合は、すべての手順を正しく繰り返します。
  4. それでも仮想ホストに暗号スイートを更新または追加できない場合は、 Apigee Edge のサポート

Router での暗号スイートの構成

<ph type="x-smartling-placeholder">

このセクションでは、Router で暗号スイートを構成する方法について説明します。暗号スイートは、 Router プロパティで構成 conf_load_balancing_load.balancing.driver.server.ssl.ciphers は、 使用できる暗号スイートをコロンで区切ったものです。

<ph type="x-smartling-placeholder">

Router で暗号スイートを構成する手順は次のとおりです。

  1. ルーターマシンのエディタで、次のファイルを開きます。まだ存在しない場合は、 作成します。

    /opt/apigee/customer/application/router.properties
    

    たとえば、vi でファイルを開くには、次のようにします。 次のように入力します。

    vi /opt/apigee/customer/application/router.properties
    
  2. properties ファイルに次の形式の行を追加します。 colon_separated_cipher_suites の値:
    conf_load_balancing_load.balancing.driver.server.ssl.ciphers=colon_separated_cipher_suites
    

    たとえば、特定の暗号スイートのみを許可する場合は、 TLS_DHE_RSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 を呼び出してから、対応する OpenSSL の暗号文字列を OpenSSL 暗号のマニュアル ページ これを次の表に示します。

    暗号スイート OpenSSL 暗号文字列
    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 DHE-RSA-AES128-GCM-SHA256
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256

    次に、次の行を追加します。

    conf_load_balancing_load.balancing.driver.server.ssl.ciphers=DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256
    
  3. 変更を保存します。
  4. 以下に示すように、このプロパティ ファイルの所有者が apigee ユーザーであることを確認します。
    chown apigee:apigee /opt/apigee/customer/application/router.properties
    
  5. 次のように Router を再起動します。
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
    
  6. Router が複数ある場合は、すべての Router で上記の手順を繰り返します。

Router で暗号スイートを検証する

<ph type="x-smartling-placeholder">

このセクションでは、Router で暗号スイートが正常に変更されたことを確認する方法について説明します。

  1. ルーターで、 Apigee を使用した conf_load_balancing_load.balancing.driver.server.ssl.ciphers /opt/apigee フォルダからユーティリティを検索して、 新しい値を次のように変更します。
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_load_balancing_load.balancing.driver.server.ssl.ciphers
    
  2. ルーターに新しい暗号スイートが正常に設定されると、上記のコマンドが表示されます。 作成します。

    以下は、上記の search コマンドで実行された 暗号スイートが DHE-RSA-AES128-GCM-SHA256 に更新され、 ECDHE-RSA-AES128-GCM-SHA256:

    Found key conf_load_balancing_load.balancing.driver.server.ssl.ciphers, with value, DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256, in /opt/apigee/customer//application/router.properties
    

    上記の出力例では、プロパティの値が conf_load_balancing_load.balancing.driver.server.ssl.ciphers が設定されました 新しい暗号スイートの値に置き換えます。これは、暗号スイートが成功したことを示します。 OpenSSL 暗号文字列にDHE-RSA-AES128-GCM-SHA25更新され、 Router に対する ECDHE-RSA-AES128-GCM-SHA256

  3. 暗号スイートに古い値が引き続き表示される場合 conf_load_balancing_load.balancing.driver.server.ssl.ciphers、確認 記載されているすべての手順に沿って Router に暗号スイートを構成して正しく構成する。 途中を抜けた場合は、すべての手順を正しく繰り返します。
  4. それでもルーターの暗号スイートを変更できない場合は、 Apigee Edge のサポート