Se il certificato root di VMCA (VMware Certificate Authority) scadrà a breve o si desidera sostituirlo per altri motivi, è possibile utilizzare la CLI per generare un nuovo certificato root e aggiungerlo in VMware Directory Service. È quindi possibile generare nuovi certificati SSL delle macchine e certificati utente della soluzione utilizzando il nuovo certificato root.

Nella maggior parte dei casi è possibile sostituire i certificati tramite l'utilità vSphere Certificate Manager.

Se è necessario un controllo granulare, questo scenario fornisce istruzioni dettagliate per sostituire il set completo di certificati utilizzando i comandi CLI. È invece possibile sostituire solo singoli certificati utilizzando la procedura nell'attività corrispondente.

Prerequisiti

Solo [email protected] o altri utenti del gruppo CAAdmins possono eseguire attività di gestione dei certificati. Vedere Aggiunta di membri a un gruppo di vCenter Single Sign-On.

Generazione di un nuovo certificato root firmato da VMCA tramite la CLI

È possibile generare nuovi certificati firmati da VMCA con la CLI certool e pubblicare i certificati in vmdir.

Procedura

  1. In vCenter Server, generare un nuovo certificato autofirmato e una chiave privata.
    certool --genselfcacert --outprivkey <key_file_path> --outcert <cert_file_path> --config <config_file>
  2. Sostituire il certificato root esistente con il nuovo certificato.
    certool --rootca --cert <cert_file_path> --privkey <key_file_path>
    Il comando genera il certificato, lo aggiunge a vmdir e a VECS.
  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. (Facoltativo) Pubblicare il nuovo certificato root in vmdir.
    dir-cli trustedcert publish --cert newRoot.crt
    
    Il comando aggiorna immediatamente tutte le istanze di vmdir. Se non viene eseguito il comando, la propagazione del nuovo certificato a tutti i nodi potrebbe richiedere del tempo.
  5. Riavviare tutti i servizi.
    service-control --start --all

Esempio: Generazione di un nuovo certificato root firmato da VMCA

L'esempio seguente illustra tutti i passaggi per verificare le informazioni sull'autorità di certificazione root corrente e per rigenerare il certificato root.
  1. (Facoltativo) In vCenter Server, elencare il certificato root VMCA per assicurarsi che sia nell'archivio certificati.
    /usr/lib/vmware-vmca/bin/certool --getrootca 
    L'output ha un aspetto simile al seguente:
    output:
    Certificate:
        Data:
            Version: 3 (0x2)
            Serial Number:
                cf:2d:ff:49:88:50:e5:af
        ...
    
  2. (Facoltativo) Elencare l'archivio TRUSTED_ROOTS di VECS e confrontare il numero di serie del certificato con l'output del passaggio 1.
    /usr/lib/vmware-vmafd/bin/vecs-cli entry list --store TRUSTED_ROOTS --text
    
    Nel caso più semplice con un solo certificato root, l'output ha il seguente aspetto:
    Number of entries in store :    1
    Alias : 960d43f31eb95211ba3a2487ac840645a02894bd
    Entry type :    Trusted Cert
    Certificate:
        Data:
            Version: 3 (0x2)
            Serial Number:
                cf:2d:ff:49:88:50:e5:af
  3. Generare un nuovo certificato root VMCA. Il comando aggiunge il certificato all'archivio TRUSTED_ROOTS in VECS e in vmdir (VMware Directory Service).
    /usr/lib/vmware-vmca/bin/certool --selfca --config=/usr/lib/vmware-vmca/share/config/certool.cfg

Sostituzione dei certificati SSL delle macchine con certificati firmati da VMCA tramite la CLI

Dopo aver generato un nuovo certificato root firmato da VMCA, è possibile utilizzare il comando vecs-cli per sostituire tutti i certificati SSL delle macchine nell'ambiente.

Ogni macchina deve disporre di un certificato SSL della macchina per garantire la comunicazione sicura con gli altri servizi. Quando più istanze di vCenter Server sono connesse nella configurazione Modalità collegata avanzata, è necessario eseguire i comandi di generazione dei certificati SSL della macchina in ogni nodo.

Prerequisiti

Prepararsi ad arrestare tutti i servizi e avviare i servizi che gestiscono la propagazione e lo storage dei certificati.

