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 |
Procedimento
- Na VM base, verifique a conexão de rede com Active Directory.
sudo realm discover mydomain.com
- Instale os pacotes de dependências necessários.
sudo yum install oddjob oddjob-mkhomedir sssd adcli samba-common-tools
- Ingresse no domínio do AD.
sudo realm join --verbose mydomain.com -U administrator
- Instale o certificado de CA raiz ou a cadeia de certificados.
- 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
- 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
- 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
- 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.
- (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.
- Execute o comando para permitir explicitamente a política criptográfica SHA-1.
sudo update-crypto-policies --set DEFAULT:SHA1
- 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
- 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
- Instale o pacote Horizon Agent, com o True SSO ativado.
sudo ./install_viewagent.sh -T yes
- Modifique o arquivo de configuração /etc/vmware/viewagent-custom.conf para que ele inclua a seguinte linha.
- Reinicie a VM e faça login novamente.