Avant d'activer l'authentification par carte à puce, vous devez configurer lvCenter Server pour demander des certificats clients.

La configuration utilise le port 3128, qui est défini et ouvert automatiquement sur vCenter Server.

Conditions préalables

Copiez les certificats d'autorité de certification (CA) sur le système vCenter Server à utiliser pour créer le magasin d'autorité de certification client approuvé. Ce magasin doit contenir les certificats approuvés émis par l'autorité de certification pour le certificat client. Dans le cas présent, le client est le navigateur à partir duquel le processus d'authentification par carte à puce invite l'utilisateur final à entrer des informations.

Note : vCenter Server 7.0 prend en charge le protocole HTTP/2. Tous les navigateurs et toutes les applications modernes, y compris vSphere Client, se connectent à vCenter Server à l'aide de HTTP/2. Toutefois, l'authentification par carte à puce nécessite l'utilisation du protocole HTTP/1.1. L'activation de l'authentification par carte à puce désactive la négociation de protocole de couche application (ALPN, https://tools.ietf.org/html/rfc7301) pour HTTP/2, ce qui empêche efficacement le navigateur d'utiliser HTTP/2. Les applications qui utilisent uniquement HTTP/2, sans compter sur ALPN, continuent de fonctionner.

Pour terminer l'authentification par carte à puce, les clients doivent être autorisés à accéder au port 3128/TCP sur l'instance de vCenter Server appropriée. Vérifiez vos pare-feu de périmètre pour vous assurer que l'accès a été accordé.

Procédure

  1. Connectez-vous à l'interpréteur de commande vCenter Server en tant qu'utilisateur racine.
  2. Créez un magasin d'autorités de certification de client approuvé sur l'instance de vCenter Server en utilisant le chemin et le nom PEM exacts, /usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem.
    Avertissement : Vous devez utiliser le chemin et le nom PEM exacts, /usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem.
    1. Passez au répertoire /usr/lib/vmware-sso/.
      cd /usr/lib/vmware-sso/
    2. Pour créer le magasin d'autorités de certification du client approuvé, exécutez la commande openssl, en utilisant comme entrée votre certificat de signature approuvé. Par exemple, la commande suivante crée le fichier clienttrustCA.pem à partir du certificat de signature approuvé xyzCompanySmartCardSigningCA.cer.
      openssl x509 -inform PEM -in xyzCompanySmartCardSigningCA.cer > /usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem
      Vous pouvez ajouter des certificats supplémentaires au magasin d'autorité de certification du client approuvé en exécutant la commande openssl avec l'opérateur « >> » pour ajouter le certificat supplémentaire. Par exemple, la commande suivante ajoute xyzCompanySmartCardSigningCA2.cer au fichier clienttrustCA.pem existant.
      openssl x509 -inform PEM -in xyzCompanySmartCardSigningCA2.cer >> /usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem
  3. Pour confirmer que le contenu du fichier clienttrustCA.pem contient les autorités de certification approuvées qui ont signé les certificats de carte à puce, exécutez la commande keytool.
    Par exemple :
    keytool -printcert -file /usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem | grep -i "owner\|sha1\|issuer:\|valid"
  4. Vérifiez que les noms d'autorité de certification correspondent à la chaîne de certificats d'utilisateur de carte à puce.
    Par exemple, vous pouvez exécuter la commande suivante.
    sso-config.sh -get_authn_policy -t vsphere.local | grep trusted
    Les certificats racine et intermédiaire doivent avoir des empreintes numériques, des noms, des dates valides correspondants, etc.
    Note : Vous pouvez également utiliser vSphere Client ( Single Sign On > Configuration > Configuration de la carte à puce > Authentification par carte à puce > Certificats d'autorité de certification approuvés).
  5. Redémarrez le service STS.
    service-control --restart sts