専用ロードバランサでの証明書の検証

logo cloud active logo hybrid disabled logo server disabled logo rtf disabled

SSL エンドポイントの CA 証明書を 1 つ以上指定すると、ロードバランサは以下の HTTP ヘッダーを使用してクライアント証明書データを API に渡します。

  • X-SSL-Client-Verify

    次のいずれかが返されます。

    • SUCCESS

      クライアントは SUCCESS​ が返された場合にのみ検証されます。

    • 証明書が存在しない場合は NONE​ が返されます。

    • 他の検証エラーが発生した場合は FAILED​ が返されます。

  • X-SSL-Client-DN

    クライアント証明書の完全な識別名が含まれます。

  • X-SSL-Issuer

    発行元証明書の完全な識別名が含まれます。

  • X-SSL-Client-Serial

    クライアントを識別するために CA で使用されるシリアル番号が含まれます。

失効リストの追加

CloudHub ロードバランサは、必要に応じて証明書失効リスト (CRL) に対してクライアント要求を検証できます。アップロードするには、暗号化されていない、PEM でエンコードされた 1 つのファイルにすべての CRL ファイルを連結する必要があります。CRL 内での項目の順序は重要ではありません。

失効リストを追加するには、ロードバランサの作成時に cloudhub load-balancer create​ コマンドで --crl​ オプションを使用します。

ロードバランサがすでに作成されている場合は、​CloudHub REST API​ を使用して CRL を追加または更新できます。この場合は、PATCH​ 要求に revocationList​ 要素を追加して /organizations/{myOrgID}/vpcs/{myVpcID}/loadbalancers/{myDlbID}​ エンドポイントに送信します。

[
  {
    "op": "replace",
    "path": "/sslEndpoints/0/revocationList",
    "value": "-----BEGIN X509 CRL-----\nMIIBTTCBtwIBATANBgkqhkiG9w0BAQUFADBXMQswCQYDVQQGEwJBVTETMBEGA1UE\nCBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRk\nMRAwDgYDVQQDEwdvcmcuY29tFw0xNjAzMTUwOTI2MThaFw0xODAzMTUwOTI2MTha\nMBwwGgIJAIBvvO4dJHjhFw0xNjAzMTUwODUwMTZaoA4wDDAKBgNVHRQEAwIBBjAN\nBgkqhkiG9w0BAQUFAAOBgQCCAbGXW+Hnzmd1bXqWsFXfogOsJScoxkJOhhmjui3I\nhTUyO5plGHUBLjBnDkypM+iLfn0W4wPcNj7FZdz4Hu/WLntxwrTtR5YOcfIhEGcq\nwvJq/1+WKUPC6eqGwx0iKOOBIWsaf5CNOOUQMo6RaeTeu8Uba2EGFk1Vu/SoZYAK\nsw==\n-----END X509 CRL-----\n"
  }
]

CLI から myVpcID​ と myDlbID​ の値を取得するには、それぞれ cloudhub vpc describe-json​ コマンドと cloudhub load-balancer describe-json​ コマンドを使用します。

他のプロパティを更新するには、PATCH​ 要求をロードバランサエンドポイントに送信します。

証明書暗号化スイートを管理するための準備

CloudHub API で暗号化スイートを管理するためには、事前に以下を行う必要があります。

認証ベアラートークンの生成

Anypoint Platform 用の認証ベアラートークンを生成する手順は次のとおりです。

  1. Anypoint Platform のユーザ名とパスワードを CloudHub API に送信します。

    curl -X POST 'https://anypoint.mulesoft.com/accounts/login' -H 'Content-Type: application/json' -d '{"username":"myUsername","password":"myPassword"}'

    このコマンドによりアクセストークンが返されます。

    {
      "access_token": "myAccessToken",
      "token_type": "bearer",
      "redirectUrl": "/home/"
    }
  2. API コールで使用する access_token​ の値をコピーします。

証明書暗号化スイートの管理

