Pour prendre en charge True SSO sur des postes de travail RHEL 9.x/8.x, vous devez d'abord intégrer la machine virtuelle (VM) de base à votre domaine Active Directory (AD). Vous devez ensuite modifier certaines configurations sur le système pour prendre en charge la fonctionnalité de True SSO.

Certains exemples de la procédure utilisent des valeurs d'espace réservé pour représenter des entités dans votre configuration réseau, telles que le nom DNS de votre domaine AD. Remplacez les valeurs d'espace réservé par des informations spécifiques à votre configuration, comme décrit dans le tableau suivant.

Valeur d'espace réservé Description
mydomain.com Nom DNS de votre domaine AD
MYDOMAIN.COM Nom DNS de votre domaine AD en majuscules
MYDOMAIN Nom de votre domaine NetBIOS
dnsserver.mydomain.com Nom de votre serveur DNS

Conditions préalables

  • Configurez True SSO pour Workspace ONE Access et Horizon Connection Server.
  • Vérifiez que le serveur Active Directory (AD) peut être résolu par DNS sur la VM de base.
  • Configurez le nom d'hôte de la VM.
  • Configurez le protocole NTP (Network Time Protocol) sur la VM.
  • Procurez-vous un certificat d'autorité de certification (CA) racine et enregistrez-le dans /tmp/certificate.cer sur la VM. Reportez-vous à Exportation du certificat d'autorité de certification de racine.

    Si une autorité de certification (CA) subordonnée est également une autorité émettrice, procurez-vous la chaîne complète de certificats d'autorité de certification (CA) racine et subordonnée et enregistrez-la dans /tmp/certificate.cer sur la machine virtuelle.

  • Pour utiliser True SSO en mode FIPS, assurez-vous que vous avez effectué toutes les étapes décrites dans la section Configurer une machine virtuelle Linux compatible FIPS. Vous devez ajouter le certificat d'autorité de certification approuvé pour VMwareBlastServer à /etc/vmware/ssl/rui.crt et ajouter la clé couplée avec rui.crt à /etc/vmware/ssl/rui.key.

Procédure

  1. Sur la VM de base, vérifiez la connexion réseau à Active Directory.
    realm discover mydomain.com
  2. Installez les modules de dépendance requis.
    yum install oddjob oddjob-mkhomedir sssd adcli samba-common-tools
  3. Joignez le domaine AD.
    realm join --verbose mydomain.com -U administrator
  4. Installez le certificat ou la chaîne de certificats d'autorité de certification (CA) racine.
    1. Localisez le certificat ou la chaîne de certificats d'autorité de certification (CA) racine que vous avez téléchargé et transférez-le vers un fichier PEM.
      openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem
      
    2. Copiez le certificat dans le fichier /etc/sssd/pki/sssd_auth_ca_db.pem.
      sudo cp /tmp/certificate.pem /etc/sssd/pki/sssd_auth_ca_db.pem
  5. Modifiez le fichier de configuration /etc/sssd/sssd.conf, comme indiqué dans l'exemple suivant.
    [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. Modifiez le fichier de configuration /etc/krb5.conf en définissant le mode égal à 644.
    Note : Si vous ne modifiez pas  /etc/krb5.conf comme spécifié, la fonctionnalité de True SSO peut ne pas fonctionner.
  7. (RHEL 9.x) Pour vous assurer que TrueSSO fonctionne correctement avec les pools de postes de travail d'Instant Clone, modifiez les configurations suivantes.
    Note : Vous pouvez ignorer ces configurations si vous n'utilisez pas la VM pour un pool de postes de travail d'Instant Clone.
    1. Exécutez la commande pour autoriser explicitement la stratégie de chiffrement SHA-1.
      update-crypto-policies --set DEFAULT:SHA1
    2. Localisez le certificat d'autorité de certification (CA) racine ou la chaîne de certificats que vous avez téléchargé précédemment et copiez-le dans /etc/pki/ca-trust/source/anchors/ca_cert.pem. Utilisez ensuite la commande update-ca-trust pour permettre aux applications héritées de lire les certificats approuvés.
      cp /tmp/certificate.pem /etc/pki/ca-trust/source/anchors/ca_cert.pem
      update-ca-trust
    3. Modifiez le fichier /etc/krb5.conf, comme indiqué dans l'exemple suivant.
      [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. Installez le module Horizon Agent, avec True SSO activée.
    sudo ./install_viewagent.sh -T yes
  9. Modifiez le fichier de configuration de /etc/vmware/viewagent-custom.conf afin qu'il inclue la ligne suivante.
    NetbiosDomain = MYDOMAIN
  10. Redémarrez la VM et reconnectez-vous.