Para configurar el redireccionamiento de tarjetas inteligentes en escritorios RHEL 7.x/6.x, instale las bibliotecas de las que depende la función, el certificado de CA raíz necesario para la autenticación y la biblioteca PC/SC Lite necesaria. Además, debe editar algunos archivos de configuración para completar la configuración de autenticación.

Utilice el siguiente procedimiento para configurar el redireccionamiento de tarjetas inteligentes en un escritorio RHEL 7.x/6.x.

Algunos ejemplos incluidos en el procedimiento utilizan valores de marcador de posición para representar entidades en su configuración de red, como el nombre de DNS de su dominio de AD. Reemplace los valores de marcador de posición con información específica de su configuración, tal y como se describe en la siguiente tabla.

Valor del marcador de posición Descripción
DIRECCIÓN_IP_dns Dirección IP del servidor de nombres DNS
midominio.com Nombre DNS de su dominio de AD
MIDOMINIO.COM Nombre DNS de su dominio de AD, en mayúsculas
MIDOMINIO Nombre DNS del grupo de trabajo o el dominio NT que incluye su servidor Samba, en mayúsculas
nombredehost-ads Nombre de host del servidor de AD
El redireccionamiento de tarjetas inteligentes se admite en escritorios con RHEL 6.0, RHEL 7.1 o versiones posteriores.
Nota: Si utiliza la consola de vSphere para iniciar sesión en un sistema RHEL 7.x. que tiene instalado Horizon Agent y tiene el redireccionamiento de tarjetas inteligentes habilitado, es posible que experimente un retraso de al menos dos minutos al cerrar sesión. Este retraso al cerrar sesión solo se produce desde la consola de vSphere. La experiencia de cierre de sesión de RHEL 7.x desde Horizon Client no se ve afectada.

Requisitos previos

Integrar escritorios RHEL 7.x/6.x con Active Directory para el redireccionamiento de tarjetas inteligentes

Procedimiento

  1. Instale las bibliotecas necesarias.
    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. Instale un certificado de una entidad de certificación (CA) raíz.
    1. Descargue un certificado de CA raíz y guárdelo en su escritorio en /tmp/certificate.cer. Consulte la sección Cómo exportar el certificado raíz firmado por una entidad de certificación.
    2. Busque el certificado de CA raíz que descargó y transfiéralo a un archivo .pem.
      openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem
    3. El comando certutil le permitirá instalar el certificado CA raíz en la base de datos del sistema /etc/pki/nssdb.
      certutil -A -d /etc/pki/nssdb -n "root CA cert" -t "CT,C,C" -i /tmp/certificate.pem
    4. Copie el certificado de CA raíz en el directorio /etc/pam_pkcs11/cacerts.
      mkdir -p /etc/pam_pkcs11/cacerts
      
      cp /tmp/certificate.pem /etc/pam_pkcs11/cacerts
  3. Desplácese hasta Aplicaciones > Sundry > Autenticación, marque la casilla de verificación Habilitar soporte para tarjetas inteligentes y haga clic en Aplicar.
  4. Copie los controladores de las tarjetas inteligentes y añada la biblioteca de controladores a la base de datos del sistema /etc/pki/nssdb.
    cp libcmP11.so /usr/lib64/
    modutil -add "piv card 2.0" -libfile /usr/lib64/libcmP11.so -dbdir /etc/pki/nssdb/
  5. Edite la opción module en el archivo de configuración /etc/pam_pkcs11/pam_pkcs11.conf, tal como se muestra en este ejemplo.
    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. Edite el archivo /etc/pam_pkcs11/cn_map para que incluya contenido similar al siguiente ejemplo. Para que se incluya el contenido específico, consulte la información del usuario que aparece en el certificado de la tarjeta inteligente.
    user sc -> user-sc
  7. Edite el archivo de configuración /etc/krb5.conf/, tal y como se muestra en el ejemplo siguiente.
    [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. Edite el archivo de configuración /etc/pam.d/system-auth para que incluya la línea que se muestra en el ejemplo siguiente.
    auth  optional  pam_krb5.so use_first_pass no_subsequent_prompt 
                    preauth_options=X509_user_identity=PKCS11:/usr/lib64/libcmP11.so
  9. Reinicie el demonio de PC/SC.
    chkconfig pcscd on
    service pcscd start
  10. Instale la versión de PC/SC Lite adecuada para su distribución de RHEL.
    • Para RHEL 7.x, instale PC/SC Lite 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
    • Para RHEL 6.x, instale PC/SC Lite 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. Instale el paquete Horizon Agent con el redireccionamiento de tarjetas inteligentes habilitado.
    sudo ./install_viewagent.sh -M yes
    Instale el paquete requerido para su distribución de RHEL:
    • Para RHEL 7.x, instale Horizon Agent 7.8 o una versión posterior.
    • Para RHEL 6.x, instale View Agent 6.2.1 o una versión posterior.
  12. Reinicie el sistema y vuelva a iniciar sesión.