Prima di attivare l'autenticazione smart card, è necessario configurare vCenter Server per la richiesta di certificati client.

La configurazione utilizza la porta 3128 che viene impostata e aperta automaticamente in vCenter Server.

Prerequisiti

Copiare i certificati dell'autorità di certificazione (CA) nel sistema vCenter Server da utilizzare per creare l'archivio CA del client attendibile. Questo archivio deve contenere i certificati attendibili emessi dalla CA per il certificato client. Il client qui è il browser da cui il processo della smart card richiede all'utente finale di specificare le informazioni.

Nota: vCenter Server 7.0 e versioni successive supportano il protocollo HTTP/2. Tutti i browser e le applicazioni moderne, incluso vSphere Client, si connettono a vCenter Server utilizzando HTTP/2. Tuttavia, l'autenticazione smart card richiede l'utilizzo del protocollo HTTP/1.1. Se si attiva l'autenticazione smart card, viene disattivata la negoziazione del protocollo a livello di applicazione (ALPN, https://tools.ietf.org/html/rfc7301) per HTTP/2. In questo modo, il browser non può utilizzare HTTP/2. Le applicazioni che utilizzano solo HTTP/2, senza necessitare di ALPN, continuano a funzionare.

Per completare l'autenticazione smart card, i client devono poter accedere alla porta 3128/TCP nel vCenter Server appropriato. Controllare i firewall perimetrali per assicurarsi che l'accesso sia stato concesso.

La connessione viene reindirizzata alla porta 3128 durante l'accesso con smart card. La porta 3128 supporta solo connessioni di autenticazione reciproca preconfigurate e non è da intendersi come endpoint del browser diretto. Non restituisce un'intestazione HSTS. Se lo scanner della vulnerabilità segnala questo comportamento, può essere tranquillamente ignorato.

Procedura

  1. Accedere alla shell di vCenter Server come utente root.
  2. Creare un archivio CA client attendibile in vCenter Server utilizzando il percorso e il nome PEM esatti /usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem.
    Avviso: È necessario utilizzare il percorso e il nome PEM esatti, /usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem.
    1. Passare alla directory /usr/lib/vmware-sso/.
      cd /usr/lib/vmware-sso/
    2. Per creare l'archivio CA client attendibile, eseguire il comando openssl utilizzando come input il certificato di firma attendibile. Ad esempio, il comando seguente crea il file clienttrustCA.pem dal certificato di firma attendibile xyzCompanySmartCardSigningCA.cer.
      openssl x509 -inform PEM -in xyzCompanySmartCardSigningCA.cer > /usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem
      È possibile aggiungere ulteriori certificati all'archivio CA client attendibile eseguendo il comando openssl con l'operatore ">>" per inserire il certificato aggiuntivo. Ad esempio, il comando seguente aggiunge xyzCompanySmartCardSigningCA2.cer al file clienttrustCA.pem esistente.
      openssl x509 -inform PEM -in xyzCompanySmartCardSigningCA2.cer >> /usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem
  3. Per verificare che il contenuto del file clienttrustCA.pem contenga le CA attendibili che hanno firmato i certificati della smart card, eseguire il comando keytool.
    Ad esempio:
    keytool -printcert -file /usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem | grep -i "owner\|sha1\|issuer:\|valid"
  4. Verificare che i nomi delle CA corrispondano alla catena di certificati dell'utente della smart card.
    Ad esempio, è possibile eseguire il comando seguente.
    sso-config.sh -get_authn_policy -t vsphere.local | grep trusted
    I certificati root e intermedi devono avere identificazioni personali, nomi e date valide corrispondenti e così via.
    Nota: È inoltre possibile utilizzare vSphere Client ( Amministrazione > Single Sign-On > Configurazione > Provider di identità > Autenticazione smart card > Impostazioni di autenticazione smart card > Certificati CA attendibili > Aggiungi).
  5. Riavviare il servizio STS.
    service-control --restart sts