Une fois que vous avez généré un nouveau certificat racine signé par VMCA, vous pouvez remplacer tous les certificats SSL de machine de votre environnement.

Pourquoi et quand exécuter cette tâche

Chaque machine doit avoir un certificat SSL de machine pour la communication sécurisée avec d'autres services. Dans un déploiement à nœuds multiples, vous devez exécuter les commandes de génération de certificat SSL de la machine sur chaque nœud. Utilisez le paramètre --server pour désigner Platform Services Controller à partir d'un noeud vCenter Server avec une instance de Platform Services Controller externe.

Préambules

Soyez prêt à arrêter tous les services et à démarrer ceux qui gèrent la propagation et le stockage des certificats.

Procédure

  1. Faites une copie de certool.cfg pour toutes les machines ayant besoin d'un nouveau certificat.

    Vous pouvez rechercher certool.cfg dans l'un des emplacements suivants :

    SE

    Chemin

    Windows

    C:\Program Files\VMware\vCenter Server\vmcad

    Linux

    /usr/lib/vmware-vmca/share/config/

  2. Modifiez le fichier de configuration personnalisée de chaque machine pour inclure le nom de domaine complet de la machine.

    Exécutez NSLookup sur l'adresse IP de la machine pour voir le nom figurant dans la liste DNS et utilisez ce nom pour le champ Hostname du fichier.

  3. Générez une paire de fichiers de clé publique/privée et un certificat pour chaque fichier, en transmettant le fichier de configuration que vous venez de personnaliser.

    Par exemple :

    certool --genkey --privkey=machine1.priv --pubkey=machine1.pub
    certool --gencert --privkey=machine1.priv --cert machine1.crt --Name=Machine1_Cert --config machine1.cfg
  4. Arrêtez tous les services et démarrez ceux qui gèrent la création, la propagation et le stockage des certificats.

    Les noms de service diffèrent sur Windows et pour le vCenter Server Appliance.

    Windows

    service-control --stop --all
    service-control --start VMWareAfdService
    service-control --start VMWareDirectoryService
    service-control --start VMWareCertificateService
    

    vCenter Server Appliance

    service-control --stop --all
    service-control --start vmafdd
    service-control --start vmdird
    service-control --start vmcad
    
  5. Ajoutez le nouveau certificat à VECS.

    Le nouveau certificat doit figurer dans le magasin de certificats local de toutes les machines pour que celles-ci puissent communiquer sur SSL. Vous devez d'abord supprimer l'entrée existante, puis ajouter la nouvelle entrée.

    vecs-cli entry delete --store MACHINE_SSL_CERT --alias __MACHINE_CERT  
    vecs-cli entry create --store MACHINE_SSL_CERT --alias __MACHINE_CERT --cert machine1.cert
     --key machine1.priv
  6. Redémarrez tous les services.
    service-control --start --all
    

Remplacement des certificats SSL de la machine par des certificats signés par VMCA

  1. Créez un fichier de configuration pour le certificat SSL et enregistrez-le sous le nom ssl-config.cfg dans le répertoire actuel.

    Country = US
    Name = vmca-<PSC-FQDN-example>
    Organization = <my_company>
    OrgUnit = <my_company Engineering>
    State = <my_state> 
    Locality = <mytown>
    Hostname = <FQDN>
  2. Générez une paire de clés pour le certificat SSL de machine. Exécutez cette commande sur chaque nœud de gestion et nœud Platform Services Controller ; elle ne requiert pas d'option --server.

    C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --genkey --privkey=ssl-key.priv --pubkey=ssl-key.pub
    

    Les fichiers ssl-key.priv et ssl-key.pub sont créés dans le répertoire actuel.

  3. Générez le nouveau certificat SSL de machine. Ce certificat est signé par VMCA. Si vous remplacez le certificat racine VMCA par un certificat personnalisé, VMCA signe tous les certificats avec la chaîne complète.

    • Sur un nœud Platform Services Controller ou une installation intégrée :

      C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --gencert --cert=new-vmca-ssl.crt --privkey=ssl-key.priv --config=ssl-config.cfg
    • Sur vCenter Server (installation externe) :

      C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --gencert --cert=new-vmca-ssl.crt --privkey=ssl-key.priv --config=ssl-config.cfg --server=<psc-ip-or-fqdn>

    Le fichier new-vmca-ssl.crt est créé dans le répertoire actuel.

  4. (Facultatif) Répertoriez le contenu de VECS.

    "C:\Program Files\VMware\vCenter Server\vmafdd\" vecs-cli store list
    • Exemple de sortie sur Platform Services Controller :

      MACHINE_SSL_CERT
      TRUSTED_ROOTS
      TRUSTED_ROOT_CRLS
      machine
    • Exemple de sortie sur vCenter Server :

      output (on vCenter):
      MACHINE_SSL_CERT
      TRUSTED_ROOTS
      TRUSTED_ROOT_CRLS
      machine
      vpxd
      vpxd-extension
      vsphere-webclient
      sms
  5. Remplacez le certificat SSL de machine dans VECS par le nouveau certificat SSL de machine. Les valeurs --store et --alias doivent correspondre exactement aux noms par défaut.

    • Sur Platform Services Controller, exécutez la commande suivante pour mettre à jour le certificat SSL de machine dans le magasin MACHINE_SSL_CERT.

      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry delete --store MACHINE_SSL_CERT --alias __MACHINE_CERT
      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry create --store MACHINE_SSL_CERT --alias __MACHINE_CERT --cert new-vmca-ssl.crt --key ssl-key.priv
      
    • Sur chaque nœud de gestion ou déploiement intégré, exécutez la commande suivante pour mettre à jour le certificat SSL de machine dans le magasin MACHINE_SSL_CERT. Vous devez mettre à jour le certificat de chaque machine séparément. En effet, chaque machine possède un nom de domaine complet qui lui est propre.

      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry delete --store MACHINE_SSL_CERT --alias __MACHINE_CERT
      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry create --store MACHINE_SSL_CERT --alias __MACHINE_CERT --cert new-vmca-ssl.crt --key ssl-key.priv
      

Que faire ensuite

Vous pouvez également remplacer les certificats de vos hôtes ESXi. Consultez la publication Sécurité vSphere.

Après avoir remplacé le certificat racine dans un déploiement à nœuds multiples, vous devez redémarrer les services sur tous les noeuds vCenter Server avec une instance de Platform Services Controller externe.