Pour activer la fonctionnalité de True SSO sur une machine virtuelle (VM) Ubuntu/Debian, installez les bibliothèques dont dépend la fonctionnalité de True SSO, le certificat d'autorité de certification (CA) racine pour prendre en charge l'authentification approuvée et Horizon Agent. Si True SSO est également émise par une autorité de certification (CA) subordonnée, vous devez installer l'intégralité de la chaîne de certificats d'autorité de certification (CA) racine et subordonnée. Pour terminer la configuration de l'authentification, vous devez modifier certains fichiers de configuration.

Utilisez la procédure suivante pour activer True SSO sur une VM Ubuntu/Debian.

Conditions préalables

Procédure

  1. Sur la VM, installez le module de support pkcs11.
    sudo apt install libpam-pkcs11
  2. Installez le module libnss3-tools.
    sudo apt install libnss3-tools
  3. 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.
      sudo openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem
    2. Créez un répertoire /etc/pki/nssdb pour qu'il contienne la base de données système.
      sudo mkdir -p /etc/pki/nssdb
    3. Utilisez la commande certutil pour installer le certificat ou la chaîne de certificats d'autorité de certification (CA) racine dans la base de données système /etc/pki/nssdb.
      Remplacez « Certificat d'autorité de certification racine » dans l'exemple de commande suivant par le nom du certificat d'autorité de certification racine dans la base de données système.
      sudo certutil -A -d /etc/pki/nssdb -n "root CA cert" -t "CT,C,C" -i /tmp/certificate.pem
    4. Créez un répertoire /etc/pam_pkcs11/cacerts et copiez le certificat ou la chaîne de certificats d'autorité de certification (CA) racine à cet emplacement.
      sudo mkdir -p /etc/pam_pkcs11/cacerts
      sudo cp /tmp/certificate.pem /etc/pam_pkcs11/cacerts
    5. Créez un lien de hachage pour le certificat ou la chaîne de certificats d'autorité de certification (CA) racine. Dans le répertoire /etc/pam_pkcs11/cacerts, exécutez la commande suivante.
      sudo pkcs11_make_hash_link
  4. Installez le module Horizon Agent, avec True SSO activée.
    sudo ./install_viewagent.sh -T yes
  5. Ajoutez le paramètre suivant au fichier de configuration personnalisé Horizon Agent /etc/vmware/viewagent-custom.conf. Utilisez l'exemple suivant, où NETBIOS_NAME_OF_DOMAINE est le nom NetBIOS du domaine de votre organisation.
    NetbiosDomain=NETBIOS_NAME_OF_DOMAIN
  6. Modifiez le fichier de configuration /etc/pam_pkcs11/pam_pkcs11.conf.
    1. Si nécessaire, créez le fichier de configuration /etc/pam_pkcs11/pam_pkcs11.conf. Localisez le fichier d'exemple dans /usr/share/doc/libpam-pkcs11/examples, copiez-le dans le répertoire /etc/pam_pkcs11 et renommez le fichier pam_pkcs11.conf. Ajoutez les informations de votre système dans le fichier en fonction des besoins.
    2. Modifiez le fichier de configuration /etc/pam_pkcs11/pam_pkcs11.conf afin que son contenu soit semblable à l'exemple suivant.
      Note : Pour Ubuntu 20.04 ou une version ultérieure, ajoutez ms à la fin de la ligne use_mappers.
      use_pkcs11_module = coolkey;
      pkcs11_module coolkey {
        module = /usr/lib/vmware/viewagent/sso/libvmwpkcs11.so;
        slot_num = 0;
        ca_dir = /etc/pam_pkcs11/cacerts;
        nss_dir = /etc/pki/nssdb;
      }
      
      mapper ms {
        debug = false;
        module = internal;
        # module = /usr/$LIB/pam_pkcs11/ms_mapper.so;
        ignorecase = false;
        # ignore domain name
        ignoredomain = true;
        domain = "DOMAIN.COM"; #<== Replace "DOMAIN.COM" with your organization's domain name
      }
      
      use_mappers = digest, cn, pwent, uid, mail, subject, null, ms;  #<== For Ubuntu 20.04 or later, append "ms" at end of use_mappers
  7. Dans le terminal Linux, définissez les autorisations d'accès pour le fichier de configuration /etc/krb5.conf égal à 644, comme indiqué dans l'exemple suivant.
    sudo chmod 644 /etc/krb5.conf

    Vérifiez que les autorisations ont été modifiées.

    ls -l /etc/krb5.conf
    
    -rw-r--r-- 1 root root xxx xx xx xxxx /etc/krb5.conf
    Note : Si vous ne modifiez pas les autorisations de /etc/krb5.conf comme spécifié, la fonctionnalité de True SSO peut ne pas fonctionner.
  8. Redémarrez la VM et reconnectez-vous.