CloudHub API を使用すると、以下を行うことができます。

使用可能な暗号化スイートのリスト

CloudHub API を使用して組織で使用可能な暗号化スイートをリストするには、次の GET コールを実行します。

curl https://anypoint.mulesoft.com/cloudhub/api/organizations/myOrgID/loadbalancers/ciphersuites -H 'Authorization: Bearer myAccessToken' | jq
  • myOrgID​ は組織 ID です。

  • myAccessToken​ は、生成したアクセストークンです。

出力には ciphers​ が含まれます。

{
  "data": [
      {
          "id": "5b4a36e1e65c892316abd4d1",
          "name": "NewDefault",
          "ciphers": "ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384",
          "description": "Default ciphers (new version)",
          "defaultSuite": true
      },
      {
          "id": "5b4a36e1e65c892316abd4d2",
          "name": "OldDefault",
          "ciphers": "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4",
          "description": "Default ciphers (old version)",
          "defaultSuite": false
      },
      {
          "id": "5b4bfedee4b0f45ab1de6979",
          "name": "EcdheEcdsaRsa",
          "ciphers": "ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384",
          "description": "ECDHE ECDSA RSA ciphers",
          "defaultSuite": false
      },
      {
          "id": "5ba28106e4b00522d78f40b6",
          "name": "RestrictCiphers",
          "ciphers": "AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256",
          "description": "Restricted Ciphers",
          "defaultSuite": false
      }
  ],
  "total": 4
}

DLB のデフォルト暗号化スイートの表示

CloudHub API を使用して DLB のデフォルトの暗号化スイートを表示するには、次の GET コールを実行します。

curl https://anypoint.mulesoft.com/cloudhub/api/organizations/myOrgID/vpcs/myVpcID/loadbalancers/myDlbID -H 'Authorization: Bearer myAccessToken' | jq

コマンドでは:

  • myOrgID​ は組織 ID です。

  • myVpcID​ は VPC の ID です。

  • myVpcID​ は DLB の ID です。

  • myAccessToken​ は、生成したアクセストークンです。

出力には defaultSuite​ が含まれます。

"defaultCipherSuite": "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4"

デフォルトの暗号化スイートの置換による暗号化の循環

CloudHub API を使用して DLB のデフォルトの暗号化スイートを置換することで暗号化を循環するには、次の GET コールを実行します。

curl -X PATCH https://anypoint.mulesoft.com/cloudhub/api/organizations/myOrgID/vpcs/myVpcID/loadbalancers/myDlbID  -H 'Authorization: Bearer myAccessToken' -H 'Content-Type: application/json' -d '[{"op":"replace", "path":"/defaultCipherSuiteName", "value":"NewDefault"}]' | jq

コマンドでは:

  • myOrgID​ は組織 ID です。

  • myVpcID​ は VPC の ID です。

  • myVpcID​ は DLB の ID です。

  • myAccessToken​ は、生成したアクセストークンです。

  • NewDefault​ は、<<「使用可能な暗号化スイートのリスト」>>​で生成した使用可能な暗号化スイートのリストに含まれている暗号化スイートの name​ です。

この出力には defaultCipherSuite​ が含まれます。

"defaultCipherSuite": "ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384"

推奨される暗号化スイート

次に示す推奨される暗号化スイートは、SSL エンドポイントの互換性とセキュリティのバランスが取れています。

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

ほとんどの暗号化スイートは、前方秘匿性を提供します。RC4-SHA (Internet Explorer 8 をサポート) は前方秘匿性を提供しません。 そのため、MuleSoft と Microsoft は RC4-SHA の使用を推奨していません。

CloudHub の専用ロードバランサは、TLSv1.1 と TLSv1.2 をサポートしています。 TLS v1.0 を設定することもできますが、このプロトコルには重大な脆弱性があるため PCI コンプライアンスでは受け入れられません。

Was this article helpful?

💙 Thanks for your feedback!