Puede usar la CLI para reemplazar el certificado raíz de VMCA por un certificado externo firmado por una entidad de certificación en la que se incluya VMCA en la cadena de certificados. Más adelante, todos los certificados generados por VMCA incluirán la cadena completa. Puede reemplazar los certificados existentes por certificados generados recientemente.
Si utiliza VMCA como una entidad de certificación intermedia o utiliza certificados personalizados, es posible que experimente una complejidad considerable y que exista la posibilidad de un impacto negativo para la seguridad, así como un aumento innecesario en el riesgo operativo. Para obtener más información sobre la administración de certificados en un entorno de vSphere, consulte la publicación de blog llamada Revisión de producto nuevo: reemplazo del certificado SSL de vSphere híbrido en http://vmware.com/go/hybridvmca.
Reemplazar el certificado raíz (entidad de certificación intermedia) mediante la CLI
El primer paso para reemplazar los certificados VMCA por certificados personalizados es generar una CSR y enviarla para su firma. A continuación, use la CLI para agregar el certificado firmado a VMCA como certificado raíz.
Se puede utilizar la utilidad Certificate Manager u otra herramienta para generar la CSR. La CSR debe cumplir con los siguientes requisitos:
- Tamaño de clave: de 2048 bits (mínimo) a 8192 bits (máximo) (formato codificado PEM)
- Formato PEM. VMware admite PKCS8 y PKCS1 (claves RSA). Cuando se agregan claves a VECS, se convierten en PKCS8.
- x509 versión 3
- Para certificados raíz, la extensión CA se debe establecer en true y el signo cert debe estar en la lista de requisitos. Por ejemplo:
basicConstraints = critical,CA:true keyUsage = critical,digitalSignature,keyCertSign
- La firma CRL debe estar habilitada.
- Uso mejorado de clave puede estar vacío o contener autenticación del servidor.
- No hay límite explícito a la longitud de la cadena de certificados. VMCA utiliza el valor predeterminado de OpenSSL, que es de diez certificados.
- No se admiten los certificados con comodines o con más de un nombre DNS.
- No se pueden crear CA subsidiarias de VMCA.
Para obtener un ejemplo de uso de la entidad de certificación de Microsoft, consulte el artículo de la base de conocimientos de VMware en https://kb.vmware.com/s/article/2112009, Crear una plantilla de entidad de certificación de Microsoft para creación de certificados SSL en vSphere 6.x.
- Tamaño de clave: de 2048 bits (mínimo) a 8192 bits (máximo).
- Uso de clave: firma de certificado
- Restricción básica: entidad de certificación de tipo sujeto
Procedimiento
Ejemplo: Reemplazo del certificado raíz
Reemplace el certificado raíz de VMCA por el certificado raíz personalizado de la entidad de certificación mediante el comando certool con la opción --rootca.
/usr/lib/vmware-vmca/bin/certool --rootca --cert=<path>/root.pem -–privkey=<path>/root.key
- Agrega el nuevo certificado raíz personalizado a la ubicación de certificados en el sistema de archivos.
- Anexa el certificado raíz personalizado al almacén TRUSTED_ROOTS en VECS.
- Agrega el certificado raíz personalizado a vmdir.
Qué hacer a continuación
Se puede eliminar el certificado raíz original de VMCA del almacén de certificados si así lo establece la directiva de la empresa. Si se hace eso, es necesario reemplazar el certificado de firma de vCenter Single Sign-On. Consulte Reemplazar un certificado vCenter Server STS mediante la línea de comandos.
Reemplazar certificados SSL de máquina (entidad de certificación intermedia) mediante la CLI
Después de recibir el certificado firmado de la CA puede usar la CLI para convertirlo en el certificado raíz de VMCA y reemplazar todos los certificados SSL de máquina.
Estos pasos son prácticamente los mismos que los pasos para reemplazar un certificado por otro que utilice VMCA como entidad de certificación. Sin embargo, en este caso, VMCA firma todos los certificados con la cadena completa.
Cada máquina debe tener un certificado SSL de máquina para establecer una comunicación segura con otros servicios. Cuando varias instancias de vCenter Server están conectadas en la configuración de Enhanced Linked Mode, debe ejecutar los comandos de generación de certificados SSL de máquina en cada nodo.
Requisitos previos
Para el certificado SSL de máquina, el SubjectAltName debe contener DNS Name=<Machine FQDN>.
Procedimiento
Ejemplo: Reemplazo de certificados SSL de máquina (VMCA es la CA intermedia)
- Cree un archivo de configuración para el certificado SSL y guárdelo como ssl-config.cfg en el directorio actual.
Country = US Name = vmca-<FQDN-example> Organization = VMware OrgUnit = VMware Engineering State = California Locality = Palo Alto Hostname = <FQDN>
- Genere un par de claves para el certificado SSL de máquina. En una implementación de varias instancias de vCenter Server conectadas en la configuración de Enhanced Linked Mode, ejecute este comando en cada nodo de vCenter Server.
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=ssl-key.priv --pubkey=ssl-key.pub
Los archivos ssl-key.priv y ssl-key.pub se crean en el directorio actual.
- Genere el nuevo certificado SSL de máquina. Este certificado está firmado por VMCA. Si reemplazó el certificado raíz de VMCA por un certificado personalizado, VMCA firma todos los certificados con la cadena completa.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vmca-ssl.crt --privkey=ssl-key.priv --config=ssl-config.cfg
El archivo new-vmca-ssl.crt se crea en el directorio actual.
- (Opcional) Enumere el contenido de VECS.
/usr/lib/vmware-vmafd/bin/vecs-cli store list
- Ejemplo de salida en 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
- Ejemplo de salida en vCenter Server:
- Reemplace el certificado SSL de máquina en VECS por el nuevo certificado SSL de máquina. Los valores --store y --alias tienen que coincidir exactamente con los nombres predeterminados.
- En cada instancia de vCenter Server, ejecute los siguientes comandos para actualizar el certificado SSL de máquina en el almacén MACHINE_SSL_CERT. Debe actualizar el certificado para cada máquina por separado, ya que cada una de ellas tiene un FQDN diferente.
/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
- En cada instancia de vCenter Server, ejecute los siguientes comandos para actualizar el certificado SSL de máquina en el almacén MACHINE_SSL_CERT. Debe actualizar el certificado para cada máquina por separado, ya que cada una de ellas tiene un FQDN diferente.
Reemplazar certificados de usuario de solución (entidad de certificación intermedia) mediante la CLI
Después de reemplazar los certificados SSL de máquina, puede usar el CLI para reemplazar los certificados de usuarios de solución.
- Los certificados se sientan detrás de un proxy, o bien son certificados personalizados.
- No se utilizan CA intermedias.
Se reemplaza el certificado de usuario de solución de la máquina y el certificado de usuario de solución en cada sistema vCenter Server.
Requisitos previos
Cada certificado de usuario de solución debe tener un Subject diferente. Por ejemplo, considere incluir el nombre de usuario de solución (como vpxd) u otro identificador único.
Procedimiento
Ejemplo: Reemplazo de certificados de usuarios de solución (entidad de certificación intermedia)
- Genere un par de claves pública/privada para cada usuario de solución en cada nodo de vCenter Server en una configuración de Enhanced Linked Mode. Esto incluye un par para la solución de máquina y un par para cada usuario de solución adicional (vpxd, vpxd-extension, vsphere-webclient, wcp).
- Genere un par de claves para el usuario de solución de la máquina.
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=machine-key.priv --pubkey=machine-key.pub
- Genere un par de claves para el usuario de solución vpxd en cada nodo.
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=vpxd-key.priv --pubkey=vpxd-key.pub
- Genere un par de claves para el usuario de solución vpxd-extension en cada nodo.
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=vpxd-extension-key.priv --pubkey=vpxd-extension-key.pub
- Genere un par de claves para el usuario de solución vsphere-webclient en cada nodo.
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=vsphere-webclient-key.priv --pubkey=vsphere-webclient-key.pub
- Genere un par de claves para el usuario de solución wcp en cada nodo.
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=wcp-key.priv --pubkey=wcp-key.pub
- Genere un par de claves para el usuario de solución de la máquina.
- Genere certificados de usuario de solución que estén firmados con el nuevo certificado raíz de VMCA para el usuario de solución de la máquina y para cada usuario de solución adicional (vpxd, vpxd-extension, vsphere-webclient, wcp) en cada nodo de vCenter Server.
Nota: El parámetro --Name tiene que ser único. Al incluir el nombre del almacén del usuario de solución, resulta más fácil ver qué certificado se asigna a cada usuario de solución. El ejemplo incluye el nombre, por ejemplo, vpxd o vpxd-extension en cada caso.
- Haga una copia del archivo /usr/lib/vmware-vmca/share/config/certool.cfg y, a continuación, modifique o elimine los campos Nombre, Dirección IP, Nombre de DNS y Correo electrónico según sea necesario, y cambie el nombre del archivo (por ejemplo, a sol_usr.cfg).
- Genere un certificado para el usuario de solución de la máquina en cada nodo.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-machine.crt --privkey=machine-key.priv --Name=machine --config sol_usr.cfg
- Genere un certificado para el usuario de solución vpxd en cada nodo.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vpxd.crt --privkey=vpxd-key.priv --Name=vpxd --config sol_usr.cfg
- Genere un certificado para el usuario de solución vpxd-extensions en cada nodo.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vpxd-extension.crt --privkey=vpxd-extension-key.priv --Name=vpxd-extension --config sol_usr.cfg
- Ejecute el siguiente comando para generar un certificado para el usuario de solución vsphere-webclient en cada nodo.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vsphere-webclient.crt --privkey=vsphere-webclient-key.priv --Name=vsphere-webclient --config sol_usr.cfg
- Ejecute el siguiente comando para generar un certificado para el usuario de solución wcp en cada nodo.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-wcp.crt --privkey=wcp-key.priv --Name=wcp --config sol_usr.cfg
- Reemplace los certificados de usuario de solución en VECS por los nuevos certificados de usuario de solución.
Nota: Los parámetros --store y --alias tienen que coincidir exactamente con los nombres predeterminados de los servicios.
- Reemplace el certificado de usuario de solución de la máquina en cada nodo:
/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
- Reemplace el certificado de usuario de solución vpxd en cada nodo.
/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
- Reemplace el certificado de usuario de solución vpxd-extension en cada nodo.
/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
- Reemplace el certificado de usuario de solución vsphere-webclient en cada nodo.
/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
- Reemplace el certificado de usuario de solución wcp en cada nodo.
/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
- Reemplace el certificado de usuario de solución de la máquina en cada nodo:
- Actualice VMware Directory Service (vmdir) con los nuevos certificados de usuarios de solución. Se solicita una contraseña de administrador de vCenter Single Sign-On.
- Ejecute /usr/lib/vmware-vmafd/bin/dir-cli service list para obtener el sufijo de identificador único de servicio para cada usuario de solución. Este comando se ejecuta en un sistema 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
Nota: Cuando se enumeran certificados de usuario de solución en implementaciones de gran tamaño, el resultado de /usr/lib/vmware-vmafd/bin/dir-cli list incluye todos los usuarios de solución de todos los nodos. Ejecute /usr/lib/vmware-vmafd/bin/vmafd-cli get-machine-id --server-name localhost para encontrar el identificador de máquina local para cada host. El nombre del usuario de solución incluye el identificador de máquina. - Reemplace el certificado de máquina en vmdir en cada nodo de vCenter Server. Por ejemplo, si machine-6fd7f140-60a9-11e4-9e28-005056895a69 es el usuario de solución de la máquina en vCenter Server, ejecute el siguiente comando:
/usr/lib/vmware-vmafd/bin/dir-cli service update --name machine-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-machine.crt
- Reemplace el certificado de usuario de solución vpxd en vmdir en cada nodo. Por ejemplo, si vpxd-6fd7f140-60a9-11e4-9e28-005056895a69 es el identificador de usuario de solución vpxd, ejecute el siguiente comando:
/usr/lib/vmware-vmafd/bin/dir-cli service update --name vpxd-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-vpxd.crt
- Reemplace el certificado de usuario de solución vpxd-extension en vmdir en cada nodo. Por ejemplo, si vpxd-extension-6fd7f140-60a9-11e4-9e28-005056895a69 es el identificador de usuario de solución vpxd-extension, ejecute el siguiente comando:
/usr/lib/vmware-vmafd/bin/dir-cli service update --name vpxd-extension-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-vpxd-extension.crt
- Reemplace el certificado de usuario de solución vsphere-webclient en cada nodo. Por ejemplo, si vsphere-webclient-6fd7f140-60a9-11e4-9e28-005056895a69 es el identificador de usuario de solución vsphere-webclient, ejecute el siguiente comando:
/usr/lib/vmware-vmafd/bin/dir-cli service update --name vsphere-webclient-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-vsphere-webclient.crt
- Reemplace el certificado de usuario de solución wcp en cada nodo. Por ejemplo, si wcp-1cbe0a40-e4ce-4378-b5e7-9460e2b8200e es el ID del usuario de solución wcp, ejecute este comando:
/usr/lib/vmware-vmafd/bin/dir-cli service update --name wcp-1cbe0a40-e4ce-4378-b5e7-9460e2b8200e --cert new-wcp.crt
- Ejecute /usr/lib/vmware-vmafd/bin/dir-cli service list para obtener el sufijo de identificador único de servicio para cada usuario de solución. Este comando se ejecuta en un sistema vCenter Server.