Se i criteri dell'azienda lo richiedono, è possibile utilizzare la CLI per sostituire alcuni o tutti i certificati utilizzati in vSphere con certificati firmati da un'autorità di certificazione di terze parti o aziendale. In questo caso, VMCA non è incluso nella catena di certificati. L'utente è responsabile dello storage di tutti i certificati vCenter in VECS.

È possibile sostituire tutti i certificati o utilizzare una soluzione ibrida. Ad esempio, è possibile sostituire tutti i certificati utilizzati per il traffico di rete, lasciando tuttavia i certificati utente della soluzione firmata da VMCA. I certificati utente della soluzione vengono utilizzati solo per l'autenticazione in vCenter Single Sign-On. vCenter Server utilizza i certificati utente della soluzione solo per le comunicazioni interne. I certificati degli utenti della soluzione non vengono utilizzati per le comunicazioni esterne.
Nota: Se si preferisce non utilizzare VMCA, l'utente deve occuparsi autonomamente della sostituzione di tutti i certificati, del provisioning di nuovi componenti con certificati e del tracciamento delle scadenza dei certificati.

Anche se si decide di utilizzare certificati personalizzati, è comunque possibile utilizzare l'utilità Gestione certificati di VMware per la sostituzione dei certificati. Vedere Sostituzione di tutti i certificati con un certificato personalizzato tramite Certificate Manager.

Se si verificano problemi relativi a vSphere Auto Deploy dopo la sostituzione dei certificati, vedere l'articolo della Knowledge Base di VMware all'indirizzo https://kb.vmware.com/s/article/2000988.

Richiesta di certificati e importazione di un certificato root personalizzato tramite la CLI

È possibile utilizzare certificati personalizzati di un'autorità di certificazione aziendale o di terze parti. Il primo passaggio consiste nel richiedere i certificati all'autorità di certificazione e quindi utilizzare la CLI per importare i certificati root in VMware Endpoint Certificate Store (VECS).

Prerequisiti

Il certificato deve soddisfare i seguenti requisiti:

  • Dimensioni chiave: da 2048 bit (minimo) a 8192 bit (massimo) (con codifica PEM)
  • Formato PEM. VMware supporta PKCS8 e PKCS1 (chiavi RSA). Quando le chiavi vengono aggiunte in VECS, vengono convertite in PKCS8.
  • x509 versione 3
  • Per i certificati root, l'estensione CA deve essere impostata su true e la firma del certificato deve essere presente nell'elenco dei requisiti.
  • SubjectAltName deve contenere DNS Name=<machine_FQDN>.
  • Formato CRT
  • Contiene i seguenti Utilizzi chiavi: Firma digitale, Crittografia chiave
  • Ora di inizio un giorno prima dell'ora corrente.
  • CN (e SubjectAltName) impostato sul nome host (o indirizzo IP) che l'host ESXi ha nell'inventario di vCenter Server.
Nota: Il certificato FIPS di vSphere convalida solo dimensioni della chiave RSA di 2048 bit e 3072 bit.

Procedura

  1. Inviare le richieste di firma del certificato (CSR) per i seguenti certificati al fornitore di certificati aziendale o di terze parti.
    • Un certificato SSL della macchina per ogni macchina. Per il certificato SSL della macchina, il campo SubjectAltName deve contenere il nome dominio completo (DNS NAME=machine_FQDN).
    • Facoltativamente, cinque certificati utente della soluzione per ogni nodo. I certificati utente della soluzione non devono necessariamente includere l'indirizzo IP, il nome host o l'indirizzo e-mail. Ogni certificato deve avere un oggetto di certificato.

    Il risultato è in genere un file PEM che contiene la catena attendibile, oltre ai certificati SSL firmati relativi a ogni nodo vCenter Server.

  2. Elencare TRUSTED_ROOTS e l'archivio SSL delle macchine.
    vecs-cli store list 
    
    1. Assicurarsi che il certificato root corrente e tutti i certificati SSL delle macchine siano firmati da VMCA.
    2. Prendere nota dei campi Serial number, Issuer e Subject CN.
    3. (Facoltativo) Con un browser Web, aprire una connessione HTTPS con un nodo in cui si desidera sostituire il certificato, visualizzare le informazioni sul certificato e assicurarsi che corrispondano al certificato SSL della macchina.
  3. Arrestare tutti i servizi e avviare i servizi che gestiscono la creazione, la propagazione e lo storage dei certificati.
    service-control --stop --all
    service-control --start vmafdd
    service-control --start vmdird
    service-control --start vmcad
    
  4. Pubblicare il certificato root personalizzato.
    dir-cli trustedcert publish --cert <my_custom_root>
    Viene visualizzata la richiesta di immettere nome utente e password, se non sono stati specificati nella riga di comando.
  5. Riavviare tutti i servizi.
    service-control --start --all

