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.

image de l'architecture 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

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 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 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 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 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 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 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 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 de la définition de la stratégie FAS

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. Voir l’article Service d’authentification fédérée.

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

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

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

Pas de complément. Voir 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. Voir l’article Service d’authentification fédérée.

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

Pas de complément. Voir 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

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.5
    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 CTX220130 du centre de connaissances.

Erreur de configuration du serveur FAS

Le lancement d’une session depuis le magasin FAS échoue et la fenêtre suivante s’affiche :

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 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 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 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 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 apparaît lors de l’ouverture de session sur le 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, veuillez consulter l’article 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 comme indiqué ci-dessous :

image de l'option Supply in the request