Vous utilisez l'interface de ligne de commande pour remplacer le certificat racine VMCA par un certificat signé par une autorité de certification tierce qui inclut VMCA dans la chaîne de certificats. Par la suite, tous les certificats générés par VMCA incluent l'ensemble de la chaîne. Vous pouvez remplacer des certificats existants par des certificats qui viennent d'être générés.
Si vous utilisez VMCA comme autorité de certification intermédiaire ou que vous utilisez des certificats personnalisés, vous vous exposez à plus de complexité et un risque potentiel pour votre sécurité, ce qui représente une augmentation inutile dans vos risques opérationnels. Pour plus d'informations sur la gestion des certificats dans un environnement vSphere, consultez le blog intitulé Nouvelle procédure produit - Remplacement hybride des certificats SSL vSphere à l'adresse http://vmware.com/go/hybridvmca.
Remplacer le certificat racine (autorité de certification intermédiaire) à l'aide de la CLI
La première étape du remplacement des certificats VMCA par des certificats personnalisés génère une demande de signature de certificat, qui est envoyée pour être signée. Vous pouvez ensuite utiliser la CLI pour ajouter le certificat signé à VMCA en tant que certificat racine.
Vous pouvez utiliser l'utilitaire Certificate Manager ou un autre outil pour générer la demande de signature de certificat. La demande de signature de 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
- L‘extension d'autorité de certification doit être définie sur true pour les certificats racines et la signature de certification doit figurer dans la liste de conditions requises. Par exemple :
basicConstraints = critical,CA:true keyUsage = critical,digitalSignature,keyCertSign
- La signature CRL doit être activée.
- Le champ Utilisation étendue de la clé peut être vide ou contenir la valeur du champ Authentification du serveur.
- Aucune limite explicite à la longueur de la chaîne de certificats. VMCA utilise la valeur par défaut OpenSSL, qui est 10 certificats.
- Les certificats incluant des caractères génériques ou plusieurs noms DNS ne sont pas pris en charge.
- Vous ne pouvez pas créer d'autorités de certification filiales de VMCA.
Reportez-vous à l'article « Creating a Microsoft Certificate Authority Template for SSL certificate creation in vSphere 6.x » de la base de connaissances VMware à l'adresse https://kb.vmware.com/s/article/2112009 pour consulter un exemple d'utilisation de l'autorité de certification Microsoft.
- Taille de clé : de 2 048 bits (minimum) à 8 192 bits (maximum).
- Utilisation de clé : signature de certification
- Contrainte de base : autorité de certification du type de sujet
Procédure
Exemple : Remplacement du certificat racine
Remplacez le certificat racine VMCA par le certificat racine VMCA personnalisé en utilisant la commande certool avec l'option --rootca.
/usr/lib/vmware-vmca/bin/certool --rootca --cert=<path>/root.pem -–privkey=<path>/root.key
- Ajoute le nouveau certificat racine personnalisé à l'emplacement des certificats dans le système de fichiers.
- Ajoute le certificat racine personnalisé au magasin TRUSTED_ROOTS dans VECS.
- Ajoute le certificat racine personnalisé à vmdir.
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 remplacer le certificat de signature de 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 (autorité de certification intermédiaire) à l'aide de la CLI
Après avoir reçu le certificat signé de l'autorité de certification, vous pouvez utiliser la CLI pour en faire le certificat racine VMCA et remplacer tous les certificats SSL de machine.
Cette procédure est en grande partie identique à celle mise en œuvre pour le remplacement par un certificat qui utilise VMCA comme autorité de certification. Néanmoins, dans ce cas, VMCA signe tous les certificats avec la chaîne complète.
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
Pour chaque certificat SSL de machine, le SubjectAltName doit contenir DNS Name=<Machine FQDN>.
Procédure
Exemple : Remplacement des certificats SSL de machine (VMCA est l'autorité de certification intermédiaire)
- 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 = VMware OrgUnit = VMware Engineering State = California Locality = Palo Alto 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.
Remplacer les certificats d'utilisateur de solutions (autorité de certification intermédiaire) à l'aide de la CLI
Après avoir remplacé les certificats SSL de machine, vous pouvez utiliser la CLI pour remplacer les certificats d'utilisateurs de solutions.
- 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
Chaque certificat d'utilisateur de la solution doit avoir un paramètre Subject différent. Vous pouvez par exemple saisir le nom de l'utilisateur de la solution (tel que vpxd) ou un autre identifiant unique.
Procédure
Exemple : Remplacer les certificats d'utilisateurs de solution (autorité de certification intermédiaire)
- 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.