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

Utilisez la procédure suivante pour configurer la redirection de carte à puce sur une VM RHEL 7.x.

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
La redirection de carte à puce est prise en charge sur des postes de travail exécutant RHEL 7.2 ou version ultérieure.
Note : Si vous utilisez la console vSphere pour vous connecter à une VM RHEL 7.x 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.x de Horizon Client n'est pas affectée.

Conditions préalables

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

Procédure

  1. Installez les bibliothèques requises.
    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 (CA).
    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.
      certutil -A -d /etc/pki/nssdb -n "root CA cert" -t "CT,C,C" -i /tmp/certificate.pem
    4. Copiez le certificat d'autorité de certification racine dans le répertoire /etc/pam_pkcs11/cacerts.
      mkdir -p /etc/pam_pkcs11/cacerts
      
      cp /tmp/certificate.pem /etc/pam_pkcs11/cacerts
  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. Copiez les pilotes de carte à puce et ajoutez la bibliothèque de pilotes au système de base de données /etc/pki/nssdb.
    cp libcmP11.so /usr/lib64/
    modutil -add "piv card 2.0" -libfile /usr/lib64/libcmP11.so -dbdir /etc/pki/nssdb/
    Note : Pour obtenir le pilote libcmP11.so, contactez votre fournisseur de carte à puce.
  5. Modifiez le paramètre module dans le fichier de configuration /etc/pam_pkcs11/pam_pkcs11.conf, comme indiqué dans l'exemple suivant.
    pkcs11_module coolkey {
          module = libcmP11.so;                
          description = "Cool Key";
          slot_num = 0;
          ca_dir = /etc/pam_pkcs11/cacerts; 
          nss_dir = /etc/pki/nssdb;
          cert_policy = ca, signature;
    }
  6. 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
  7. 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
  8. Modifiez le fichier de configuration /etc/pam.d/system-auth afin qu'il inclue la ligne indiquée dans l'exemple suivant. Assurez-vous que le contenu s'affiche sur une seule ligne sans retour chariot.
    auth  optional  pam_krb5.so use_first_pass no_subsequent_prompt preauth_options=X509_user_identity=PKCS11:/usr/lib64/libcmP11.so
  9. Redémarrez le démon PC/SC.
    chkconfig pcscd on
    service pcscd start
  10. Installez PC/SC Lite, version 1.8.8.
    yum install git flex autoconf automake libtool libudev-devel flex
    git clone https://salsa.debian.org/rousseau/PCSC.git
    cd PCSC
    git checkout -b pcsc-1.8.8 1.8.8
    ./bootstrap
    ./configure --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --program-prefix= 
       --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin
       --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 
       --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man 
       --infodir=/usr/share/info --disable-static --enable-usbdropdir=/usr/lib64/pcsc/drivers
    make
    make install
  11. Installez le module Horizon Agent, avec la redirection de carte à puce activée.
    sudo ./install_viewagent.sh -m yes
  12. Redémarrez la VM RHEL 7.x et reconnectez-vous.