Procedura

  1. Fare una copia di certool.cfg per ogni macchina che richiede un nuovo certificato.
    Il file certool.cfg si trova nella directory /usr/lib/vmware-vmca/share/config/.
  2. Modificare il file di configurazione personalizzato per ogni macchina in modo che includa il nome di dominio completo della macchina.
    Eseguire NSLookup rispetto all'indirizzo IP della macchina per visualizzare l'elenco DNS del nome, quindi utilizzare tale nome per il campo Nome host nel file.
  3. Generare una coppia di file di chiavi pubblica/privata e un certificato per ogni file, passando il file di configurazione appena personalizzato.
    Ad esempio:
    certool --genkey --privkey=machine1.priv --pubkey=machine1.pub
    certool --gencert --privkey=machine1.priv --cert machine1.crt --Name=Machine1_Cert --config machine1.cfg
  4. 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
    
  5. Aggiungere il nuovo certificato a VECS.
    Per comunicare tramite SSL, tutte le macchine necessitano del nuovo certificato nell'archivio dei certificati locale. È necessario prima eliminare la voce esistente per poi procedere all'aggiunta della nuova voce.
    vecs-cli entry delete --store MACHINE_SSL_CERT --alias __MACHINE_CERT  
    vecs-cli entry create --store MACHINE_SSL_CERT --alias __MACHINE_CERT --cert machine1.crt --key machine1.priv
  6. Riavviare tutti i servizi.
    service-control --start --all

Esempio: Sostituzione dei certificati macchina con certificati firmati da VMCA

  1. Creare un file di configurazione per il certificato SSL e salvarlo come ssl-config.cfg nella directory corrente.
    Country = US
    Name = vmca-<FQDN-example>
    Organization = <my_company>
    OrgUnit = <my_company Engineering>
    State = <my_state> 
    Locality = <mytown>
    Hostname = <FQDN>
  2. Generare una coppia di chiavi per il certificato SSL della macchina. In una distribuzione di più istanze di vCenter Server connesse nella configurazione Modalità collegata avanzata, eseguire questo comando in ogni nodo di vCenter Server.
    /usr/lib/vmware-vmca/bin/certool --genkey --privkey=ssl-key.priv --pubkey=ssl-key.pub
    

    I file ssl-key.priv e ssl-key.pub vengono creati nella directory corrente.

  3. Generare il nuovo certificato SSL della macchina. Questo certificato è firmato da VMCA. Se il certificato root VMCA è stato sostituito con un certificato personalizzato, VMCA firma tutti i certificati con la catena completa.
    /usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vmca-ssl.crt --privkey=ssl-key.priv --config=ssl-config.cfg

    Il file new-vmca-ssl.crt viene creato nella directory corrente.

  4. (Facoltativo) Elencare il contenuto di VECS.
    /usr/lib/vmware-vmafd/bin/vecs-cli store list
    • Output di esempio in vCenter Server:
      output (on vCenter):
      MACHINE_SSL_CERT
      TRUSTED_ROOTS
      TRUSTED_ROOT_CRLS
      machine
      vsphere-webclient
      vpxd
      vpxd-extension
      hvc
      data-encipherment
      APPLMGMT_PASSWORD
      SMS
      wcp
      KMS_ENCRYPTION
  5. Sostituire il certificato SSL della macchina in VECS con il nuovo certificato SSL della macchina. I valori --store e --alias devono corrispondere esattamente ai nomi predefiniti.
    • In ogni vCenter Server, eseguire i comandi seguenti per aggiornare il certificato SSL della macchina nell'archivio MACHINE_SSL_CERT. È necessario aggiornare il certificato per ogni macchina separatamente perché ciascuna ha un FQDN diverso.
      /usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store MACHINE_SSL_CERT --alias __MACHINE_CERT
      /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store MACHINE_SSL_CERT --alias __MACHINE_CERT --cert new-vmca-ssl.crt --key ssl-key.priv
      

Operazioni successive

È inoltre possibile sostituire i certificati per gli host ESXi. Vedere la pubblicazione Sicurezza di vSphere.

Sostituzione dei certificati utente della soluzione con nuovi certificati firmati da VMCA mediante la CLI

