Cómo cambiar los certificados para los paquetes VMware Vcenter Server, Replication Server y Site Recovery Manager

¡Hola!



Cualquiera que use productos VMware sabe o no sabe que la emisión de un certificado puede causar mucho dolor y sufrimiento. Por lo tanto, para no pisar este rastrillo, mostraré cómo hacer y cambiar certificados para productos tales como:



  • VMware Vcenter Server 6.7
  • Servidor de replicación VMware 8.3
  • VMware Site Recovery Manager 8.3


Para esto necesitamos:



  • Certificados
  • Masilla
  • Un poco de paciencia


Preparando certificados, usaré un servidor de Windows ordinario 2019 con el rol de Servicio de certificados de Active Directory y openssl v1.1.1h.Puede



descargarlo aquí.



1. Creación de certificados



Usaré un servidor local para emitir certificados, pero este método es adecuado para emitir certificados y en sitios comerciales.



Preparemos solicitudes para la autoridad de certificación.



Di nombres como FQDN:



  • Vcenter Server se llama vc.home.local e ip 192.168.233.11
  • Servidor de replicación de VMware que nombré vr.home.local e ip 192.168.233.12
  • VMware Site Recovery Manage también srm.home.local e ip 192.168.233.13


Para estos nombres, prepararemos solicitudes y claves privadas en el programa openssl . Para ello haremos un pequeño archivo de configuración vc.cfg con el contenido. A continuación, para cada nuevo servidor, cambiaré el contenido de este archivo sustituyendo los nombres del servidor y las direcciones 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 ()


A continuación, use openssl



1.1 Do 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 Cambie los nombres y la ip del servidor en vc.cfg y libere la clave y solicite 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 Cambie los nombres y la ip del servidor en vc.cfg y libere la clave y solicite 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 Además, necesitas certificados para los servicios vcenter (vpxd, vsphere-webclient, vpxd-extension), los

hacemos con el comando:



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


Entraremos en un pequeño asistente, donde ingresaremos información sobre nosotros mismos o sobre la empresa. Asegúrese de escribir el nombre del servicio en el campo "Nombre común". Repetimos el procedimiento para el resto de servicios. Como resultado, obtenemos una clave privada y una solicitud de certificado.







Generación de una solicitud de clave y certificado



Ahora que todas las solicitudes y claves están listas, comencemos a emitir un certificado. Vaya al centro de emisión de certificados. Inicie la consola de la Autoridad de certificación .







A continuación, haga clic con el botón derecho (pkm) en la raíz del servidor y seleccione emitir una nueva solicitud.







Seleccionamos nuestro archivo de solicitud, con la extensión req.



Vaya al menú Solicitudes pendientes . Si lo tiene vacío, presione F5 y la ventana se actualizará. A continuación, haga clic en pkm y seleccione Emitir:







A continuación, vaya al menú Certificados emitidos y abra nuestro certificado.







A continuación, debemos guardarlo en el disco. Para hacer esto, vaya a la pestaña Composición y haga clic en el botón Copiar a archivo... A continuación, aparecerá un asistente para guardar los archivos, debemos seleccionar Base64 y el nombre del archivo en este caso vpxd.crt:







Guardando el certificado.



Repetimos el procedimiento de emisión para todos nuestros certificados /



Aún necesitamos un certificado raíz. Para hacer esto, abra cualquier certificado, vaya a la pestaña Ruta de certificación , seleccione nuestro certificado raíz y haga clic en el botón Ver certificado. Además, también lo guardaremos como todos los anteriores.







Y eso no es todo para VMware Replication Server y VMware Site Recovery Manager. Necesitamos un certificado y un contenedor de claves. pfx, es muy fácil de hacer, necesitamos claves privadas y un archivo de certificado:



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


OpenSSL solicita una contraseña, crea una contraseña y obtiene el codiciado archivo a la salida.

Esto completa la creación de certificados y procede a su instalación.



2. Comencemos a cambiar con Vcenter



Para ello nos dirigimos a la sección de administración , y vamos a la sección de certificados . Inicie sesión como administrador.







Sección de gestión de certificados.



A continuación, cuando lleguemos al panel de control, primero agregaremos el certificado raíz o Certificados raíz de confianza. Desplácese hasta el final y presione AGREGAR. Seleccionamos nuestro certificado ca.crt







