Para configurar o redirecionamento de cartão inteligente em uma máquina virtual (VM) RHEL 7.9, instale as bibliotecas das quais o recurso depende e o certificado raiz da Autoridade de Certificação (CA) necessário para autenticação. Além disso, você deve editar alguns arquivos de configuração para concluir a configuração da autenticação.

Para configurar o redirecionamento de smart card em uma VM RHEL 7.9, use o procedimento a seguir.

Alguns exemplos no procedimento usam valores de espaço reservado para representar entidades em sua configuração de rede, como o nome DNS do seu domínio do AD. Substitua os valores do espaço reservado por informações específicas para sua configuração, conforme descrito na tabela a seguir.

Valor do espaço reservado Descrição
dns_IP_ADDRESS Endereço IP do seu servidor de nomes DNS
meudomínio.com Nome DNS do seu domínio do AD
MEUDOMÍNIO.COM Nome DNS do seu domínio do AD, em letras maiúsculas
MEUDOMÍNIO Nome DNS do grupo de trabalho ou domínio NT que inclui o servidor Samba, em letras maiúsculas
ads-hostname Nome do host do seu servidor AD
Observação: Se você usar o console vSphere para fazer login em um RHEL 7.9. VM que tem o Horizon Agent instalado e o redirecionamento de cartão inteligente ativado, você pode enfrentar um tempo de logout atrasado de dois minutos ou mais. Esse logout atrasado ocorre apenas no console vSphere. A experiência de logout do RHEL 7.9 de Horizon Client não é afetada.

Pré-requisitos

Integrar uma máquina virtual RHEL 7.9 com Active Directory para redirecionamento de cartão inteligente

Procedimento

  1. Instale as bibliotecas necessárias.
    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 um certificado de CA raiz.
    1. Faça download de um certificado de CA raiz e salve-o em /tmp/certificate.cer em sua área de trabalho. Consulte Como exportar o certificado da autoridade de certificação raiz.
    2. Localize o certificado de CA raiz que você baixou e transfira-o para um arquivo .pem.
      openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem
    3. Use o comando certutil para instalar o certificado de CA raiz no banco de dados do sistema /etc/pki/nssdb.
      Substitua "certificado de CA raiz" no seguinte comando de exemplo pelo nome do certificado de CA raiz no banco de dados do sistema.
      sudo certutil -A -d /etc/pki/nssdb -n "root CA cert" -t "CT,C,C" -i /tmp/certificate.pem
  3. Navegue até Aplicativos (Applications) > Diversos (Sundry) > Autenticação (Authentication), marque a caixa de seleção Ativar suporte a smart card (Enable smart card support) e clique em Aplicar (Apply).
  4. Edite a configuração do module no arquivo de configuração /etc/pam_pkcs11/pam_pkcs11.conf, conforme mostrado no exemplo a seguir.
    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 o arquivo /etc/pam_pkcs11/cn_map para que ele inclua conteúdo semelhante ao exemplo a seguir. Para obter o conteúdo específico a ser incluído, consulte as informações do usuário listadas no certificado do cartão inteligente.
    user sc -> user-sc
  6. Edite o arquivo de configuração /etc/krb5.conf/, conforme mostrado no exemplo a seguir.
    [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. Se a VM estiver executando o ambiente de área de trabalho MATE, adicione a linha auth include smartcard-auth ao início de /etc/pam.d/mate-screensaver conforme mostrado no exemplo a seguir.
    #%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
    

    Você deve realizar essa configuração para garantir que os usuários possam desbloquear a tela ao fazer login com um cartão inteligente.

  8. Para oferecer suporte ao recurso Single Sign-on (SSO) do cartão inteligente, configure o arquivo /etc/vmware/viewagent-greeter.conf. Consulte Definindo opções em arquivos de configuração em uma área de trabalho Linux.
  9. Reinicie o daemon PC/SC.
    sudo chkconfig pcscd on
    sudo service pcscd start
  10. Instale o pacote Horizon Agent, com o redirecionamento de cartão inteligente ativado.
    sudo ./install_viewagent.sh -m yes
    Observação: Se você receber uma mensagem de erro instruindo-o a instalar a biblioteca PC/SC Lite padrão, desinstale a biblioteca PC/SC Lite personalizada que está atualmente presente na máquina e instale a biblioteca PC/SC Lite padrão usando o seguinte comando.
    yum reinstall pcsc-lite-libs pcsc-lite

    Em seguida, você pode executar o instalador Horizon Agent.

  11. Se você estiver usando uma biblioteca personalizada do PC/SC Lite, configure as opções pcscd.maxReaderContext e pcscd.readBody no arquivo /etc/vmware/config.
  12. Reinicie a VM e faça login novamente.