暗号スイートのセットアップ
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に暗号スイートがない場合、コマンドは空のリストを返し、デフォルトの暗号スイートを使用する。 デフォルトの暗号スイートのリストについては、 エッジ暗号スイートを 参照のこと。
例
ドメイン ciphers の 31984fea73a15b45779fa0df4ef62f9b 設定を取得します。
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:ciphersTLS。 これらの暗号はBoringSSL形式でなければならない。
-v, --value-
ドメイン上の機能に設定する値を指定します。 このオプションは必須です。
tls_client_authの有効な値はonとoffである。- 暗号に有効な値は以下の通り:
ECDHE-ECDSA-AES128-GCM-SHA256ECDHE-ECDSA-CHACHA20-POLY1305ECDHE-RSA-AES128-GCM-SHA256ECDHE-RSA-CHACHA20-POLY1305ECDHE-ECDSA-AES128-SHA256ECDHE-ECDSA-AES128-SHAECDHE-RSA-AES128-SHA256ECDHE-RSA-AES128-SHAAES128-GCM-SHA256AES128-SHA256AES128-SHAECDHE-ECDSA-AES256-GCM-SHA384ECDHE-ECDSA-AES256-SHA384ECDHE-RSA-AES256-GCM-SHA384ECDHE-RSA-AES256-SHA384ECDHE-RSA-AES256-SHAAES256-GCM-SHA384AES256-SHA256AES256-SHADES-CBC3-SHAdefault
-
例えば、
-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 を使用して暗号を取得するには、以下の手順を実行します。
- 正しい変数で環境を設定する。
- APIコマンドで使用する変数を格納する。 以下に例を示します。
crn(文字列): リソースインスタンスの完全な エンコードされたクラウドリソース名(CRN)。 URLzone_identifier(string): ゾーン ID。
- すべての変数が開始されたら、暗号を取得する:
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 を使用して暗号を更新するには、以下の手順を実行します。
- 正しい変数で環境を設定する。
- APIコマンドで使用する変数を格納する。 以下に例を示します。
crn(文字列): リソースインスタンスの完全な エンコードされたクラウドリソース名(CRN)。 URLzone_identifier(string): ゾーン ID。value(string): 組み入れる暗号スイート。
- すべての変数が開始されたら、暗号を取得する:
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"]}'
-
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、この順序で暗号の優先順位をハードコードする。 ↩︎
-
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、この順序で暗号の優先順位をハードコードする。 ↩︎
-
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、この順序で暗号の優先順位をハードコードする。 ↩︎