Si le certificat racine VMware Certificate Authority (VMCA) expire dans un avenir proche ou si vous voulez le remplacer pour d'autres raisons, vous pouvez utiliser la CLI pour générer un nouveau certificat racine et l'ajouter au service d'annuaire VMware. Vous pouvez alors générer de nouveaux certificats SSL de machine et certificats d'utilisateurs de solutions au moyen du nouveau certificat racine.
Faites appel à l'utilitaire vSphere Certificate Manager pour remplacer les certificats dans la plupart des cas.
Si vous avez besoin d'un contrôle précis, ce scénario fournit des instructions pas à pas permettant de remplacer l'ensemble complet de certificats au moyen de commandes d'interface de ligne de commande. Vous pouvez remplacer uniquement des certificats individuels au moyen de la procédure indiquée dans la tâche correspondante.
Conditions préalables
Seul l'utilisateur [email protected] ou d'autres utilisateurs du groupe peuvent effectuer des tâches de gestion de certificats. Reportez-vous à la section Ajouter des membres à un groupe vCenter Single Sign-On.
Générer un nouveau certificat racine signé par VMCA à l'aide de la CLI
Vous pouvez générer de nouveaux certificats signés par VMCA avec la CLI certool et les publier dans vmdir.
Procédure
Exemple : Générer un nouveau certificat racine signé par VMCA
- (Facultatif) Dans vCenter Server, affichez le certificat racine VMCA pour vous assurer qu'il se trouve dans le magasin de certificats.
/usr/lib/vmware-vmca/bin/certool --getrootca
Le résultat est semblable à ce qui suit :output: Certificate: Data: Version: 3 (0x2) Serial Number: cf:2d:ff:49:88:50:e5:af ...
- (Facultatif) Affichez le magasin VECS TRUSTED_ROOTS et comparez le numéro de série du certificat qui s'y trouve au résultat de l'étape 1.
/usr/lib/vmware-vmafd/bin/vecs-cli entry list --store TRUSTED_ROOTS --text
Dans le cas le plus simple avec un seul certificat racine, le résultat est semblable à ce qui suit :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
- Générez un nouveau certificat racine VMCA. La commande ajoute le certificat au magasin TRUSTED_ROOTS dans VECS et dans vmdir (Vmware Directory Service).
/usr/lib/vmware-vmca/bin/certool --selfca --config=/usr/lib/vmware-vmca/share/config/certool.cfg
Remplacer les certificats SSL de machine par des certificats signés par VMCA à l'aide de la CLI
Une fois que vous avez généré un nouveau certificat racine signé par VMCA, vous pouvez utiliser la commande vecs-cli pour remplacer tous les certificats SSL de machine de votre environnement.
Chaque machine doit avoir un certificat SSL de machine pour la communication sécurisée avec d'autres services. Lorsque plusieurs instances de vCenter Server sont connectées dans une configuration Enhanced Linked Mode, vous devez exécuter les commandes de génération de certificat SSL de machine sur chaque nœud.
Conditions préalables
Soyez prêt à arrêter tous les services et à démarrer ceux qui gèrent la propagation et le stockage des certificats.
Procédure
Exemple : Remplacement des certificats SSL de la machine par des certificats signés par VMCA
- 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-<FQDN-example> Organization = <my_company> OrgUnit = <my_company Engineering> State = <my_state> Locality = <mytown> Hostname = <FQDN>
- Générez une paire de clés pour le certificat SSL de machine. Dans un déploiement de plusieurs instances de vCenter Server connectées dans une configuration Enhanced Linked Mode, exécutez cette commande sur chaque nœud vCenter Server.
/usr/lib/vmware-vmca/bin/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.
- 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.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vmca-ssl.crt --privkey=ssl-key.priv --config=ssl-config.cfg
Le fichier new-vmca-ssl.crt est créé dans le répertoire actuel.
- (Facultatif) Répertoriez le contenu de VECS.
/usr/lib/vmware-vmafd/bin/vecs-cli store list
- Exemple de sortie sur 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
- Exemple de sortie sur vCenter Server :
- 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 chaque instance de vCenter Server, exécutez les commandes suivantes 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.
/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
- Sur chaque instance de vCenter Server, exécutez les commandes suivantes 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.
Que faire ensuite
Vous pouvez également remplacer les certificats de vos hôtes ESXi. Consultez la publication Sécurité vSphere.
Remplacer les certificats d'utilisateurs de solution par de nouveaux certificats signés par VMCA à l'aide l'interface de ligne de commande
Après avoir remplacé les certificats SSL de la machine, vous pouvez utiliser la commande dir-cli pour remplacer tous les certificats des utilisateurs de solutions. Les certificats d'utilisateurs de solutions doivent être valides (ils ne sont pas arrivés à expiration), mais l'infrastructure de certificats n'utilise aucune des autres informations d'un certificat.
- Les certificats se trouvent derrière un proxy, ou ce sont des certificats personnalisés.
- Aucune autorité de certification intermédiaire n'est utilisée.
Vous remplacez le certificat d'utilisateur de solution de machine et le certificat d'utilisateur de solution sur chaque système vCenter Server.
Conditions préalables
Soyez prêt à arrêter tous les services et à démarrer ceux qui gèrent la propagation et le stockage des certificats.
Procédure
Exemple : Utilisation des certificats d'utilisateurs de solutions signés par VMCA
- Générez une paire de clé publique/privée pour chaque utilisateur de solution sur chaque nœud vCenter Server dans une configuration Enhanced Linked Mode. Cela inclut une paire pour la solution de machine et une paire pour chaque utilisateur de solution supplémentaire (vpxd, vpxd-extension, vsphere-webclient, wcp).
- Générez une paire de clés pour l'utilisateur de solution de machine.
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=machine-key.priv --pubkey=machine-key.pub
- Générez une paire de clés pour l'utilisateur de solution vpxd sur chaque nœud.
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=vpxd-key.priv --pubkey=vpxd-key.pub
- Générez une paire de clés pour l'utilisateur de solution vpxd-extension sur chaque nœud.
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=vpxd-extension-key.priv --pubkey=vpxd-extension-key.pub
- Générez une paire de clés pour l'utilisateur de solution vsphere-webclient sur chaque nœud.
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=vsphere-webclient-key.priv --pubkey=vsphere-webclient-key.pub
- Générez une paire de clés pour l'utilisateur de solution wcp sur chaque nœud.
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=wcp-key.priv --pubkey=wcp-key.pub
- Générez une paire de clés pour l'utilisateur de solution de machine.
- Générez des certificats d'utilisateurs de solutions qui sont signés par le nouveau certificat racine VMCA pour l'utilisateur de solution de machine et pour chaque utilisateur de solution supplémentaire (vpxd, vpxd-extension, vsphere-webclient, wcp) sur chaque nœud vCenter Server.
Note : Le paramètre --Name doit être unique. Le fait d'inclure le nom du magasin de l'utilisateur de solution permet de voir facilement la correspondance entre un certificat et un utilisateur de solution. L'exemple inclut le nom, par exemple vpxd ou vpxd-extension, dans chaque cas.
- Faites une copie du fichier /usr/lib/vmware-vmca/share/config/certool.cfg, puis modifiez ou supprimez les champs Nom, Adresse IP, Nom DNS et E-mail si nécessaire, puis renommez le fichier (par exemple, sol_usr.cfg).
- Générez un certificat pour l'utilisateur de solution de machine sur chaque nœud.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-machine.crt --privkey=machine-key.priv --Name=machine --config sol_usr.cfg
- Générez un certificat pour l'utilisateur de solution vpxd sur chaque nœud.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vpxd.crt --privkey=vpxd-key.priv --Name=vpxd --config sol_usr.cfg
- Générez un certificat pour l'utilisateur de solution vpxd-extensions sur chaque nœud.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vpxd-extension.crt --privkey=vpxd-extension-key.priv --Name=vpxd-extension --config sol_usr.cfg
- Générez un certificat pour l'utilisateur de solution vsphere-webclient sur chaque nœud en exécutant la commande suivante.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vsphere-webclient.crt --privkey=vsphere-webclient-key.priv --Name=vsphere-webclient --config sol_usr.cfg
- Générez un certificat pour l'utilisateur de solution wcp sur chaque nœud en exécutant la commande suivante.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-wcp.crt --privkey=wcp-key.priv --Name=wcp --config sol_usr.cfg
- Remplacez les certificats d'utilisateurs de solutions dans VECS par les nouveaux certificats d'utilisateurs de solutions.
Note : Les paramètres --store et --alias doivent correspondre exactement aux noms par défaut des services.
- Remplacez le certificat d'utilisateur de solution de machine sur chaque nœud :
/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
- Remplacez le certificat d'utilisateur de solution vpxd sur chaque nœud.
/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
- Remplacez le certificat d'utilisateur de solution vpxd-extension sur chaque nœud.
/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
- Remplacez le certificat d'utilisateur de solution vsphere-webclient sur chaque nœud.
/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
- Remplacez le certificat d'utilisateur de solution wcp sur chaque nœud.
/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
- Remplacez le certificat d'utilisateur de solution de machine sur chaque nœud :
- Mettez à jour VMware Directory Service (vmdir) avec les nouveaux certificats d'utilisateurs de solutions. Vous êtes invité à entrer un mot de passe d'administrateur vCenter Single Sign-On.
- Exécutez /usr/lib/vmware-vmafd/bin/dir-cli service list pour obtenir le suffixe d'ID de service unique pour chaque utilisateur de solution. Vous exécutez cette commande sur un système 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
Note : Lorsque vous répertoriez les certificats d'utilisateurs de solutions dans des déploiements importants, le résultat de /usr/lib/vmware-vmafd/bin/dir-cli list inclut tous les utilisateurs de solutions de tous les nœuds. Exécutez /usr/lib/vmware-vmafd/bin/vmafd-cli get-machine-id --server-name localhost pour rechercher l'ID de machine locale de chaque hôte. Chaque nom d'utilisateur de solution comprend l'ID de machine. - Remplacez le certificat de machine dans vmdir sur chaque nœud vCenter Server. Par exemple, si machine-6fd7f140-60a9-11e4-9e28-005056895a69 correspond à l'utilisateur de solution de machine sur vCenter Server, exécutez la commande suivante :
/usr/lib/vmware-vmafd/bin/dir-cli service update --name machine-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-machine.crt
- Remplacez le certificat d'utilisateur de solution vpxd dans vmdir sur chaque nœud. Par exemple, si vpxd-6fd7f140-60a9-11e4-9e28-005056895a69 correspond à l'ID d'utilisateur de solution vpxd, exécutez la commande suivante :
/usr/lib/vmware-vmafd/bin/dir-cli service update --name vpxd-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-vpxd.crt
- Remplacez le certificat d'utilisateur de solution vpxd-extension dans vmdir sur chaque nœud. Par exemple, si vpxd-extension-6fd7f140-60a9-11e4-9e28-005056895a69 correspond à l'ID d'utilisateur de solution vpxd-extension, exécutez la commande suivante :
/usr/lib/vmware-vmafd/bin/dir-cli service update --name vpxd-extension-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-vpxd-extension.crt
- Remplacez le certificat d'utilisateur de solution vsphere-webclient sur chaque nœud. Par exemple, si vsphere-webclient-6fd7f140-60a9-11e4-9e28-005056895a69 correspond à l'ID d'utilisateur de solution vsphere-webclient, exécutez la commande suivante :
/usr/lib/vmware-vmafd/bin/dir-cli service update --name vsphere-webclient-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-vsphere-webclient.crt
- Remplacez le certificat d'utilisateur de solution wcp sur chaque nœud. Par exemple, si wcp-1cbe0a40-e4ce-4378-b5e7-9460e2b8200e correspond à l'ID d'utilisateur de solution wcp, exécutez la commande suivante :
/usr/lib/vmware-vmafd/bin/dir-cli service update --name wcp-1cbe0a40-e4ce-4378-b5e7-9460e2b8200e --cert new-wcp.crt
- Exécutez /usr/lib/vmware-vmafd/bin/dir-cli service list pour obtenir le suffixe d'ID de service unique pour chaque utilisateur de solution. Vous exécutez cette commande sur un système vCenter Server.
Que faire ensuite
Redémarrez tous les services sur chaque nœud vCenter Server.