暗号スイートのセットアップ

TLS IBM Cloud® Internet Services。エッジ暗号スイートとオリジン暗号スイートを使用することで、ネットワーク接続を保護します。

エッジの暗号スイート

クラウドのエッジでは、以下の暗号がサポートされています。 IBM Cloud CLIへの CIS CLIプラグインを通じて、ドメインで使用する暗号を制限できます。 ドメイン設定コマンドの ciphers オプションを参照。

エッジの暗号スイート
OpenSSL 名 TLS 1.0 TLS 1.1 TLS 1.2 TLS 1.3 IANA名
ECDHE-ECDSA-AES128-GCM-SHA256 使用可能 TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
ECDHE-ECDSA-CHACHA20-POLY1305 使用可能 TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
ECDHE-RSA-AES128-GCM-SHA256 使用可能 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
ECDHE-RSA-CHACHA20-POLY1305 使用可能 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
ECDHE-ECDSA-AES128-SHA256 使用可能 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
ECDHE-ECDSA-AES128-SHA 使用可能 使用可能 使用可能 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
ECDHE-RSA-AES128-SHA256 使用可能 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
ECDHE-RSA-AES128-SHA 使用可能 使用可能 使用可能 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
AES128-GCM-SHA256 使用可能 TLS_RSA_WITH_AES_128_GCM_SHA256
AES128-SHA256 使用可能 TLS_RSA_WITH_AES_128_CBC_SHA256
AES128-SHA 使用可能 使用可能 使用可能 TLS_RSA_WITH_AES_128_CBC_SHA
ECDHE-ECDSA-AES256-GCM-SHA384 使用可能 TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
ECDHE-ECDSA-AES256-SHA384 使用可能 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
ECDHE-RSA-AES256-GCM-SHA384 使用可能 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
ECDHE-RSA-AES256-SHA384 使用可能 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
ECDHE-RSA-AES256-SHA 使用可能 使用可能 使用可能 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
AES256-GCM-SHA384 使用可能 TLS_RSA_WITH_AES_256_GCM_SHA384
AES256-SHA256 使用可能 TLS_RSA_WITH_AES_256_CBC_SHA256
AES256-SHA 使用可能 使用可能 使用可能 TLS_RSA_WITH_AES_256_CBC_SHA
DES-CBC3-SHA 使用可能 TLS_RSA_WITH_3DES_EDE_CBC_SHA
AEAD-AES128-GCM-SHA256 使用可能 TLS_AES_128_GCM_SHA256
AEAD-AES256-GCM-SHA384 使用可能 TLS_AES_256_GCM_SHA384
AEAD-CHACHA20-POLY1305-SHA256 使用可能 TLS_CHACHA20_POLY1305_SHA256

起点の暗号スイート

起点では、以下の暗号がサポートされています。 IBM Cloud CLIへの CIS CLIプラグインを通じて、ドメインで使用する暗号を制限できます。 ドメイン設定コマンドの ciphers オプションを参照。

起点の暗号スイート
OpenSSL 名 TLS 1.0 TLS 1.1 TLS 1.2 TLS 1.3 IANA名
AEAD-AES128-GCM-SHA256 [1] 使用可能 TLS_AES_128_GCM_SHA256
AEAD-AES256-GCM-SHA384 [2] 使用可能 TLS_AES_256_GCM_SHA384
AEAD-CHACHA20-POLY1305-SHA256 [3] 使用可能 TLS_CHACHA20_POLY1305_SHA256
ECDHE-ECDSA-AES128-GCM-SHA256 使用可能 TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
ECDHE-RSA-AES128-GCM-SHA256 使用可能 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
ECDHE-RSA-AES128-SHA 使用可能 使用可能 使用可能 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
AES128-GCM-SHA256 使用可能 TLS_RSA_WITH_AES_128_GCM_SHA256
AES128-SHA 使用可能 使用可能 使用可能 TLS_RSA_WITH_AES_128_CBC_SHA
ECDHE-ECDSA-AES256-GCM-SHA384 使用可能 TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
ECDHE-RSA-AES256-SHA384 使用可能 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
AES256-SHA 使用可能 使用可能 使用可能 TLS_RSA_WITH_AES_256_CBC_SHA
DES-CBC3-SHA 使用可能 TLS_RSA_WITH_3DES_EDE_CBC_SHA

CLI からの暗号スイートの管理

CLIから暗号スイートを管理できる。

CLIから暗号スイートを取得する

変数 cipher をリストアップするには、以下のコマンドを実行する:

ibmcloud cis domain-settings DNS_DOMAIN_ID [-g, --group GROUP | -f, --feature FEATURE] [-i, --instance INSTANCE] [--output FORMAT]

コマンド・オプション

DNS_DOMAIN_ID
DNSドメインのID。 このオプションは必須です。
-f, --feature
チェックするドメイン設定機能を指定します。 このオプションは -g, --group と互いに排他的である。 このオプションを以下の変数に設定する:
  • ciphers: BoringSSL 暗号形式を使用した、エッジ TLS 終端用の TLS 暗号スイートの許可リストを定義する。 このコマンドは、顧客が明示的に許可リストを作成した暗号スイートのみをリストアップする。 allowlistedに暗号スイートがない場合、コマンドは空のリストを返し、デフォルトの暗号スイートを使用する。 デフォルトの暗号スイートのリストについては、 エッジ暗号スイートを 参照のこと。

ドメイン ciphers31984fea73a15b45779fa0df4ef62f9b 設定を取得します。