Dopo aver sostituito i certificati SSL delle macchine, è possibile utilizzare il comando dir-cli per sostituire tutti i certificati utente della soluzione. I certificati utente della soluzione devono essere validi, ovvero non scaduti, ma nessuna delle altre informazioni nel certificato viene utilizzata dall'infrastruttura del certificato.

Molti clienti VMware non sostituiscono i certificati utente della soluzione. Sostituiscono solo i certificati SSL delle macchine con certificati personalizzati. Questo approccio ibrido soddisfa i requisiti dei team di sicurezza.
  • I certificati possono trovarsi dietro un proxy o essere certificati personalizzati.
  • Non vengono utilizzate CA intermedie.

Sostituire il certificato utente della soluzione della macchina e il certificato utente della soluzione in ciascun sistema vCenter Server.

Nota: Quando vengono elencati i certificati utente della soluzione nelle distribuzioni di grandi dimensioni, l'output di /usr/lib/vmware-vmafd/bin/dir-cli list include tutti gli utenti della soluzione di tutti i nodi. Eseguire /usr/lib/vmware-vmafd/bin/vmafd-cli get-machine-id --server-name localhost per trovare l'ID della macchina locale per ogni host. Ciascun nome utente della soluzione include l'ID della macchina.

Prerequisiti

Prepararsi ad arrestare tutti i servizi e avviare i servizi che gestiscono la propagazione e lo storage dei certificati.

Procedura

  1. Fare una copia di certool.cfg, rimuovere i campi Nome, Indirizzo IP, Nome DNS e E-mail e rinominare il file, ad esempio con sol_usr.cfg.
    È possibile attribuire un nome ai certificati dalla riga di comando come parte della generazione. Le altre informazioni non sono necessarie per gli utenti della soluzione. Se si lasciano le informazioni predefinite, i certificati generati possono creare confusione.
  2. Generare una coppia di file di chiavi pubblica/privata e un certificato per ciascun utente della soluzione, passando il file di configurazione appena personalizzato.
    Ad esempio:
    /usr/lib/vmware-vmca/bin/certool --genkey --privkey=vpxd.priv --pubkey=vpxd.pub 
    /usr/lib/vmware-vmca/bin/certool --gencert --privkey=vpxd.priv --cert vpxd.crt --Name=VPXD_1 --config sol_usr.cfg
  3. Individuare il nome di ogni utente della soluzione.
    /usr/lib/vmware-vmafd/bin/dir-cli service list 
    
    È possibile utilizzare l'ID univoco restituito quando si sostituiscono i certificati. L'input e l'output potrebbero essere come segue:
    /usr/lib/vmware-vmafd/bin/dir-cli service list
    Enter password for [email protected]:
    1. machine-623bef28-0311-436e-b21f-6e0d39aa5179
    2. vsphere-webclient-623bef28-0311-436e-b21f-6e0d39aa5179
    3. vpxd-623bef28-0311-436e-b21f-6e0d39aa5179
    4. vpxd-extension-623bef28-0311-436e-b21f-6e0d39aa5179
    5. hvc-623bef28-0311-436e-b21f-6e0d39aa5179
    6. wcp-1cbe0a40-e4ce-4378-b5e7-9460e2b8200e
    In una distribuzione di più istanze di vCenter Server connesse nella configurazione Modalità collegata avanzata, l'output di /usr/lib/vmware-vmafd/bin/dir-cli service list include tutti gli utenti della soluzione di tutti i nodi. Eseguire /usr/lib/vmware-vmafd/bin/vmafd-cli get-machine-id --server-name localhost per trovare l'ID della macchina locale per ogni host. Ciascun nome utente della soluzione include l'ID della macchina.
  4. 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
    
  5. Per ogni utente della soluzione, sostituire il certificato esistente in vmdir e quindi in VECS.
    L'esempio seguente illustra come sostituire i certificati per il servizio vpxd.
    /usr/lib/vmware-vmafd/bin/dir-cli service update --name <vpxd-xxxx-xxx-7c7b769cd9f4> --cert ./vpxd.crt
    /usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store vpxd --alias vpxd
    /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store vpxd --alias vpxd --cert vpxd.crt --key vpxd.priv
    
    Nota: Gli utenti della soluzione non possono eseguire l'autenticazione in vCenter Single Sign-On se il certificato non viene sostituito in vmdir.
  6. Riavviare tutti i servizi.
    service-control --start --all

