設定密碼組合

密碼套件是演算法和通訊協定的組合,有助於在 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
範例

取得網域 31984fea73a15b45779fa0df4ef62f9bciphers 設定。

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 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 取得密碼,請採取下列步驟。

  1. 使用正確的變數來設定您的環境。
  2. 儲存要在 API 指令中使用的任何變數。 例如,
    • crn (字串):資源實體的完整 編碼雲端資源名稱 (CRN)。URL
    • zone_identifier (字串): 區域 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 (字串): 區域 ID。
    • value(字串): 您要包含的密碼組合。
  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 draft 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 draft 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 draft 21)。 BoringSSL TLS 1.3,也會依此順序硬編碼密碼偏好設定。 ↩︎