Agregar certificados raíz de confianza



A continuación, cambiamos los certificados actuales a través del elemento de menú Reemplazar:







Seleccionamos los certificados que creamos para el vcenter:

Para los servicios, seleccionamos los certificados de los servicios creados en el párrafo 1.4



Para los certificados __MACHINE_CERT y maquinamos el certificado vc.home.local, creado en el párrafo 1.1







Hemos reemplazado todos los certificados que están disponibles para nosotros desde el panel de control. Si tiene una

configuración que carece de los componentes de VMware Replication Server y VMware Site Recovery Manager, puede poner fin a esto y disfrutar de VCentre después de reiniciar el servidor. Si está utilizando un servidor independiente para emitir certificados, le aconsejo que haga certificados por 10 años o más. Si compra, observe las circunstancias.



Para que sus navegadores reconozcan correctamente los certificados, debe instalar el certificado raíz en el almacén de certificados del sistema operativo.



3. Cambie el certificado en VMware Replication Server.



Comencemos con el hecho de que necesita instalar un certificado raíz en el servidor vr, porque no está en la interfaz web estándar. Para hacer esto, necesitamos iniciar sesión en el servidor a través de ssh, pero está deshabilitado de forma predeterminada. Vamos a encenderlo. Abra la consola de la máquina virtual e inicie sesión como root.

Activamos el servidor ssh.



/usr/bin/enable-sshd.sh


Luego puede conectarse al servidor a través de masilla.



Todos los certificados root ca están en el contenedor jks a lo largo de la ruta /opt/vmware/hms/security/hms-truststore.jks



Pero el contenedor tiene una contraseña, averigüémosla con el comando:



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


A continuación, guardamos nuestro ca.crt en el servidor, normalmente lo hago a través de editores de texto, en la computadora local abro el certificado con un bloc de notas y lo copio al portapapeles, en la máquina remota usando el editor vi pego y guardo. Después de eso, podemos escribir nuestro certificado en el contenedor con el comando:



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


Luego decimos que a la solicitud de agregar . Eso es todo, hemos agregado con éxito nuestro certificado raíz.



Entramos en el panel de control del servidor en vr.home.local : 5480



Ir a la pestaña Configuración , el campo Cargar archivo PKCS12 (* .pfx) ,

seleccionar nuestro archivo pfx. haga clic en cargar e instalar la







configuración del servidor vr.



Después de reiniciar el servidor web e iniciar sesión, intentamos guardar la configuración con el botón Guardar y reiniciar el servicio:







Y nos aparece un error:



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


El servidor nos dice que las impresiones del certificado de los servicios en el centro no coinciden.



Abra putty y conéctese a nuestro centro vc.home.local. Inicie



bash con el comando shell:







Cambie al directorio:



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


Y miramos el estado de este servicio:



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






Si abre nuestro certificado vc.home.local.crt en un editor de texto y lo compara, resulta que los certificados son diferentes. El hecho es que la interfaz web del centro no cambia todos los certificados.



Copiamos el contenido del certificado en el archivo /tmp/old.crt, no olvide que el contenido del certificado debe estar entre las etiquetas ----- BEGIN CERTIFICATE ----- y ----- END CERTIFICATE -----



Debería verse así :







Ahora, abra nuestro nuevo certificado en el centro vc.home.local.crt en un editor de texto

y cópielo a vc en el archivo /tmp/new.crt



A continuación, busque el hash sha1 del archivo /tmp/old.crt, lo necesitará allí para reemplazar los certificados antiguos con nuevo.



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


A continuación, ejecute el script de reemplazo:



./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 


Al final del script, el informe contendrá la cantidad de certificados reemplazados.



Después de eso, vaya a vr.home.local: 5480 y guarde la configuración. Si hizo todo correctamente, el servidor debería guardar correctamente la configuración e iniciar el servicio del servidor vr.







3. Reemplazo del certificado con VMware Site Recovery Manage



En este servidor, todo se hace desde la interfaz web en el menú Certificado .



Nos dirigimos al panel administrativo srm.home.local : 5480



  1. Agregue nuestra raíz ca con el botón AGREGAR
  2. Cambie el certificado actual con el botón CAMBIAR







Con esto concluye el cambio de todos los certificados.



¡Gracias a todos!



All Articles