Esempio: Utilizzo dei certificati utente della soluzione firmata da VMCA

  1. Generare una coppia di chiavi pubblica/privata per ciascun utente della soluzione in ogni nodo di vCenter Server in una configurazione Modalità collegata avanzata. Ciò include una coppia per la soluzione della macchina e una coppia per ogni utente aggiuntivo della soluzione (vpxd, vpxd-extension, vsphere-webclient, wcp).
    1. Generare una coppia di chiavi per l'utente della soluzione della macchina.
      /usr/lib/vmware-vmca/bin/certool --genkey --privkey=machine-key.priv --pubkey=machine-key.pub
      
    2. Generare una coppia di chiavi per l'utente della soluzione vpxd in ogni nodo.
      /usr/lib/vmware-vmca/bin/certool --genkey --privkey=vpxd-key.priv --pubkey=vpxd-key.pub
    3. Generare una coppia di chiavi per l'utente della soluzione vpxd-extension in ogni nodo.
      /usr/lib/vmware-vmca/bin/certool --genkey --privkey=vpxd-extension-key.priv --pubkey=vpxd-extension-key.pub
    4. Generare una coppia di chiavi per l'utente della soluzione vsphere-webclient in ogni nodo.
      /usr/lib/vmware-vmca/bin/certool --genkey --privkey=vsphere-webclient-key.priv --pubkey=vsphere-webclient-key.pub
    5. Generare una coppia di chiavi per l'utente della soluzione wcp in ogni nodo.
      /usr/lib/vmware-vmca/bin/certool --genkey --privkey=wcp-key.priv --pubkey=wcp-key.pub
  2. Generare certificati utente della soluzione firmati mediante il nuovo certificato root VMCA per l'utente della soluzione della macchina e per ciascun utente aggiuntivo della soluzione (vpxd, vpxd-extension, vsphere-webclient, wcp) in ogni nodo di vCenter Server.
    Nota: Il parametro --Name deve essere univoco. L'inclusione del nome dell'archivio degli utenti della soluzione consente di individuare facilmente quale certificato è associato a quale utente della soluzione. L'esempio include il nome, ad esempio vpxd o vpxd-extension in ogni caso.
    1. Eseguire una copia del file /usr/lib/vmware-vmca/share/config/certool.cfg, quindi modificare o rimuovere i campi Nome, Indirizzo IP, Nome DNS e Indirizzo e-mail in base alle necessità e rinominare il file usando ad esempio sol_usr.cfg.
    2. Generare un certificato per l'utente della soluzione della macchina in ogni nodo.
      /usr/lib/vmware-vmca/bin/certool --gencert --cert=new-machine.crt --privkey=machine-key.priv --Name=machine --config sol_usr.cfg
    3. Generare un certificato per l'utente della soluzione vpxd in ogni nodo.
      /usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vpxd.crt --privkey=vpxd-key.priv --Name=vpxd --config sol_usr.cfg
      
    4. Generare un certificato per l'utente della soluzione vpxd-extensions in ogni nodo.
      /usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vpxd-extension.crt --privkey=vpxd-extension-key.priv --Name=vpxd-extension --config sol_usr.cfg
    5. Generare un certificato per l'utente della soluzione vsphere-webclient in ogni nodo eseguendo il comando seguente.
      /usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vsphere-webclient.crt --privkey=vsphere-webclient-key.priv --Name=vsphere-webclient --config sol_usr.cfg
    6. Generare un certificato per l'utente della soluzione wcp in ogni nodo eseguendo il comando seguente.
      /usr/lib/vmware-vmca/bin/certool --gencert --cert=new-wcp.crt --privkey=wcp-key.priv --Name=wcp --config sol_usr.cfg
  3. Sostituire i certificati utente della soluzione in VECS con i nuovi certificati utente della soluzione.
    Nota: I parametri --store e --alias devono corrispondere esattamente ai nomi predefiniti per i servizi.
    1. Sostituire il certificato utente della soluzione della macchina in ogni nodo:
      /usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store machine --alias machine
      /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store machine --alias machine --cert new-machine.crt --key machine-key.priv
      
    2. Sostituire il certificato utente della soluzione vpxd in ogni nodo.
      /usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store vpxd --alias vpxd
      /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store vpxd --alias vpxd --cert new-vpxd.crt --key vpxd-key.priv
      
    3. Sostituire il certificato utente della soluzione vpxd-extension in ogni nodo.
      /usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store vpxd-extension --alias vpxd-extension
      /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store vpxd-extension --alias vpxd-extension --cert new-vpxd-extension.crt --key vpxd-extension-key.priv
      
    4. Sostituire il certificato utente della soluzione vsphere-webclient in ogni nodo.
      /usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store vsphere-webclient --alias vsphere-webclient
      /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store vsphere-webclient --alias vsphere-webclient --cert new-vsphere-webclient.crt --key vsphere-webclient-key.priv
      
    5. Sostituire il certificato utente della soluzione wcp in ogni nodo.
      /usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store wcp --alias wcp
      /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store wcp --alias wcp --cert new-wcp.crt --key wcp-key.priv
      
  4. Aggiornare VMware Directory Service (vmdir) con i nuovi certificati utente della soluzione. Viene richiesta una password amministratore di vCenter Single Sign-On.
    1. Eseguire /usr/lib/vmware-vmafd/bin/dir-cli service list per ottenere il suffisso ID del servizio univoco per ogni utente della soluzione. Eseguire il comando in un sistema vCenter Server.
      /usr/lib/vmware-vmafd/bin/dir-cli service list
      output:
      1. machine-623bef28-0311-436e-b21f-6e0d39aa5179
      2. vsphere-webclient-623bef28-0311-436e-b21f-6e0d39aa5179
      3. vpxd-623bef28-0311-436e-b21f-6e0d39aa5179
      4. vpxd-extension-623bef28-0311-436e-b21f-6e0d39aa5179
      5. hvc-623bef28-0311-436e-b21f-6e0d39aa5179
      6. wcp-1cbe0a40-e4ce-4378-b5e7-9460e2b8200e
      Nota: Quando vengono elencati i certificati utente della soluzione nelle distribuzioni di grandi dimensioni, l'output di /usr/lib/vmware-vmafd/bin/dir-cli list include tutti gli utenti della soluzione di tutti i nodi. Eseguire /usr/lib/vmware-vmafd/bin/vmafd-cli get-machine-id --server-name localhost per trovare l'ID della macchina locale per ogni host. Ciascun nome utente della soluzione include l'ID della macchina.
    2. Sostituire il certificato macchina in vmdir in ogni nodo di vCenter Server. Ad esempio, se l'utente della soluzione della macchina in vCenter Server è machine-6fd7f140-60a9-11e4-9e28-005056895a69, eseguire il comando seguente:
      /usr/lib/vmware-vmafd/bin/dir-cli service update --name machine-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-machine.crt
    3. Sostituire il certificato utente della soluzione vpxd in vmdir in ogni nodo. Ad esempio, se l'ID utente della soluzione vpxd è vpxd-6fd7f140-60a9-11e4-9e28-005056895a69, eseguire il comando seguente:
      /usr/lib/vmware-vmafd/bin/dir-cli service update --name vpxd-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-vpxd.crt
    4. Sostituire il certificato utente della soluzione vpxd-extension in vmdir in ogni nodo. Ad esempio, se l'ID utente della soluzione vpxd-extension è vpxd-extension-6fd7f140-60a9-11e4-9e28-005056895a69, eseguire il comando seguente:
      /usr/lib/vmware-vmafd/bin/dir-cli service update --name vpxd-extension-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-vpxd-extension.crt
      
    5. Sostituire il certificato utente della soluzione vsphere-webclient in ogni nodo. Ad esempio, se l'ID utente della soluzione vsphere-webclient è vsphere-webclient-6fd7f140-60a9-11e4-9e28-005056895a69, eseguire il comando seguente:
      /usr/lib/vmware-vmafd/bin/dir-cli service update --name vsphere-webclient-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-vsphere-webclient.crt
      
    6. Sostituire il certificato utente della soluzione wcp in ogni nodo. Ad esempio, se l'ID utente della soluzione wcp è wcp-1cbe0a40-e4ce-4378-b5e7-9460e2b8200e, eseguire il comando seguente:
      /usr/lib/vmware-vmafd/bin/dir-cli service update --name wcp-1cbe0a40-e4ce-4378-b5e7-9460e2b8200e --cert new-wcp.crt
      

Operazioni successive

Riavviare tutti i servizi di in ogni nodo di vCenter Server.