Linux Virtual Delivery Agent

Service d’authentification fédérée

Vue d’ensemble

Le Service d’authentification fédérée (FAS) de Citrix est un composant doté de privilèges conçu pour s’intégrer avec les Services de certificats Active Directory. Il émet des certificats pour les utilisateurs de manière dynamique, ce qui leur permet de se connecter à un environnement Active Directory comme s’ils avaient une carte à puce. Cette fonctionnalité permet à StoreFront d’utiliser une gamme plus large d’options d’authentification, telles que les assertions SAML (Security Assertion Markup Language). SAML est généralement utilisé comme une alternative aux comptes utilisateur Windows traditionnels sur Internet.

Remarque :

Pour utiliser l’authentification SAML, vous devez configurer FAS sur le VDA correctement.

À partir de la mise à jour cumulative CU3, Linux VDA utilise des connexions courtes pour transmettre des données avec des serveurs FAS.

Le diagramme suivant illustre l’intégration du FAS avec une autorité de certification Microsoft, ainsi que la fourniture de services de support à StoreFront et aux VDA.

Architecture de FAS

Les serveurs StoreFront de confiance contactent le FAS lorsque les utilisateurs demandent accès à l’environnement Citrix. Le FAS accorde un ticket qui permet à une seule session Citrix Virtual Apps ou Citrix Virtual Desktops de s’authentifier avec un certificat pour cette session. Lorsqu’un VDA doit authentifier un utilisateur, il se connecte au FAS utilise le ticket. Seul le FAS a accès à la clé privée du certificat utilisateur. Le VDA doit envoyer au FAS chaque opération de signature et de décryptage qu’il doit effectuer avec le certificat.

Exigences

FAS est pris en charge sous Windows Server 2008 R2 et versions ultérieures.

  • Nous vous recommandons d’installer le FAS sur un serveur qui ne contient pas d’autres composants Citrix.
  • Windows Server doit être sécurisé pour accéder à un certificat d’autorité d’inscription et à une clé privée pour émettre automatiquement des certificats pour les utilisateurs du domaine et pour accéder à ces certificats utilisateur et clés privées.

Dans un site Citrix Virtual Apps ou Citrix Virtual Desktops :

  • Les Delivery Controller doivent être à la version minimale 7.9.
  • Le serveur StoreFront doit être à la version minimale 3.6 (il s’agit de la version fournie avec l’ISO XenApp et XenDesktop 7.9).
  • Les Linux VDA doivent être à la version minimale 7.18. Vérifiez que la configuration de la stratégie de groupe Service d’authentification fédérée a été correctement appliquée aux VDA avant de créer le catalogue de machines de la manière habituelle. Pour plus d’informations, consultez la section Configurer une stratégie de groupe dans cet article.

Références :

Configurer Windows pour l’ouverture de session par certificat

Pour plus d’informations sur la configuration de Windows pour l’ouverture de session par certificat, consultez l’article CTX206156 du centre de connaissances pour télécharger et lire le fichier Smart_card_config_Citrix_Env.pdf (nommé ci-après « fichier PDF »). Effectuez les étapes suivantes selon le fichier PDF tout en notant les différences ou les compléments qui sont donnés à chaque étape. Prêtez une attention particulière à la machine cible sur laquelle vous travaillez, par exemple AD, Delivery Controller ou StoreFront.

Configurer un domaine Windows (sur AD)

Installer les rôles de contrôleur de domaine

Consultez la section Installing Domain Controller Roles (Installer les rôles de contrôleur de domaine) du fichier PDF.

Lors de l’installation des services de certificats Active Directory, assurez-vous que les options suivantes sont sélectionnées :

Image de la sélection des services de rôle

Image de la configuration des services de certificats Active Directory

Image de la fenêtre de configuration des services de certificats AD

Ouvrez http://localhost/certsrv/ pour vérifier si la page d’accueil suivante est affichée. Si elle est affichée, les services de certificats Active Directory ont bien été installés.

Image de la page d'accueil lorsque les services de certificat AD sont installés correctement

Préparer l’autorité de certification pour l’utilisation de la carte à puce

Pas de complément. Consultez la section Preparing the Certificate Authority for Smart card usage (Préparer l’autorité de certification pour l’utilisation de la carte à puce) du fichier PDF.

