Pour configurer la redirection de carte à puce sur une machine virtuelle (VM) RHEL 7.9, installez les bibliothèques dont dépend la fonctionnalité et le certificat d'autorité de certification (CA) racine requis pour l'authentification. En outre, vous devez modifier certains fichiers de configuration pour terminer la configuration de l'authentification.

Pour configurer la redirection de carte à puce sur une VM RHEL 7.9, utilisez la procédure suivante.

Certains exemples de la procédure utilisent des valeurs d'espace réservé pour représenter des entités dans votre configuration réseau, telles que le nom DNS de votre domaine AD. Remplacez les valeurs d'espace réservé par des informations spécifiques à votre configuration, comme décrit dans le tableau suivant.

Valeur d'espace réservé Description
dns_IP_ADDRESS Adresse IP de votre serveur de nom DNS
mydomain.com Nom DNS de votre domaine AD
MYDOMAIN.COM Nom DNS de votre domaine AD en majuscules
MYDOMAIN Nom DNS du groupe de travail ou domaine NT qui inclut votre serveur Samba, en majuscules
ads-hostname Nom d'hôte de votre serveur AD
Note : Si vous utilisez la console vSphere pour vous connecter à une VM RHEL 7.9 sur laquelle Horizon Agent est installé et que la redirection de carte à puce est activée, vous pouvez observer une durée de déconnexion différée d'au moins deux minutes. Cette déconnexion différée se produit uniquement à partir de la console vSphere. L'expérience de déconnexion de RHEL 7.9 de Horizon Client n'est pas affectée.

Conditions préalables

Intégrer une machine virtuelle RHEL 7.9 à Active Directory pour la redirection de carte à puce

Procédure

  1. Installez les bibliothèques requises.
    sudo yum install nss-tools nss-pam-ldapd esc pam_pkcs11 pam_krb5 opensc pcsc-lite-ccid authconfig 
          authconfig-gtk krb5-libs krb5-workstation krb5-pkinit pcsc-lite pcsc-lite-libs
    
  2. Installez un certificat d'autorité de certification racine.
    1. Téléchargez un certificat d'autorité de certification racine et enregistrez-le dans /tmp/certificate.cer sur votre poste de travail. Reportez-vous à Exportation du certificat d'autorité de certification de racine.
    2. Localisez le certificat d'autorité de certification racine que vous avez téléchargé et transférez-le vers un fichier .pem.
      openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem
    3. Utilisez la commande certutil pour installer le certificat d'autorité de certification racine dans la base de données système /etc/pki/nssdb.
      Remplacez « Certificat d'autorité de certification racine » dans l'exemple de commande suivant par le nom du certificat d'autorité de certification racine dans la base de données système.
      sudo certutil -A -d /etc/pki/nssdb -n "root CA cert" -t "CT,C,C" -i /tmp/certificate.pem
  3. Accédez à Applications > Sundry > Authentification, cochez la case Activer la prise en charge de l'authentification par carte à puce et cliquez sur Appliquer.
  4. Modifiez le paramètre module dans le fichier de configuration /etc/pam_pkcs11/pam_pkcs11.conf, comme indiqué dans l'exemple suivant.
    use_pkcs11_module = coolkey;
    ...
    pkcs11_module coolkey {
          module = libcoolkeypk11.so;                
          description = "Cool Key";
          slot_num = 0;
          nss_dir = /etc/pki/nssdb;
          cert_policy = ca, signature;
    }
  5. Modifiez le fichier /etc/pam_pkcs11/cn_map afin que son contenu soit semblable à l'exemple suivant. Pour le contenu spécifique à inclure, consultez les informations utilisateur répertoriées dans le certificat de carte à puce.
    user sc -> user-sc
  6. Modifiez le fichier de configuration /etc/krb5.conf/, comme indiqué dans l'exemple suivant.
    [libdefaults]
          dns_lookup_realm = false
          ticket_lifetime = 24h
          renew_lifetime = 7d
          forwardable = true
          rdns = false
          default_realm = MYDOMAIN.COM
          default_ccache_name = KEYRING:persistent:%{uid}
    
    [realms]
          MYDOMAIN.COM = {
                kdc = ads-hostname
                admin_server = ads-hostname
                default_domain = ads-hostname
                pkinit_anchors = FILE:/etc/pki/nssdb/certificate.pem
                pkinit_cert_match = <KU>digitalSignature
                pkinit_kdc_hostname = ads-hostname
          }
    
    [domain_realm]
          .mydomain.com = MYDOMAIN.COM
          mydomain.com = MYDOMAIN.COM
  7. Si la VM exécute l'environnement de poste de travail MATE, ajoutez la ligne auth include smartcard-auth au début de /etc/pam.d/mate-screensaver comme indiqué dans l'exemple suivant.
    #%PAM-1.0
     
    # Fedora Core
    auth include smartcard-auth            
    auth       include      system-auth
    auth       optional     pam_gnome_keyring.so
    account    include      system-auth
    password   include      system-auth
    session    include      system-auth
    

    Vous devez effectuer cette configuration pour vous assurer que les utilisateurs peuvent déverrouiller l'écran lorsqu'ils se connectent avec une carte à puce.

  8. Pour prendre en charge la fonctionnalité Single Sign-On (SSO) par carte à puce, configurez le fichier /etc/vmware/viewagent-greeter.conf. Reportez-vous à la section Définir des options dans des fichiers de configuration sur un poste de travail Linux.
  9. Redémarrez le démon PC/SC.
    sudo chkconfig pcscd on
    sudo service pcscd start
  10. Installez le module Horizon Agent, avec la redirection de carte à puce activée.
    sudo ./install_viewagent.sh -m yes
    Note : Si vous obtenez un message d'erreur vous demandant d'installer la bibliothèque PC/SC Lite par défaut, désinstallez la bibliothèque PC/SC Lite personnalisée actuellement présente sur la machine et installez la bibliothèque PC/SC Lite par défaut à l'aide de la commande suivante.
    yum reinstall pcsc-lite-libs pcsc-lite

    Vous pouvez ensuite exécuter le programme d'installation d'Horizon Agent.

  11. Si vous utilisez une bibliothèque PC/SC Lite personnalisée, configurez les options pcscd.maxReaderContext et pcscd.readBody dans le fichier /etc/vmware/config.
  12. Redémarrez la VM et reconnectez-vous.