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.
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 :
- Services de certificats Active Directory
https://social.technet.microsoft.com/wiki/contents/articles/1137.active-directory-certificate-services-ad-cs-introduction.aspx - Configuration de Windows pour l’ouverture de session par certificat
http://support.citrix.com/article/CTX206156 - Installation du Service d’authentification fédérée
Service d’authentification fédérée
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 :
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.
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.
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 :
- Installer le Service d’authentification fédérée
- Activer le plug-in Service d’authentification fédérée sur les serveurs StoreFront
- Configurer une stratégie de groupe
- 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
- 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.
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
lorsqueCTX_EASYINSTALL_ADINTEGRATIONWAY
est spécifié. SiCTX_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 :
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.
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.
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 :
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
- Les déploiements FAS courants sont décrits dans l’article Vue d’ensemble de l’architecture du Service d’authentification fédérée.
- Des informations pratiques sont disponibles dans le chapitre Configuration avancée du Service d’authentification fédérée.
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.
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 :