Operazioni successive

È possibile rimuovere il certificato root VMCA originale dall'archivio dei certificati se richiesto dai criteri dell'azienda. In caso contrario, è necessario aggiornare il certificato vCenter Single Sign-On. Vedere Sostituzione di un certificato STS di vCenter Server tramite la riga di comando.

Sostituzione dei certificati SSL delle macchine con certificati personalizzati tramite la CLI

Dopo aver ricevuto i certificati personalizzati, è possibile utilizzare la CLI per sostituire ciascun certificato della macchina.

Prima di iniziare a sostituire i certificati, è necessario disporre delle informazioni seguenti:
  • Password per [email protected]
  • Certificato personalizzato SSL della macchina valido (file .crt)
  • Chiave personalizzata SSL della macchina valida (file .key)
  • Certificato personalizzato valido per root (file .crt)

Prerequisiti

È necessario aver ricevuto un certificato per ogni macchina dall'autorità di certificazione di terze parti o aziendale.

  • Dimensioni chiave: da 2048 bit (minimo) a 8192 bit (massimo) (con codifica PEM)
  • Formato CRT
  • x509 versione 3
  • SubjectAltName deve contenere DNS Name=<machine_FQDN>.
  • Contiene i seguenti Utilizzi chiavi: Firma digitale, Crittografia chiave

Eseguire i passaggi in ogni host vCenter Server.

Procedura

  1. Eseguire il backup del certificato SSL della macchina corrente.
    /usr/lib/vmware-vmafd/bin/vecs-cli entry getcert --store MACHINE_SSL_CERT --alias __MACHINE_CERT > oldmachine.crt
    /usr/lib/vmware-vmafd/bin/vecs-cli entry getkey --store MACHINE_SSL_CERT --alias __MACHINE_CERT > oldmachinekey.key
  2. Accedere a ciascun host e aggiungere i nuovi certificati macchina ricevuti dall'autorità di certificazione in VECS.
    Per comunicare tramite SSL, tutti gli host necessitano del nuovo certificato nell'archivio dei certificati locale.
    1. Eliminare il certificato esistente.
      /usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store MACHINE_SSL_CERT --alias __MACHINE_CERT
    2. Aggiungere il nuovo certificato.
      /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store MACHINE_SSL_CERT --alias __MACHINE_CERT --cert <cert-file-path> --key <key-file-path>
  3. Estrarre l'hash del vecchio certificato da sostituire.
    openssl x509 -in <path_to_old_machinessl_certificate> -noout -sha1 -fingerprint

    Viene visualizzato un output simile al seguente:

    SHA1 Fingerprint=13:1E:60:93:E4:E6:59:31:55:EB:74:51:67:2A:99:F8:3F:04:83:88
  4. Aggiornare manualmente l'endpoint di registrazione del servizio di ricerca.
    /usr/lib/vmware-lookupsvc/tools/ls_update_certs.py --url https://<vCenterServer_FQDN>/lookupservice/sdk --certfile <cert-file-path> --user '[email protected]' --password '<password>' --fingerprint <SHA1_hash_of_the_old_certificate_to_replace>

    Se si verificano problemi durante l'esecuzione di ls_update_certs.py, vedere l'articolo della Knowledge Base di VMware all'indirizzo https://kb.vmware.com/s/article/95982.

  5. Riavviare tutti i servizi.
    service-control --stop --all && service-control --start --all