Comment modifier les certificats des bundles VMware Vcenter Server, Replication Server et Site Recovery Manager

salut!



Quiconque utilise des produits vmware sait ou ne sait pas qu'un problÚme de certificat peut causer beaucoup de douleur et de souffrance. Par conséquent, afin de ne pas marcher sur ce rùteau, je vais montrer comment créer et modifier des certificats pour des produits tels que:



  • VMware Vcenter Server 6.7
  • Serveur de rĂ©plication VMware 8.3
  • VMware Site Recovery Manager 8.3


Pour cela, nous avons besoin de:



  • Certificats
  • Mastic
  • Un peu de patience


En préparant les certificats, j'utiliserai un serveur Windows ordinaire 2019 avec le rÎle de service de certificats Active Directory et openssl v1.1.1h



Vous pouvez le télécharger ici



1. Création de certificats



J'utiliserai un serveur local pour l'émission des certificats, mais cette méthode convient à l'émission de certificats et sur les sites commerciaux.



Préparons les demandes à l'autorité de certification.



J'ai donné des noms comme les FQDN:



  • Vcenter Server est nommĂ© vc.home.local et ip 192.168.233.11
  • VMware Replication Server que j'ai nommĂ© vr.home.local et ip 192.168.233.12
  • VMware Site Recovery Manage Ă©galement srm.home.local et ip 192.168.233.13


Pour ces noms, nous prĂ©parerons les requĂȘtes et les clĂ©s privĂ©es dans le programme openssl . Pour cela, nous allons crĂ©er un petit fichier de configuration vc.cfg avec le contenu. De plus, pour chaque nouveau serveur, je changerai le contenu de ce fichier en remplaçant les noms de serveur et les adresses IP:



[req]
default_bits = 2048
distinguished_name = req_distinguished_name
req_extensions = v3_req
prompt = no
[req_distinguished_name]
countryName = RU
stateOrProvinceName = RO
localityName = RnD
organizationName = HOME
commonName = vc.home.local ()
emailAddress = root@home.local
[v3_req]
basicConstraints = CA:FALSE
keyUsage = digitalSignature, keyEncipherment, keyAgreement
subjectAltName = @alt_names
[alt_names]
DNS.1 = vc.home.local ()
IP.2 = 192.168.233.11 ()


Ensuite, utilisez openssl



1.1 Faites vc.home.local



openssl req -batch -new -newkey rsa:2048 -nodes -keyout vc.home.local.key -out vc.home.local.req -config vc.cfg


1.2 Modifiez les noms et l'adresse IP du serveur dans vc.cfg et relĂąchez la clĂ© et la requĂȘte pour vr.home.local



openssl req -batch -new -newkey rsa:2048 -nodes -keyout vr.home.local.key -out vr.home.local.req -config vc.cfg


1.3 Modifiez les noms et l'adresse IP du serveur dans vc.cfg et relĂąchez la clĂ© et la requĂȘte pour srm.home.local



openssl req -batch -new -newkey rsa:2048 -nodes -keyout srm.home.local.key -out srm.home.local.req -config vc.cfg


1.4 De plus, vous avez besoin de certificats pour les services vcenter (vpxd, vsphere-webclient, vpxd-extension),

nous les fabriquons avec la commande:



openssl req -new -newkey rsa:2048 -nodes -keyout vpxd.key -out vpxd.req


Nous entrerons dans un petit assistant, oĂč nous entrerons des informations sur nous-mĂȘmes ou sur l'entreprise. N'oubliez pas d'Ă©crire le nom du service dans le champ "Nom commun". Nous rĂ©pĂ©tons la procĂ©dure pour les services restants. En consĂ©quence, nous obtenons une clĂ© privĂ©e et une demande de certificat.







Générer une demande de clé et de certificat



Maintenant que toutes les demandes et clĂ©s sont prĂȘtes, commençons Ă  Ă©mettre un certificat. AccĂ©dez au centre d'Ă©mission des certificats. Lancez la console de l'autoritĂ© de certification .







