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

  1. Inicie sesión en el shell de vCenter Server como usuario raíz.
  2. 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.
    1. Cambie al directorio /usr/lib/vmware-sso/.
      cd /usr/lib/vmware-sso/
    2. 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
  3. 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"
  4. 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 ( Administración > Single Sign On > Configuración > Proveedor de identidad > Autenticación de tarjeta inteligente > Configuración de la autenticación de tarjeta inteligente > Certificados de CA de confianza > Agregar).
  5. Reinicie el servicio STS.
    service-control --restart sts