Service d’authentification fédérée

Généralités

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.

Le diagramme suivant illustre l’intégration du Service d’authentification fédérée avec une autorité de certification Microsoft, ainsi que la fourniture de services de support à StoreFront et aux VDA XenApp et XenDesktop.

image localisée

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 XenApp ou XenDesktop 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

Le Service d’authentification fédérée est pris en charge sur les serveurs Windows (Windows Server 2008 R2 ou version supérieure).

  • Citrix vous recommande d’installer le FAS sur un serveur qui ne contient pas d’autres composants Citrix.
  • Le serveur Windows doit être sécurisé. Il aura accès à un certificat d’autorité d’inscription et à une clé privée qui lui permettent d’émettre automatiquement des certificats pour les utilisateurs du domaine, et il aura accès à ces certificats utilisateur et clés privées.

Dans le site XenApp ou XenDesktop :

  • 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 VDA Linux 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 comme indiqué ci-dessous :

image localisée

image localisée

image localisée

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 localisée

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 VDA Linux 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 localisée

image localisée

image localisée

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é, Citrix recommande d’installer 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 XenApp ou XenDesktop de manière à approuver les serveurs StoreFront qui peuvent s’y connecter : exécutez l’applet de commande PowerShell Set-BrokerSite -TrustRequestsSentToTheXmlServicePort $true. Vous devrez peut-être parfois lancer asnp citrix* en premier.

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 localisée

Activer la prise en charge du certificat dans la session

Le VDA Linux 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 VDA Linux

Définir les serveurs FAS

Dans le cadre d’une nouvelle installation VDA Linux, 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 VDA Linux 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 VDA Linux 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

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

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.

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

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/

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 les paramètres du service FAS :

sudo /opt/Citrix/VDA/sbin/ctxfascfg.sh

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

  • Dans la version 7.18, 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.4
    RHEL 6.9 × × ×
    RHEL 6.8 × × ×
    Ubuntu 16.04 (noyau 4.13) ×
    SLES 12.3 ×
  • 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 des architectures du Service d’authentification fédérée, dont Windows 10 Azure AD Join est exclu.

Résolution des problèmes

Avant de résoudre les problèmes dans FAS, assurez-vous que le VDA Linux 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.

S’il n’y a aucun problème avec les sessions non FAS, 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 depuis le magasin FAS échoue et la fenêtre suivante s’affiche :

image localisée

Vérifiez /var/log/xdl/hdx.log et recherchez le journal des erreurs similaire 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

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"

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 localisée

Vérifiez /var/log/xdl/hdx.log et recherchez le journal des erreurs similaire 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

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

    ......

}  

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 apparaître après qu’un utilisateur ADFS a tapé le nom d’utilisateur et le mot de passe sur la page de connexion ADFS.

image localisée

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 apparaît lors de l’ouverture de session sur le magasin FAS :

image localisée

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 localisée

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 comme indiqué ci-dessous :

image localisée