設定密碼組合
密碼套件是演算法和通訊協定的組合,有助於在 TLS 握手過程中保障網路連線的安全。IBM Cloud® Internet Services 透過使用邊緣和起源密碼套件來保障網路連線的安全。
Edge 密碼組合
雲端邊緣支援下列密碼。 您可以將透過 CIS CLI 外掛程式用於網域的密碼限制為 IBM Cloud 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 |
原始密碼組合
原點支援下列密碼。 您可以將透過 CIS CLI 外掛程式用於網域的密碼限制為 IBM Cloud 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:定義 TLS 邊緣 TLS 終止的密碼套件允許清單,使用BoringSSL密碼格式。 此指令僅列出客戶明確列出 allowlisted 的密碼套件。 如果沒有列出任何密碼套件,指令會返回空清單,並使用預設的密碼套件。 如需預設密碼套件清單,請參閱 Edge cipher suites。
範例
取得網域 31984fea73a15b45779fa0df4ef62f9b 的 ciphers 設定。
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的有效值是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 default將特定設定的密碼套件,如-v AES256-SHA256,AES256-SHA,重設為預設值。
範例
啟用 tls_client_auth 為網域 31984fea73a15b45779fa0df4ef62f9b。
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(字串): 區域 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(字串): 區域 ID。value(字串): 您要包含的密碼組合。
- 當起始所有變數時,取得密碼:
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 draft 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 draft 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 draft 21)。 BoringSSL TLS 1.3,也會依此順序硬編碼密碼偏好設定。 ↩︎