您可以修改 NSX Manager 叢集的 API 服務內容,例如 TLS 通訊協定版本與加密套件等。

從 4.2 開始,依預設,TLS 1.1 密碼會停用,但使用者可透過下列程序來啟用。TLS 1.1 支援的密碼包括:
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
  • TLS_RSA_WITH_AES_128_CBC_SHA
  • TLS_RSA_WITH_AES_256_CBC_SHA
TLS 1.2 支援的密碼包括:
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_RSA_WITH_AES_128_CBC_SHA
  • TLS_RSA_WITH_AES_128_CBC_SHA256
  • TLS_RSA_WITH_AES_128_GCM_SHA256
  • TLS_RSA_WITH_AES_256_CBC_SHA
  • TLS_RSA_WITH_AES_256_CBC_SHA256
  • TLS_RSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS 1.3 支援的密碼包括:
  • TLS_AES_128_GCM_SHA256
  • TLS_AES_256_GCM_SHA384
  • TLS_CHACHA20_POLY1305_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (從 NSX 4.2 開始支援)

下列程序說明執行 NSX API 服務呼叫以啟用 TLS 1.1 通訊協定,以及在 API 服務組態中啟用或停用加密套件的工作流程。依預設,會停用 TLS 1.1。您可以使用這項相同程序,視需要停用其他 TLS 版本。請注意,NSX 支援最低和最高版本,因此支援 TLS 1.1 和 TLS 1.3,但不支援 TLS 1.2。例如,可以支援 TLS 1.1 和 TLS 1.2,或 TLS 1.2 和 TLS 1.3。

如需關於 API 結構描述、範例要求、範例回應,以及 NSX API 服務之錯誤訊息的詳細資訊,請閱讀NSX API 指南

程序

  1. 執行下列 GET API 以讀取 NSX API 服務的組態:
    GET https://<NSX-Manager-IP>/api/v1/cluster/api-service
    API 回應會包含加密套件和 TLS 通訊協定的清單。請注意,未列出 TLS 1.0 支援。
    curl -u admin:${PASSWORD} -i -k https://$IP/api/v1/cluster/api-service  "protocol_versions" : [ {
        "name" : "TLSv1.1",
        "enabled" : false
      }, {
        "name" : "TLSv1.2",
        "enabled" : true
      }, {
        "name" : "TLSv1.3",
        "enabled" : true
      } ],

  2. curl -u admin:${PASSWORD} -i -k https://$IP/api/v1/cluster/api-service
    {
      "global_api_concurrency_limit": 199,
      "client_api_rate_limit": 100,
      "client_api_concurrency_limit": 40,
      "connection_timeout": 30,
      "redirect_host": "",
      "cipher_suites": [
        {"enabled": true, "name": "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"},
        {"enabled": true, "name": "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"},
        {"enabled": true, "name": "TLS_RSA_WITH_AES_256_GCM_SHA384"},
        {"enabled": true, "name": "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"},
        {"enabled": true, "name": "TLS_RSA_WITH_AES_128_GCM_SHA256"}
        {"enabled": true, "name": "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384}",
        {"enabled": true, "name": "TLS_RSA_WITH_AES_256_CBC_SHA256"},
        {"enabled": true, "name": "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA"},
        {"enabled": true, "name": "TLS_RSA_WITH_AES_256_CBC_SHA"},
        {"enabled": true, "name": "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"},
        {"enabled": true, "name": "TLS_RSA_WITH_AES_128_CBC_SHA256"},
        {"enabled": false, "name": "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA"},
        {"enabled": false, "name": "TLS_RSA_WITH_AES_128_CBC_SHA"}
        {"enabled": false, "name": "TLS_RSA_WITH_AES_128_CBC_SHA"}         
      ],
      "protocol_versions": [
        {"enabled": false, "name": "TLSv1.1"},
        {"enabled": true, "name": "TLSv1.2"}
        {"enabled": true, "name": "TLSv1.3"}]
    }
  3. 啟用或停用 TLS 1.1 通訊協定。
    1. 若要啟用 TLS 版本,舉例來說,可將 TLSv1.1 設定為 enabled = true。若要停用 TLS 版本,請將 TLS 版本設定為 enabled = false
    2. 執行下列 PUT API,將變更傳送至 NSX API 伺服器:
      PUT https://<NSX-Manager-IP>/api/v1/cluster/api-service
  4. 啟用或停用加密套件。
    1. 根據您的需求,將一或多個加密名稱設定為 enabled = trueenabled = false
    2. 執行下列 PUT API,將變更傳送至 NSX API 伺服器:
      PUT https://<NSX-Manager-IP>/api/v1/cluster/api-service
  5. 確認已完成啟用。

結果

每個 NSX Manager 節點上的 API 服務在使用 API 更新後,都會重新啟動。從 API 呼叫完成到新組態生效,最多可能會有一分鐘的延遲。API 服務組態中的變更會套用至 NSX Manager 叢集中的所有節點。