Émettre un certificat de contrôleur de domaine

Pas de complément. Consultez la section Issuing a Domain Controller Certificate (Émettre un certificat de contrôleur de domaine) du fichier PDF.

Configurer Microsoft IIS pour HTTPS (sur StoreFront)

Configurer HTTPS sur Microsoft IIS

Pas de complément. Consultez la section Configuring HTTPS on Microsoft IIS (Configurer HTTPS sur Microsoft IIS) du fichier PDF.

Ordinateurs n’appartenant pas au domaine

Consultez la section Non-Domain Joined Computers (Ordinateurs n’appartenant pas au domaine) du fichier PDF.

Récupérer le certificat CA à partir de l’autorité de certification Microsoft (sur AD)

Pas de complément. Consultez la section Retrieving the CA Certificate from the Microsoft CA (Récupérer le certificat CA à partir de l’autorité de certification Microsoft) du fichier PDF.

Installer le certificat CA de confiance sur Windows

Pas de complément. Consultez la section Installing the Trusted CA Certificate on Windows (Installer le certificat CA de confiance sur Windows) du fichier PDF.

Configurer Citrix StoreFront (sur StoreFront)

Créer un magasin

Consultez la section Creating the Store (Créer un magasin) du fichier PDF.

Après la configuration IIS précédente, l’URL de base du magasin commun est définie de manière forcée sur https:// plutôt que http://. FAS ne partageant pas le magasin avec les cartes à puce, un nouveau magasin est donc requis pour FAS. Le FAS du Linux VDA est compatible avec toutes les méthodes d’authentification StoreFront. Par exemple, le magasin FAS peut être configuré pour utiliser des mots de passe ou SAML, mais ne peut pas utiliser les deux en même temps. Lorsque SAML est sélectionné, l’URL de StoreFront est automatiquement redirigée vers le fournisseur d’identité et la méthode d’authentification par mot de passe est ignorée.

Image de la création d'un magasin FAS

Image de la gestion des méthodes d'authentification par carte à puce

Image de magasin FAS créé

