Pour configurer la redirection de carte à puce sur un poste de travail RHEL 7.x/6.x, installez les bibliothèques dont dépend la fonctionnalité, le certificat d'autorité de certification racine 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 pour un poste de travail RHEL 7.x/6.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 les postes de travail exécutant RHEL 6.0 ou version ultérieure ou RHEL 7.1 ou version ultérieure.
Note : Si vous utilisez la console vSphere pour vous connecter à un système RHEL 7.x sur lequel 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 un poste de travail RHEL 7.x/6.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/
  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.
    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 la version PC/SC Lite requise pour votre distribution RHEL.
    • Pour RHEL 7.x, installez Lite PC/SC, 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
    • Pour RHEL 6.x, installez PC/SC Lite, version 1.7.4.
      yum groupinstall "Development tools"
      yum install libudev-devel
      service pcscd stop
      wget https://alioth.debian.org/frs/download.php/file/3598/pcsc-lite-1.7.4.tar.bz2
      tar -xjvf pcsc-lite-1.7.4.tar.bz2
      cd ./pcsc-lite-1.7.4
      ./configure --prefix=/usr/ --libdir=/usr/lib64/ --enable-usbdropdir=/usr/lib64/pcsc/drivers
       --enable-confdir=/etc --enable-ipcdir=/var/run  --disable-libusb --disable-serial --disable-usb
       --disable-libudev
      make
      make install
      service pcscd start
  11. Installez le module Horizon Agent, avec la redirection de carte à puce activée.
    sudo ./install_viewagent.sh -M yes
    Installez le module requis pour votre distribution RHEL :
    • Pour RHEL 7.x, vous devez installer Horizon Agent 7.8 ou version ultérieure.
    • Pour RHEL 6.x, vous devez installer View Agent 6.2.1 ou version ultérieure.
  12. Redémarrez votre système et reconnectez-vous.