Ensuite, faites un clic droit (pkm) sur la racine du serveur et sélectionnez émettre une nouvelle demande.







Nous sĂ©lectionnons notre fichier de requĂȘte, avec l'extension req.



AccĂ©dez au menu Demandes en attente . Si vous l'avez vide, appuyez sur F5 et la fenĂȘtre s'actualisera. Ensuite, cliquez sur pkm et sĂ©lectionnez ProblĂšme:







Ensuite, allez dans le menu Certificats Ă©mis et ouvrez notre certificat.







Ensuite, nous devons l'enregistrer sur le disque. Pour ce faire, allez dans l'onglet Composition et cliquez sur le bouton Copier dans un fichier... Ensuite, un assistant apparaßtra pour enregistrer les fichiers, nous devons sélectionner Base64 et le nom du fichier dans ce cas vpxd.crt:







Enregistrement du certificat.



Nous répétons la procédure d'émission pour tous nos certificats /



Nous avons encore besoin d'un certificat racine. Pour ce faire, ouvrez n'importe quel certificat, allez dans l'onglet Chemin de certification , sélectionnez notre certificat racine et cliquez sur le bouton Afficher le certificat. De plus, nous l'enregistrerons également comme tous les précédents.







Et ce n'est pas tout pour VMware Replication Server et VMware Site Recovery Manager. Nous avons besoin d'un certificat et d'un conteneur de clés. pfx, c'est trÚs facile à faire, nous avons besoin de clés privées et d'un fichier de certificat:



openssl pkcs12 -export -out vr.home.local.pfx -inkey vr.home.local.key -in vr.home.local.crt


OpenSSL demande un mot de passe, trouve un mot de passe et à la sortie nous obtenons le fichier convoité.

Ceci termine la création des certificats et procÚde à leur installation.



2. Commençons par changer avec Vcenter



Pour ce faire, nous allons dans la section administration , et allons dans la section certificats . Connectez-vous en tant qu'administrateur.







Section de gestion des certificats.



Ensuite, aprĂšs ĂȘtre entrĂ© dans le panneau de contrĂŽle, tout d'abord, ajoutez un certificat racine ou des certificats racine approuvĂ©s. Faites dĂ©filer jusqu'Ă  la toute fin et appuyez sur AJOUTER. Nous sĂ©lectionnons notre certificat ca.crt







Ajouter des certificats racines de confiance



Ensuite, nous changeons les certificats actuels via l'élément de menu Remplacer:







Sélectionnez les certificats que nous avons créés pour vcenter:

Pour les services, nous sélectionnons les certificats des services créés au paragraphe 1.4



Pour les certificats __MACHINE_CERT et le certificat machine vc.home.local, créé au paragraphe 1.1







Nous avons remplacé tous les certificats disponibles à partir du panneau de contrÎle. Si votre

configuration ne contient pas les composants de VMware Replication Server et de VMware Site Recovery Manager, vous pouvez y mettre un terme et profiter du travail de VCentre aprÚs le redémarrage du serveur. Si vous utilisez un serveur autonome pour émettre des certificats, je vous conseille de faire des certificats pour 10 ans ou plus. Si vous achetez, regardez les circonstances.



Pour une reconnaissance correcte des certificats par vos navigateurs, vous devez installer le certificat racine dans le magasin de certificats du systĂšme d'exploitation.



3. Modifiez le certificat sur le serveur de réplication VMware



Commençons par le fait que vous devez installer un certificat racine sur le serveur vr, car il ne se trouve pas dans l'interface Web standard. Pour ce faire, nous devons nous connecter au serveur via ssh, mais il est désactivé par défaut. Allumons-le. Ouvrez la console de la machine virtuelle et connectez-vous en tant que root.

Nous activons le serveur ssh.



/usr/bin/enable-sshd.sh


Ensuite, vous pouvez vous connecter au serveur via putty.