Démarrez Internet Explorer et ouvrez l’URL du magasin FAS (par exemple, https://mzgwy-ddc.xd.local/Citrix/FASWeb).

Remarque : l’URL du magasin FAS doit disposer d’un lien Web.

Installer et configurer FAS

Le processus d’installation et de configuration comprend les étapes suivantes :

  1. Installer le Service d’authentification fédérée
  2. Activer le plug-in Service d’authentification fédérée sur les serveurs StoreFront
  3. Configurer une stratégie de groupe
  4. Utilisez la console d’administration Service d’authentification fédérée pour : (a) Déployer les modèles fournis, (b) Définir des autorités de certification, et (c) Autoriser le Service d’authentification fédérée à utiliser votre autorité de certification
  5. Configurer des règles d’utilisateur

Pour obtenir des instructions sur chacune des étapes, consultez la section Service d’authentification fédérée. Notez les différences ou les compléments suivants dans chacune des étapes. Prêtez une attention particulière à la machine cible sur laquelle vous travaillez, par exemple AD, Delivery Controller, StoreFront ou le serveur FAS.

Installer le Service d’authentification fédérée (sur le serveur FAS)

Pour des raisons de sécurité, installez le FAS sur un serveur dédié qui est sécurisé de la même manière qu’un contrôleur de domaine ou une autorité de certification.

Activer le plug-in Service d’authentification fédérée sur un magasin StoreFront (sur StoreFront)

Assurez-vous que la commande suivante utilise le même nom de magasin FAS que celui que vous avez saisi lors de la configuration de StoreFront. Par exemple, FAS est le nom du magasin dans cet exemple :

$StoreVirtualPath = “/Citrix/FAS

Configurer le Delivery Controller (sur Delivery Controller)

Pour utiliser le Service d’authentification fédérée, configurez le Delivery Controller de manière à approuver les serveurs StoreFront qui peuvent s’y connecter : exécutez l’applet de commande PowerShell Set-BrokerSite -TrustRequestsSentToTheXmlServicePort $true. Parfois, vous devrez peut-être exécuter d’abord Add-PSSnapin citrix.*.

Configurer la stratégie de groupe (sur le serveur FAS et sur l’AD)

Vous devez être administrateur pour pouvoir effectuer les étapes 1 à 7 dans cette section. L’étape 1 doit être effectuée sur le serveur FAS et les étapes 2 à 7 doivent être effectuées sur l’AD.

Après avoir effectué les étapes 1 à 7, vérifiez que la stratégie FAS a été définie dans l’Éditeur du Registre du serveur FAS.

Image de la définition de la stratégie FAS

Activer la prise en charge du certificat dans la session

Le Linux VDA ne prend pas en charge les certificats dans la session.

Utiliser la console d’administration du Service d’authentification fédérée (sur le serveur FAS)

Pas de complément. Consultez l’article Service d’authentification fédérée.

Déployer des modèles de certificat (sur le serveur FAS)

Pas de complément. Consultez l’article Service d’authentification fédérée.

Configurer des services de certificats Active Directory (sur le serveur FAS)

Pas de complément. Consultez l’article Service d’authentification fédérée.

Autoriser le Service d’authentification fédérée (sur le serveur FAS)

Pas de complément. Consultez l’article Service d’authentification fédérée.

Configurer les règles d’utilisateur (sur le serveur FAS)

Pas de complément. Consultez l’article Service d’authentification fédérée.

Pour plus d’informations, consultez également les parties Agents d’inscription délégués et Configuration de la liste de contrôle d’accès dans la section Considérations de sécurité de l’article Service d’authentification fédérée.

Déploiement ADFS du Service d’authentification fédérée

Pour plus d’informations sur le déploiement du fournisseur d’identité ADFS pour le Service d’authentification fédérée, consultez la section Déploiement ADFS du Service d’authentification fédérée.

Configurer le Linux VDA

Définir les serveurs FAS

Dans le cadre d’une nouvelle installation Linux VDA, pour utiliser FAS, tapez le nom de domaine complet de chaque serveur FAS lorsque CTX_XDL_FAS_LIST vous est demandé lors de l’exécution de ctxinstall.sh ou de ctxsetup.sh. Comme le Linux VDA ne prend pas en charge la stratégie de groupe AD, vous pouvez fournir une liste de serveurs FAS séparés par des points-virgules. Si une adresse de serveur est supprimée, remplissez son espace vide avec la chaîne de texte <none> et conservez la séquence d’adresses du serveur sans effectuer de modification.

Pour mettre à niveau une installation Linux VDA existante, vous pouvez réexécuter ctxsetup.sh pour définir les serveurs FAS. Vous pouvez également exécuter les commandes suivantes pour définir les serveurs FAS et redémarrer le service ctxvda pour que vos paramètres prennent effet.

sudo /opt/Citrix/VDA/bin/ctxreg create -k "HKLM\Software\Citrix\VirtualDesktopAgent\Authentication\UserCredentialService" -t "REG_SZ" -v "Addresses" -d "<Your-FAS-Server-List>" --force

service ctxvda restart
<!--NeedCopy-->

Pour mettre à jour les serveurs FAS via ctxreg, exécutez les commandes suivantes :

sudo /opt/Citrix/VDA/bin/ctxreg update -k "HKLM\Software\Citrix\VirtualDesktopAgent\Authentication\UserCredentialService" -v "Addresses" -d "<Your-FAS-Server-List>"

service ctxvda restart
<!--NeedCopy-->

Installer un certificat d’autorité de certification racine

Pour la vérification des certificats des utilisateurs, installez le certificat d’autorité de certification racine sur le VDA. Vous pouvez obtenir le certificat racine AD depuis l’étape précédente Récupérer le certificat CA à partir de l’autorité de certification Microsoft (sur AD) ou télécharger son format DER à partir du serveur de l’autorité de certification racine http://CA-SERVER/certsrv.

Remarque :

Les commandes suivantes s’appliquent également à la configuration d’un certificat intermédiaire.

Vous pouvez exécuter une commande similaire à la suivante pour convertir un fichier DER (.crt, .cer, .der) en PEM.

sudo openssl x509 -inform der -in root.cer -out root.pem
<!--NeedCopy-->

Installez ensuite le certificat d’autorité de certification racine dans le répertoire openssl en exécutant la commande suivante :

sudo cp root.pem /etc/pki/CA/certs/
<!--NeedCopy-->

Remarque :

ne placez pas le certificat d’autorité de certification racine sous le chemin d’accès /root. Sinon, FAS n’a pas l’autorisation de lecture sur le certificat d’autorité de certification racine.

Configurer FAS

Exécutez la commande suivant pour configurer FAS :

sudo /opt/Citrix/VDA/sbin/ctxfascfg.sh
<!--NeedCopy-->

Remarque :

Le script précédent gère uniquement les scénarios utilisant un seul certificat d’autorité de certification racine.

Si des certificats intermédiaires sont utilisés dans votre environnement, ajoutez les chemins intermédiaires à /etc/krb5.conf comme suit :

[realms]
EXAMPLE.COM = {

pkinit_anchors = FILE:/etc/pki/CA/certs/root.pem
pkinit_pool = FILE:/etc/pki/CA/certs/intermediate.pem

}

Deux variables d’environnement sont ajoutées pour pouvoir exécuter ctxfascfg.sh en mode silencieux :

  • CTX_FAS_ADINTEGRATIONWAY=winbind | sssd | centrify : indique la méthode d’intégration d’Active Directory, qui est CTX_EASYINSTALL_ADINTEGRATIONWAY lorsque CTX_EASYINSTALL_ADINTEGRATIONWAY est spécifié. Si CTX_EASYINSTALL_ADINTEGRATIONWAY n’est pas spécifié, CTX_FAS_ADINTEGRATIONWAY utilise son propre paramètre de valeur.

  • CTX_FAS_ROOT_CA_PATH=<root_CA_certificate> : spécifie le chemin complet du certificat d’autorité de certification racine.

Choisissez la méthode d’intégration Active Directory correcte, puis tapez le chemin correct du certificat d’autorité de certification racine (par exemple, /etc/pki/CA/certs/root.pem).

Le script installe ensuite les packages krb5-pkinit et pam_krb5 et définit les fichiers de configuration pertinents.

Limitation

  • FAS prend en charge des plateformes et des méthodes d’intégration AD limitées. Reportez-vous à la matrice suivante :

      Winbind SSSD Centrify
    RHEL 7.7 /CentOS 7.7 Oui Oui Oui
    Ubuntu 18.04 Oui Non Oui
    Ubuntu 16.04 Oui Non Oui
    SLES 12.3 Oui Non Oui
  • FAS ne prend pas encore en charge l’écran de verrouillage. Si vous cliquez sur le bouton de verrouillage dans une session, vous ne pouvez plus vous reconnecter à la session en utilisant FAS.
  • Cette version ne prend en charge que les déploiements FAS courants décrits dans l’article Vue d’ensemble de l’architecture du Service d’authentification fédérée, dont Windows 10 Azure AD Join est exclu.

Dépannage

Avant de résoudre les problèmes dans FAS, assurez-vous que le Linux VDA est installé et configuré correctement afin qu’une session non FAS puisse être lancée dans le magasin commun en utilisant l’authentification par mot de passe.

Si les sessions non FAS fonctionnent correctement, définissez le niveau de journalisation HDX de la classe Login sur VERBOSE et le niveau de journalisation VDA sur TRACE. Pour plus d’informations sur l’activation de la consignation de trace pour Linux VDA, consultez l’article du centre de connaissances CTX220130.

Erreur de configuration du serveur FAS

Le lancement d’une session à partir du magasin FAS échoue. Pour obtenir un exemple, consultez la capture d’écran suivante :

Image d'échec de lancement d'une session à partir du magasin FAS

Vérifiez /var/log/xdl/hdx.log et recherchez le journal des erreurs semblable au suivant :

2018-03-27 10:17:56.722 <P10122:S2> citrix-ctxlogin: query2fas: failed to retrieve data: No such file or directory.

2018-03-27 10:17:56.722 <P10122:S2> citrix-ctxlogin: sayhello2fas_internal: Failed to query.

2018-03-27 10:17:56.722 <P10122:S2> citrix-ctxlogin: sayhello2fas_convertcredential: exit.

2018-03-27 10:17:56.722 <P10122:S2> citrix-ctxlogin: LoginFasValidate: Failed to start FAS.

2018-03-27 10:17:56.722 <P10122:S2> citrix-ctxlogin: receive_data: LoginFASValidate - parameters check error.

2018-03-27 10:17:56.722 <P10122:S2> citrix-ctxlogin: receive_data: Exit FAILURE

2018-03-27 10:17:56.722 <P10122:S2> citrix-ctxlogin: main: EXITING login process..., FAILURE
<!--NeedCopy-->

Solution

Exécutez la commande suivante pour vérifier que la valeur de Registre Citrix « HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\VirtualDesktopAgent\Authentication\UserCredentialService » est définie sur <Your-FAS-Server-List>.

sudo /opt/Citrix/VDA/bin/ctxreg dump | grep "UserCredentialService"
<!--NeedCopy-->

Si le paramètre existant est incorrect, suivez l’étape précédente Définir les serveurs FAS pour le définir à nouveau.

Configuration du certificat d’autorité de certification racine incorrecte

Le lancement d’une session à partir du magasin FAS échoue. Une fenêtre grise apparaît et disparaît quelques secondes plus tard.

Image d'ouverture de session non valide en raison d'une configuration incorrecte du certificat d'autorité de certification racine

Vérifiez /var/log/xdl/hdx.log et recherchez le journal des erreurs semblable au suivant :

2018-03-27 10:15:52.227 <P9099:S3> citrix-ctxlogin: validate_user: pam_authenticate err,can retry for user user1@CTXFAS.LAB

2018-03-27 10:15:52.228 <P9099:S3> citrix-ctxlogin: logout_user: closing session and pam transaction

2018-03-27 10:15:52.228 <P9099:S3> citrix-ctxlogin: validate_user: Exit (user=user1@CTXFAS.LAB)=INVALID_PASSWORD

2018-03-27 10:15:52.228 <P9099:S3> citrix-ctxlogin: LoginBoxValidate: failed validation of user 'user1@CTXFAS.LAB', INVALID_PASSWORD

2018-03-27 10:15:52.228 <P9099:S3> citrix-ctxlogin: Audit_login_failure: Not yet implemented
<!--NeedCopy-->

Solution

Vérifiez que le chemin d’accès complet du certificat d’autorité de certification racine est correctement défini dans /etc/krb5.conf. Le chemin d’accès complet est similaire au suivant :


 [realms]

EXAMPLE.COM = {

    ......

    pkinit_anchors = FILE:/etc/pki/CA/certs/root.pem

    ......

}  
<!--NeedCopy-->

Si le paramètre existant est incorrect, suivez l’étape précédente Installer un certificat d’autorité de certification racine pour le définir à nouveau.

Vous pouvez également vérifier si le certificat d’autorité de certification racine est valide.

Erreur de mappage du compte fictif

FAS est configuré par l’authentification SAML. L’erreur suivante peut survenir après qu’un utilisateur ADFS entre le nom d’utilisateur et le mot de passe sur la page de connexion ADFS.

Image d'erreur de mappage du compte fictif

Cette erreur indique que l’utilisateur ADFS a été vérifié, mais qu’aucun utilisateur fictif n’est configuré sur AD.

Solution

Définissez le compte fictif sur AD.

ADFS non configuré

L’erreur suivante se produit lors d’une tentative d’ouverture de session au magasin FAS :

Image d'ADFS non configuré

Cette erreur apparaît car le magasin FAS est configuré pour utiliser l’authentification SAML alors que le déploiement ADFS est manquant.

Solution

Déployez le fournisseur d’identité ADFS du Service d’authentification fédérée. Pour plus d’informations, consultez la section Déploiement ADFS du Service d’authentification fédérée.

Informations connexes

Problème connu

Lorsque FAS est utilisé, la tentative de lancement d’une session de bureau ou d’application publiée avec des caractères non anglais peut échouée.

Image de l'échec de lancement de sessions avec une langue autre que l'anglais

Solution

Cliquez avec le bouton droit sur Manage Templates dans l’outil d’autorité de certification pour modifier le modèle Citrix_SmartcardLogon à partir de Build from this Active Directory information vers Supply in the request :

Image de l'option Supply in the request

Service d’authentification fédérée