Si la stratégie de votre entreprise l'exige, vous pouvez utiliser l'interface de ligne de commande pour remplacer partiellement ou totalement les certificats utilisés dans vSphere par des certificats signés par une autorité de certification d'entreprise ou tierce. Le cas échéant, VMCA n'est pas votre chaîne de certificats. Il vous incombe de stocker tous les certificats vCenter dans VECS.

Vous pouvez remplacer tous les certificats ou utiliser une solution hybride. Par exemple, envisagez de remplacer tous les certificats qui sont utilisés pour le trafic réseau mais de conserver les certificats d'utilisateurs de la solution signés par VMCA. Les certificats d'utilisateurs de solutions sont utilisés uniquement pour l'authentification auprès de vCenter Single Sign-On. vCenter Server utilise des certificats d'utilisateur de solution uniquement pour la communication interne. Les certificats d'utilisateur de solution ne sont pas utilisés pour la communication externe.
Note : Si vous ne souhaitez pas utiliser VMCA, vous devrez remplacer vous-même tous les certificats, fournir de nouveaux composants avec des certificats et suivre l'expiration des certificats.

Même si vous décidez d'utiliser des certificats personnalisés, vous pouvez toujours utiliser l'utilitaire VMware Certificate Manager pour le remplacement des certificats. Reportez-vous à la section Remplacer tous les certificats par un certificat personnalisé à l'aide de Certificate Manager.

Si vous rencontrez des problèmes avec vSphere Auto Deploy après le remplacement des certificats, consultez l'article de la base de connaissances VMware accessible à l'adresse https://kb.vmware.com/s/article/2000988.

Demander des certificats et importer un certificat racine personnalisé à l'aide de la CLI

Vous pouvez utiliser des certificats personnalisés d'une autorité de certification d'entreprise ou tierce. La première étape consiste à demander les certificats auprès de l'autorité de certification, puis à utiliser la CLI pour importer les certificats racines dans le magasin de certificats VMware Endpoint (VECS).

Conditions préalables

Le certificat doit répondre à la configuration requise suivante :

  • Taille de clé : de 2 048 bits (minimum) à 8 192 bits (maximum) (codée au format PEM)
  • Format PEM. VMware prend en charge PKCS8 et PKCS1 (clés RSA). Lorsque des clés sont ajoutées à VECS, elles sont converties en PKCS8.
  • x509 version 3
  • Pour les certificats racines, l'extension d'autorité de certification doit être définie sur vrai et la signature de certification doit figurer dans la liste de conditions requises.
  • SubjectAltName doit contenir DNS Name=<machine_FQDN>.
  • Format CRT
  • Contient les utilisations de clé suivantes : signature numérique, chiffrement de clé
  • Heure de début antérieure d'un jour à l'heure actuelle.
  • CN (et SubjectAltName) défini sur le nom de l'hôte (ou l'adresse IP) de l'hôte ESXi dans l'inventaire vCenter Server.
Note : Le certificat FIPS de vSphere valide uniquement les tailles de clé RSA de 2 048 bits et 3 072 bits.

Procédure

  1. Envoyez des demandes de signature de certificat (CSR) pour les certificats suivants à votre entreprise ou à un fournisseur tiers de certificats.
    • Un certificat SSL de machine pour chaque machine. Pour le certificat SSL de machine, le champ SubjectAltName doit contenir le nom de domaine complet (DNS NAME=FQDN_machine).
    • Le cas échéant, cinq certificats d'utilisateur de solution pour chaque nœud. Les certificats d'utilisateurs de solutions n'ont pas besoin d'inclure d'adresse IP, de nom d'hôte ou d'adresse e-mail. Chaque certificat doit avoir un sujet de certificat différent.

    En général, le résultat est un fichier PEM pour la chaîne d'approbation, plus les certificats SSL signés pour chaque nœud vCenter Server.

  2. Répertoriez les magasins TRUSTED_ROOTS et SSL de machine.
    vecs-cli store list 
    
    1. Assurez-vous que le certificat racine actuel et tous les certificats SSL de machine sont signés par VMCA.
    2. Prenez note des champs du numéro de série, de l'émetteur et du CN du sujet.
    3. (Facultatif) À l'aide d'un navigateur Web, ouvrez une connexion HTTPS à un nœud sur lequel le certificat sera remplacé, consultez les informations relatives au certificat et assurez-vous qu'elles correspondent à celles du certificat SSL de machine.
  3. Arrêtez tous les services et démarrez ceux qui gèrent la création, la propagation et le stockage des certificats.
    service-control --stop --all
    service-control --start vmafdd
    service-control --start vmdird
    service-control --start vmcad
    
  4. Publiez le certificat racine personnalisé.
    dir-cli trustedcert publish --cert <my_custom_root>
    Si vous ne spécifiez pas de nom d'utilisateur et de mot de passe sur la ligne de commande, vous êtes invité à le faire.
  5. Redémarrez tous les services.
    service-control --start --all

Que faire ensuite

Vous pouvez supprimer le certificat racine VMCA initial du magasin de certificats si la stratégie de votre entreprise l'exige. Dans ce cas, vous devez actualiser le certificat vCenter Single Sign-On. Reportez-vous à la section Remplacer un certificat STS vCenter Server à l'aide de la ligne de commande.

Remplacer les certificats SSL de machine par des certificats personnalisés à l'aide de la CLI

Après avoir reçu les certificats personnalisés, vous pouvez utiliser la CLI pour remplacer chaque certificat de machine.

Vous devez disposer des informations suivantes avant de pouvoir commencer à remplacer les certificats :
  • Mot de passe pour [email protected]
  • Certificat personnalisé SSL valide de la machine (fichier .crt)
  • Clé personnalisée SSL valide de la machine (fichier .key)
  • Certificat personnalisé valide pour Root (fichier .crt)

Conditions préalables

Vous devez avoir reçu de votre autorité de certification tierce ou d'entreprise un certificat pour chaque machine.

  • Taille de clé : de 2 048 bits (minimum) à 8 192 bits (maximum) (codée au format PEM)
  • Format CRT
  • x509 version 3
  • SubjectAltName doit contenir DNS Name=<machine_FQDN>.
  • Contient les utilisations de clé suivantes : signature numérique, chiffrement de clé

Effectuez ces étapes sur chaque hôte vCenter Server.

Procédure

  1. Sauvegardez le certificat SSL de la machine actuelle.
    /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. Connectez-vous à chaque hôte et ajoutez à VECS les nouveaux certificats de machine que vous avez reçus de l'autorité de certification.
    Le nouveau certificat doit figurer dans le magasin de certificats local de tous les hôtes pour que ceux-ci puissent communiquer sur SSL.
    1. Supprimez le certificat existant.
      /usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store MACHINE_SSL_CERT --alias __MACHINE_CERT
    2. Ajoutez le nouveau certificat.
      /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. Extrayez le hachage de l'ancien certificat à remplacer.
    openssl x509 -in <path_to_old_machinessl_certificate> -noout -sha1 -fingerprint

    Une sortie semblable à la suivante s'affiche :

    SHA1 Fingerprint=13:1E:60:93:E4:E6:59:31:55:EB:74:51:67:2A:99:F8:3F:04:83:88
  4. Mettez à jour le point de terminaison d'enregistrement de Lookup Service manuellement.
    /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>

    Si vous rencontrez des problèmes lors de l'exécution de ls_update_certs.py, reportez-vous à l'article de la base de connaissances VMware à l'adresse https://kb.vmware.com/s/article/95982.

  5. Redémarrez tous les services.
    service-control --stop --all && service-control --start --all