Para oferecer suporte ao True SSO em um desktop RHEL ou Rocky Linux 9.x/8.x, você deve primeiro integrar a máquina virtual (VM) base ao seu domínio Active Directory (AD). Em seguida, você deve modificar determinadas configurações no sistema para oferecer suporte ao recurso True SSO.

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
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 do seu domínio NetBIOS
DNSserver.meudomínio.com Nome do seu servidor DNS

Pré-requisitos

  • Configure o True SSO para acesso de Workspace ONE e Horizon Connection Server.
  • Verifique se o servidor Active Directory (AD) pode ser resolvido pelo DNS na VM base.
  • Configure o nome do host da VM.
  • Configure o Network Time Protocol (NTP) na VM.
  • Obtenha um certificado de Autoridade de Certificação (CA) raiz e salve-o em /tmp/certificate.cer na VM. Consulte Como exportar o certificado da autoridade de certificação raiz.

    Se uma autoridade de certificação subordinada também for uma autoridade emissora, obtenha toda a cadeia de certificados de autoridade de certificação raiz e subordinada e salve-a em /tmp/certificate.cer na VM.

  • Para usar o True SSO no modo FIPS, certifique-se de ter concluído todas as etapas descritas em Configurar uma máquina Linux compatível com FIPS. Você deve adicionar o certificado de autoridade de certificação confiável para VMwareBlastServer a /etc/vmware/ssl/rui.crt e adicionar a chave emparelhada com rui.crt a /etc/vmware/ ssl/rui.key.

Procedimento

  1. Na VM base, verifique a conexão de rede com Active Directory.
    sudo realm discover mydomain.com
  2. Instale os pacotes de dependências necessários.
    sudo yum install oddjob oddjob-mkhomedir sssd adcli samba-common-tools
  3. Ingresse no domínio do AD.
    sudo realm join --verbose mydomain.com -U administrator
  4. Instale o certificado de CA raiz ou a cadeia de certificados.
    1. Localize o certificado de CA raiz ou a cadeia de certificados que você baixou e transfira-o para um arquivo PEM.
      sudo openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem
      
    2. Copie o certificado para o arquivo /etc/sssd/pki/sssd_auth_ca_db.pem.
      sudo cp /tmp/certificate.pem /etc/sssd/pki/sssd_auth_ca_db.pem
  5. Modifique o arquivo de configuração /etc/sssd/sssd.conf, conforme mostrado no exemplo a seguir.
    [sssd]
    domains = mydomain.com
    config_file_version = 2
    services = nss, pam
     
    [domain/mydomain.com]
    ad_domain = mydomain.com
    krb5_realm = MYDOMAIN.COM
    realmd_tags = manages-system joined-with-adcli
    cache_credentials = True
    id_provider = ad
    krb5_store_password_if_offline = True
    default_shell = /bin/bash
    ldap_id_mapping = True
    use_fully_qualified_names = False             #Use short name for user
    fallback_homedir = /home/%u@%d
    access_provider = ad
    ad_gpo_map_interactive = +gdm-vmwcred         #Add this line for SSO
     
    [pam]                                         #Add pam section for certificate logon
    pam_cert_auth = True                          #Add this line to enable certificate logon for system
    pam_p11_allowed_services = +gdm-vmwcred       #Add this line to enable certificate logon for VMware Horizon Agent
     
    [certmap/mydomain.com/truesso]                #Add this section and following lines to set match and map rule for certificate user
    matchrule = <EKU>msScLogin
    maprule = (|(userPrincipal={subject_principal})(samAccountName={subject_principal.short_name}))
    domains = mydomain.com
    priority = 10
  6. Modifique o arquivo de configuração /etc/krb5.conf definindo o modo como igual a 644.
    Observação: Se você não modificar /etc/krb5.conf conforme especificado, o recurso True SSO poderá não funcionar.
  7. (RHEL ou Rocky Linux 9.x) Para garantir que o TrueSSO funcione corretamente com pools de desktops de clone instantâneo, modifique as seguintes configurações.
    Observação: Você poderá ignorar essas configurações se não estiver usando a VM para um pool de desktops de clone instantâneo.
    1. Execute o comando para permitir explicitamente a política criptográfica SHA-1.
      sudo update-crypto-policies --set DEFAULT:SHA1
    2. Localize o certificado de CA raiz ou a cadeia de certificados que você baixou anteriormente e copie-o para /etc/pki/ca-trust/source/anchors/ca_cert.pem. Em seguida, use o comando update-ca-trust para permitir que aplicativos herdados leiam os certificados confiáveis.
      sudo cp /tmp/certificate.pem /etc/pki/ca-trust/source/anchors/ca_cert.pem
      sudo update-ca-trust
    3. Modifique o arquivo /etc/krb5.conf, conforme mostrado no exemplo a seguir.
      [realms]
           MYDOMAIN.COM = {
                kdc =  dnsserver.mydomain.com
                admin_server =  dnsserver.mydomain.com
                pkinit_anchors = DIR:/etc/pki/ca-trust/source/anchors
                pkinit_kdc_hostname =  dnsserver.mydomain.com
                pkinit_eku_checking = kpServerAuth
           }
      [domain_realm]
           .mydomain.com = MYDOMAIN.COM
           mydomain.com = MYDOMAIN.COM
  8. Instale o pacote Horizon Agent, com o True SSO ativado.
    sudo ./install_viewagent.sh -T yes
  9. Modifique o arquivo de configuração /etc/vmware/viewagent-custom.conf para que ele inclua a seguinte linha.
    NetbiosDomain = MYDOMAIN
  10. Reinicie a VM e faça login novamente.