Tous les certificats racine ca sont dans le conteneur jks le long du chemin /opt/vmware/hms/security/hms-truststore.jks



Mais le conteneur a un mot de passe, découvrons-le avec la commande:



/opt/vmware/hms/bin/hms-configtool -cmd list | grep keystore


Ensuite, nous sauvegardons notre ca.crt sur le serveur, je le fais généralement via des éditeurs de texte, sur l'ordinateur local, j'ouvre le certificat avec un bloc-notes et je le copie dans le presse-papiers, sur la machine distante en utilisant l'éditeur vi que je colle et enregistre. AprÚs cela, nous pouvons écrire notre certificat dans le conteneur avec la commande:



/usr/java/default/bin/keytool -import -trustcacerts -alias root -file /root/ca.crt -keystore /opt/vmware/hms/security/hms-truststore.jks -storepass     


Ensuite, nous disons oui à la demande d'ajout . Voilà, nous avons ajouté avec succÚs notre certificat racine.



Nous allons dans le panneau de configuration du serveur Ă  vr.home.local : 5480



Allez dans l'onglet Configuration , le champ Upload PKCS12 (* .pfx) file ,

sélectionnez notre fichier pfx. cliquez sur télécharger et installer la







configuration du serveur vr.



AprÚs avoir redémarré le serveur Web et connecté, nous essayons de sauvegarder la configuration avec le bouton Enregistrer et redémarrer le service:







Et nous obtenons une erreur:



Unhandled exception com.vmware.vim.vmomi.client.exception.SslException: javax.net.ssl.SSLException: Certificate thumbprint mismatch, expected:


Le serveur nous indique que les impressions de certificat des services du centre ne correspondent pas.



Ouvrez putty et connectez-vous Ă  notre centre vc.home.local. DĂ©marrez



bash avec la commande shell:







Accédez au répertoire:



cd /usr/lib/vmidentity/tools/scripts/


Et nous regardons le statut de ce service:



./lstool.py list --url https://localhost/lookupservice/sdk --no-check-cert --ep-type com.vmware.cis.cs.identity.sso 2>/dev/null






Si vous ouvrez notre certificat vc.home.local.crt dans un éditeur de texte et comparez, il s'avÚre que les certificats sont différents. Le fait est que l'interface Web du centre ne modifie pas tous les certificats.



Nous copions le contenu du certificat dans le fichier /tmp/old.crt, n'oubliez pas que le contenu du certificat doit ĂȘtre entre les balises ----- BEGIN CERTIFICATE ----- et ----- END CERTIFICATE -----



Cela devrait ressembler Ă  ceci :







Ouvrez maintenant dans un Ă©diteur de texte notre nouveau certificat dans le centre vc.home.local.crt

et copiez-le dans vc dans le fichier /tmp/new.crt



Ensuite, découvrez le hachage sha1 du fichier /tmp/old.crt, vous en aurez besoin pour remplacer les anciens certificats par Nouveau.



openssl x509 -in /tmp/old.crt -noout -fingerprint -sha1


Ensuite, exécutez le script de remplacement:



./ls_update_certs.py --url https://vc.home.local/lookupservice/sdk --fingerprint 86:0D:BB:--- ----:C7:0E:D1:3E:17:39 --certfile /tmp/new.crt --user administrator@home.local --password 


À la fin du script, le rapport contiendra le nombre de certificats remplacĂ©s.



AprÚs cela, accédez à vr.home.local: 5480 et enregistrez la configuration. Si vous avez tout fait correctement, le serveur devrait réussir à enregistrer la configuration et démarrer le service de serveur virtuel.







3. Remplacement du certificat par VMware Site Recovery Manage



Sur ce serveur, tout se fait depuis l'interface web dans le menu Certificat .



Nous allons au panneau administratif srm.home.local : 5480



  1. Ajoutez notre racine ca avec le bouton AJOUTER
  2. Changez le certificat actuel avec le bouton CHANGE







Ceci conclut le changement de tous les certificats.



Merci Ă  tous!



All Articles