È possibile modificare le proprietà del servizio API del cluster di NSX Manager, ad esempio la versione del protocollo TLS, i pacchetti di crittografia e così via.

A partire dalla versione 4.2, la crittografia TLS 1.1 è disattivata per impostazione predefinita, ma può essere attivata dall'utente utilizzando la procedura seguente. Le crittografie supportate per TLS 1.1 sono:
  • 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
Le crittografie supportate per TLS 1.2 sono:
  • 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
Le crittografie supportate per TLS 1.3 sono:
  • TLS_AES_128_GCM_SHA256
  • TLS_AES_256_GCM_SHA384
  • TLS_CHACHA20_POLY1305_SHA256
  • A partire da NSX 4.2, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

La procedura seguente illustra il workflow di esecuzione delle chiamate al servizio NSX API per attivare il protocollo TLS 1.1 e per attivare o disattivare i pacchetti di crittografia nella configurazione del servizio API. TLS 1.1 è disattivato per impostazione predefinita. È possibile utilizzare questa stessa procedura per disattivare altre versioni di TLS in base alle esigenze. Si tenga presente che NSX supporta una versione minima e massima, pertanto il supporto di TLS 1.1 e TLS 1.3, ma TLS 1.2 non è supportato. Ad esempio, possono essere supportati TLS 1.1 e TLS 1.2 o TLS 1.2 e TLS 1.3.

Per informazioni dettagliate sullo schema dell'API, sulla richiesta di esempio, sulla risposta di esempio e sui messaggi di errore del servizio NSX API, leggere la Guida di NSX API.

Procedura

  1. Eseguire la seguente API GET per leggere la configurazione del servizio NSX API:
    GET https://<NSX-Manager-IP>/api/v1/cluster/api-service
    La risposta dell'API contiene l'elenco dei pacchetti di crittografia e dei protocolli TLS. Si noti che il supporto di TLS 1.0 non è elencato.
    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. Attivare o disattivare il protocollo TLS 1.1.
    1. Per attivare una versione di TLS, impostare TLSv1.1 su enabled = true, ad esempio. Per disattivare una versione di TLS, impostare la versione di TLS su enabled = false.
    2. Eseguire la seguente API PUT per inviare le modifiche al server NSX API:
      PUT https://<NSX-Manager-IP>/api/v1/cluster/api-service
  4. Attivare o disattivare i pacchetti di crittografia.
    1. Impostare uno o più nomi di crittografia su enabled = true o enabled = false a seconda delle proprie esigenze.
    2. Eseguire la seguente API PUT per inviare le modifiche al server NSX API:
      PUT https://<NSX-Manager-IP>/api/v1/cluster/api-service
  5. Verificare che l'attivazione sia stata completata.

risultati

Il servizio API in ogni nodo NSX Manager viene riavviato dopo essere stato aggiornato utilizzando l'API. È possibile che si verifichi un ritardo fino a un minuto tra il completamento della chiamata API e quando entra in vigore la nuova configurazione. Le modifiche apportate alla configurazione del servizio API vengono applicate a tutti i nodi nel cluster di NSX Manager.