ibmcloud cis domain-settings 31984fea73a15b45779fa0df4ef62f9b --feature "ciphers" --instance "cis-demo"

詳細については、ibmcloud cis domain-settingsを 参照してください。

CLIからの暗号化スイートの更新

変数 cipher を更新するには、以下のコマンドを実行する:

ibmcloud cis domain-settings-update DNS_DOMAIN_ID (-f, --feature FEATURE) (-v, --value VALUE) [-i, --instance INSTANCE] [--output FORMAT]

コマンド・オプション

DNS_DOMAIN_ID

DNSドメインのID。 このオプションは必須です。

-f, --feature

更新するドメイン設定の特徴。 このオプションは必須です。 有効な cipher

  • ciphers TLS。 これらの暗号は BoringSSL 形式でなければならない。
-v, --value

ドメイン上の機能に設定する値を指定します。 このオプションは必須です。

  • tls_client_auth の有効な値は onoff である。
  • 暗号に有効な値は以下の通り:
    • ECDHE-ECDSA-AES128-GCM-SHA256
    • ECDHE-ECDSA-CHACHA20-POLY1305
    • ECDHE-RSA-AES128-GCM-SHA256
    • ECDHE-RSA-CHACHA20-POLY1305
    • ECDHE-ECDSA-AES128-SHA256
    • ECDHE-ECDSA-AES128-SHA
    • ECDHE-RSA-AES128-SHA256
    • ECDHE-RSA-AES128-SHA
    • AES128-GCM-SHA256
    • AES128-SHA256
    • AES128-SHA
    • ECDHE-ECDSA-AES256-GCM-SHA384
    • ECDHE-ECDSA-AES256-SHA384
    • ECDHE-RSA-AES256-GCM-SHA384
    • ECDHE-RSA-AES256-SHA384
    • ECDHE-RSA-AES256-SHA
    • AES256-GCM-SHA384
    • AES256-SHA256
    • AES256-SHA
    • DES-CBC3-SHA
    • default

例えば、 -v AES256-SHA256,AES256-SHA のような特定の設定された暗号スイートをデフォルト値にリセットするには、 -v default を使用する。

31984fea73a15b45779fa0df4ef62f9b ドメインの tls_client_auth を有効にする。

ibmcloud cis domain-settings-update 31984fea73a15b45779fa0df4ef62f9b --feature tls_client_auth --value on --instance "cis-demo"

詳細については、ibmcloud cis domain-settings-updateを 参照してください。

デフォルトの暗号化リストに戻すには、 -f ciphersの後に -v defaultを指定する。

API を使用した暗号スイートの管理

API を使用して暗号スイートを管理できます。

APIで暗号を取得する

API を使用して暗号を取得するには、以下の手順を実行します。

  1. 正しい変数で環境を設定する。
  2. APIコマンドで使用する変数を格納する。 以下に例を示します。
    • crn (文字列): リソースインスタンスの完全な エンコードされたクラウドリソース名(CRN)。 URL
    • zone_identifier (string): ゾーン ID。
  3. すべての変数が開始されたら、暗号を取得する:
curl -X GET https://api.cis.cloud.ibm.com/v1/:crn/zones/:zone_id/settings/ciphers -H 'content-type: application/json' -H 'accept: application/json' -H 'x-auth-user-token: Bearer xxxxxx'

APIによる暗号の更新

API を使用して暗号を更新するには、以下の手順を実行します。

  1. 正しい変数で環境を設定する。
  2. APIコマンドで使用する変数を格納する。 以下に例を示します。
    • crn (文字列): リソースインスタンスの完全な エンコードされたクラウドリソース名(CRN)。 URL
    • zone_identifier (string): ゾーン ID。
    • value(string): 組み入れる暗号スイート。
  3. すべての変数が開始されたら、暗号を取得する:
curl -X PATCH https://api.cis.cloud.ibm.com/v1/:crn/zones/:zone_id/settings/ciphers -H 'content-type: application/json' -H 'x-auth-user-token: Bearer xxxxxx' -d '{"value": ["AES256-GCM-SHA384", "AES256-SHA256"]}'


  1. TLS 1.3 は以前のバージョンの TLS と同じ暗号スイート空間を使用しているが、 TLS 1.3 の暗号スイートは対称暗号のみを指定する異なる定義となっており、 TLS 1.2 には使用できない。 同様に、 TLS 1.2、およびそれ以下の暗号スイートは、 TLS 1.3 (IETF TLS 1.3 ドラフト21)では使用できない。 BoringSSL また、 TLS 1.3、この順序で暗号の優先順位をハードコードする。 ↩︎

  2. TLS 1.3 は以前のバージョンの TLS と同じ暗号スイート空間を使用しているが、 TLS 1.3 の暗号スイートは対称暗号のみを指定する異なる定義となっており、 TLS 1.2 には使用できない。 同様に、 TLS 1.2、およびそれ以下の暗号スイートは、 TLS 1.3 (IETF TLS 1.3 ドラフト21)では使用できない。 BoringSSL また、 TLS 1.3、この順序で暗号の優先順位をハードコードする。 ↩︎

  3. TLS 1.3 は以前のバージョンの TLS と同じ暗号スイート空間を使用しているが、 TLS 1.3 の暗号スイートは対称暗号のみを指定する異なる定義となっており、 TLS 1.2 には使用できない。 同様に、 TLS 1.2、およびそれ以下の暗号スイートは、 TLS 1.3 (IETF TLS 1.3 ドラフト21)では使用できない。 BoringSSL また、 TLS 1.3、この順序で暗号の優先順位をハードコードする。 ↩︎