J’en avais assez des avertissement concernant le certificat autosigné à chaque fois que je me connectais au vCenter Appliance via le navigateur. J’ai donc décidé de changer son certificat pour un certificat approuvé par une autorité de certification.
C’est un lab, donc il n’était pas question d’acheter un certificat auprès d’une autorité publique, mais l’autorité de certification d’Active Directory pouvait parfaitement faire l’affaire.
- Autorité de certification
- Génération de la demande de certificat
- Génération du certificat
- Import du certificat dans le vCenter
- Plus d’erreur de certificat
Autorité de certification
La première étape a consisté à installer et configurer le rôle Certification Authority sur un contrôleur de domaine. Rien de compliqué là dedans, j’ai simplement suivi l’assistant.
Par contre je m’y suis repris à deux fois, car j’avais d’abord opté pour sur SHA1 qui me semblait bien suffisant pour un lab, et je me suis ensuite aperçu que Chrome considère depuis quelque temps que SHA1 n’est plus assez fiable. J’ai donc réinstallé l’autorité de certification avec sur SHA512.
J’ai choisi de créer un certificat de type Web Server, mais comme je n’avais pas envie de me faire piéger avec les 2 ans d’expiration en oubliant de le renouveler, j’ai créé un template de certificat Web Server valable 10 ans. D’ici là, j’aurai changé de lab depuis longtemps…
Génération de la demande de certificat
Se connecter en SSH sur le vCenter, et lancer la commande suivante.
/usr/lib/vmware-vmca/bin/certificate-manager |
Choisir l’option 1 « Replace Machine SSL certificate with Custom Certificate ».
Saisir le compte et le mot de passe d’un administrateur du domaine SSO.
Choisir l’option 1 « Generate Certificate Signing Request(s) and Key(s) for Machine SSL certificate ».
Indiquer le chemin dans lequel doit être sauvegardé la demande de certificat.
Si l’utilitaire a déjà été utilisé, un fichier de configuration peut déjà exister, dans ce cas une question demande si on veut reconfigurer. Si non, il sera utilisé.
Entrer les différentes informations nécessaires au certificat. La plus importante étant le FQDN.
La demande de certificat est générée, on peut voir les deux fichiers générés : vmca_issued_csr.csr qui est la requête proprement dite, et vmca_issued_key.key qui est la cléf.
Génération du certificat
Récupérer le fichier vmca_issued_csr.csr, le copier sur le serveur autorité de certification, et passer la commande suivante :
certreq -submit -attrib "CertificateTemplate:WebServer" vmca_issued_csr.csr |
Choisir l’emplacement de sauvegarde du certificat.
Le certificat est généré.
Le certificat généré est écrit en « clair », et peut s’ouvrir dans Notepad.
Cependant il n’est pas complet. Il ne contient que le certificat du serveur, et il faut lui ajouter les autorités de certification intermédiaires (s’il y en a) et racine, toujours en texte.
Pour récupérer les certificats intermédiaires et racine, le plus simple est d’ouvrir par un double clic le certificat généré, de se positionner successivement sur les certificats supérieurs, de les afficher puis de les sauver en fichiers. Pendre le format « Base-64 encoded », c’est celui en texte.
Import du certificat dans le vCenter
Retourner sur le vCenter, y copier le fichier certificat, et relancer l'outil de gestion des certificats
/usr/lib/vmware-vmca/bin/certificate-manager |
Prendre toujours l’option 1 au début, mais ensuite l’option 2 pour importer le certificat.
Saisir le nom du fichier certificat, puis celui du fichier de la clef créée au début, et enfin de nouveau le fichier de certificat puisqu’il contient aussi l’autorité de certification.
Vérifier qu’il y a bien un snapshot ou une sauvegarde valide, histore de pouvoir faire marche arrière en cas de problème, puis confirmer l’opération.
Les services vont être mis à jour les uns après les autres, et il y en a plus de 30.
La phase de redémarrage des services est particulièrement longue…
… mais finit par se terminer.
Plus d’erreur de certificat
Si l’autorité de certification AD a bien été ajoutée dans les autorités de confiance du poste depuis lequel on se connecte, il n’y a plus d’avertissement.
Avant :
Après :