Antes de activar la autenticación con tarjeta inteligente, debe configurar vCenter Server para solicitar certificados de cliente.
La configuración utiliza el puerto 3128 que se establece y se abre automáticamente en vCenter Server.
Requisitos previos
Copie los certificados de la entidad de certificación (CA) en el sistema vCenter Server a fin de usarlos para crear el almacén de CA cliente de confianza. Este almacén debe contener los certificados de confianza emitidos por la CA para el certificado de cliente. El cliente aquí es el explorador desde el que el proceso de la tarjeta inteligente solicita información al usuario final.
Nota:
vCenter Server 7.0 y las versiones posteriores son compatibles con el protocolo HTTP/2. Todos los navegadores y las aplicaciones modernas, incluido
vSphere Client, se conectan a
vCenter Server mediante HTTP/2. Sin embargo, la autenticación de tarjeta inteligente requiere el uso del protocolo HTTP/1.1. Al activar la autenticación de tarjeta inteligente, se desactiva la negociación del protocolo de la capa de aplicación (ALPN, del inglés "Application-Layer Protocol Negotiation",
https://tools.ietf.org/html/rfc7301) para HTTP/2, lo que impide que el explorador utilice HTTP/2. Las aplicaciones que usen solo HTTP/2, sin depender de ALPN, seguirán funcionando.
Para completar la autenticación de tarjeta inteligente, se debe permitir que los clientes accedan al puerto 3128/TCP en la instancia de vCenter Server adecuada. Compruebe los firewalls perimetrales para asegurarse de que se le ha concedido acceso.
La conexión se redirecciona al puerto 3128 durante el inicio de sesión de la tarjeta inteligente. El puerto 3128 solo admite conexiones de autenticación mutua preconfiguradas y no está pensado como un endpoint de navegador directo. No devuelve un encabezado de HSTS. Si el escáner de vulnerabilidades informa de este comportamiento, se puede ignorar de forma segura.
Procedimiento
- Inicie sesión en el shell de vCenter Server como usuario raíz.
- Cree un almacén de CA de cliente de confianza en vCenter Server mediante la ruta de acceso exacta y el nombre PEM,
/usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem
.
Advertencia: Debe utilizar la ruta de acceso exacta y el nombre PEM,
/usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem
.
- Cambie al directorio /usr/lib/vmware-sso/.
- Para crear el almacén de CA de cliente de confianza, ejecute el comando openssl y tome como entrada el certificado de firma de confianza. Por ejemplo, el siguiente comando crea el archivo clienttrustCA.pem desde el certificado de firma de confianza xyzCompanySmartCardSigningCA.cer.
openssl x509 -inform PEM -in xyzCompanySmartCardSigningCA.cer > /usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem
Puede agregar certificados adicionales al almacén de CA del cliente de confianza ejecutando el comando
openssl con el operador ">>" para anexar el certificado adicional. Por ejemplo, el siguiente comando anexa
xyzCompanySmartCardSigningCA2.cer al archivo
clienttrustCA.pem existente.
openssl x509 -inform PEM -in xyzCompanySmartCardSigningCA2.cer >> /usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem
- Para validar que el contenido del archivo clienttrustCA.pem contenga las CA de confianza que firmaron los certificados de tarjeta inteligente, ejecute el comando keytool.
Por ejemplo:
keytool -printcert -file /usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem | grep -i "owner\|sha1\|issuer:\|valid"
- Compruebe que los nombres de CA coincidan con la cadena de certificados de usuario de tarjeta inteligente.
Por ejemplo, puede ejecutar el siguiente comando.
sso-config.sh -get_authn_policy -t vsphere.local | grep trusted
Los certificados raíz e intermedios deben coincidir en huellas, nombres, fechas de validez, etc.
Nota: También puede usar
vSphere Client (
).
- Reinicie el servicio STS.
service-control --restart sts