Para configurar el redireccionamiento de tarjetas inteligentes en una máquina virtual RHEL 7.9, instale las bibliotecas de las que depende la función, el certificado de entidad de certificación (CA) raíz necesario para la autenticación. Además, debe editar algunos archivos de configuración para completar la configuración de autenticación.

Para configurar el redireccionamiento de tarjetas inteligentes en una máquina virtual RHEL 7.9, utilice el siguiente procedimiento.

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
Nota: Si utiliza la consola de vSphere para iniciar sesión en una máquina virtual RHEL 7.9 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.9 desde Horizon Client no se ve afectada.

Requisitos previos

Integrar una máquina virtual RHEL 7.9 con AD para el redireccionamiento de tarjetas inteligentes

Procedimiento

  1. Instale las bibliotecas necesarias.
    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. Instale un certificado de 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.
      Reemplace el certificado de CA raíz en el siguiente comando de ejemplo con el nombre del certificado de CA raíz en la base de datos del sistema.
      sudo certutil -A -d /etc/pki/nssdb -n "root CA cert" -t "CT,C,C" -i /tmp/certificate.pem
  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. Edite la opción module en el archivo de configuración /etc/pam_pkcs11/pam_pkcs11.conf, tal como se muestra en este ejemplo.
    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. 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
  6. 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
  7. Si la máquina virtual ejecuta el entorno de escritorio MATE, agregue la línea auth include smartcard-auth al principio de /etc/pam.d/mate-screensaver, como se muestra en el siguiente ejemplo.
    #%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
    

    Debe aplicar esta configuración para que los usuarios puedan desbloquear la pantalla al iniciar sesión con una tarjeta inteligente.

  8. Para poder usar la función Single Sign-On (SSO) de tarjetas inteligentes y la pantalla de inicio de sesión de VMware cuando SSO está desactivado, configure el archivo /etc/vmware/viewagent-greeter.conf. Consulte Editar archivos de configuración en un escritorio Linux.
  9. Reinicie el demonio de PC/SC.
    sudo chkconfig pcscd on
    sudo service pcscd start
  10. Instale el paquete Horizon Agent con el redireccionamiento de tarjetas inteligentes habilitado.
    sudo ./install_viewagent.sh -m yes
    Nota: Si recibe un mensaje de error que le indica que instale la biblioteca PC/SC Lite predeterminada, desinstale la biblioteca PC/SC Lite personalizada que se encuentra actualmente en la máquina e instale la biblioteca PC/SC Lite predeterminada mediante el siguiente comando.
    yum reinstall pcsc-lite-libs pcsc-lite

    A continuación, puede ejecutar el instalador de Horizon Agent.

  11. Si utiliza una biblioteca PC/SC Lite personalizada, configure las opciones pcscd.maxReaderContext y pcscd.readBody en el archivo /etc/vmware/config.
  12. Reinicie la máquina virtual y vuelva a iniciar sesión.