Service d’authentification fédérée
Vue d’ensemble
Le service d’authentification fédérée (FAS) de Citrix est un composant privilégié conçu pour s’intégrer aux services de certificats Active Directory. Il émet dynamiquement des certificats pour les utilisateurs, leur permettant de se connecter à un environnement Active Directory comme s’ils possédaient 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 couramment utilisé comme alternative aux comptes d’utilisateur Windows traditionnels sur Internet.
Remarque :
Pour utiliser l’authentification SAML, configurez correctement FAS sur le VDA.
À partir de CU3, le VDA Linux utilise des connexions courtes pour transmettre des données aux serveurs FAS.
Le diagramme suivant montre FAS intégré à une autorité de certification Microsoft et fournissant des services de support pour StoreFront et les VDA.
-

-
Les serveurs StoreFront approuvés contactent le FAS lorsque les utilisateurs demandent l’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 et échange le ticket. Seul le FAS a accès à la clé privée du certificat utilisateur. Le VDA doit envoyer chaque opération de signature et de déchiffrement qu’il doit effectuer avec le certificat au FAS.
-
Exigences
-
FAS est pris en charge sur Windows Server 2008 R2 et versions ultérieures.
- Nous vous recommandons d’installer FAS sur un serveur qui ne contient pas d’autres composants Citrix.
- Le serveur Windows doit être sécurisé pour l’accès à un certificat d’autorité d’enregistrement et à une clé privée afin d’émettre automatiquement des certificats pour les utilisateurs de domaine et pour l’accès à ces certificats utilisateur et clés privées.
Dans un site Citrix Virtual Apps™ ou Citrix Virtual Desktops :
- Les Delivery Controllers doivent être au minimum en version 7.9.
- Le serveur StoreFront doit être au minimum en version 3.6 (version fournie avec l’ISO XenApp et XenDesktop 7.9).
- Les VDA Linux doivent être au minimum en version 7.18. Vérifiez que la configuration de la stratégie de groupe du service d’authentification fédérée a été appliquée correctement aux VDA avant de créer le catalogue de machines de la manière habituelle. Pour plus d’informations, consultez la section Configurer la 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 la connexion 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 la connexion par certificat
Pour plus d’informations sur la configuration de Windows pour la connexion par certificat, ouvrez l’article du Knowledge Center CTX206156 pour télécharger et lire le fichier Smart_card_config_Citrix_Env.pdf (ci-après « le fichier PDF »). Effectuez les étapes suivantes conformément au fichier PDF tout en notant les différences ou les compléments donnés à chaque étape. Portez une attention particulière à la machine cible sur laquelle vous opérez, par exemple, l’AD, le 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 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 s’il affiche la page d’accueil suivante. Si oui, les services de certificats Active Directory sont installés avec succès.

Préparer l’autorité de certification pour l’utilisation de cartes à puce
Pas de complément. Consultez la section Preparing the Certificate Authority for Smart card usage du fichier PDF.
Émettre un certificat de contrôleur de domaine
Pas de complément. Consultez la section Issuing a Domain Controller Certificate 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 du fichier PDF.
Ordinateurs non joints au domaine
Consultez la section Non-Domain Joined Computers du fichier PDF.
Récupérer le certificat CA de l’autorité de certification Microsoft (sur AD)
Pas de complément. Consultez la section Retrieving the CA Certificate from the Microsoft CA du fichier PDF.
Installer le certificat CA approuvé sur Windows
Pas de complément. Consultez la section Installing the Trusted CA Certificate on Windows du fichier PDF.
Configurer Citrix StoreFront (sur StoreFront)
Créer le magasin
Consultez la section Creating the Store du fichier PDF.
Après la configuration IIS précédente, l’URL de base du magasin commun est forcée à https:// plutôt que http://. Étant donné que FAS ne partage pas le magasin avec les cartes à puce, un nouveau magasin est nécessaire 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 redirige automatiquement vers l’IdP 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 avoir Web ajouté.
Installer et configurer FAS
Le processus d’installation et de configuration comprend les étapes suivantes :
- Installez le service d’authentification fédérée
- Activez le plug-in du service d’authentification fédérée sur les serveurs StoreFront
- Configurez la stratégie de groupe
- Utilisez la console d’administration du service d’authentification fédérée pour : (a) Déployer les modèles fournis, (b) Configurer les autorités de certification et (c) Autoriser le service d’authentification fédérée à utiliser votre autorité de certification
- Configurez les règles utilisateur
Pour obtenir des instructions sur chacune de ces étapes, consultez la section Service d’authentification fédérée. Notez les différences ou compléments suivants pour chaque étape. Portez une attention particulière à la machine cible sur laquelle vous opérez, par exemple, l’AD, le Delivery Controller, StoreFront ou le serveur FAS.
Installez le service d’authentification fédérée (sur le serveur FAS)
Pour des raisons de sécurité, installez FAS sur un serveur dédié sécurisé de manière similaire à un contrôleur de domaine ou à une autorité de certification.
Activez le plug-in du 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”
Configurez le Delivery Controller™ (sur Delivery Controller)
Pour utiliser le service d’authentification fédérée, configurez le Delivery Controller pour qu’il approuve 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 Add-PSSnapin citrix.* au préalable.
Configurez la stratégie de groupe (sur le serveur FAS et sur l’AD)
Vous devez être administrateur pour pouvoir effectuer les étapes 1 à 7 de cette section. L’étape 1 doit être effectuée sur le serveur FAS et les étapes 2 à 7 sur l’AD.
Une fois les étapes 1 à 7 terminées, vérifiez dans l’Éditeur du Registre du serveur FAS que la stratégie FAS a été définie.

Activez la prise en charge des certificats de session
- Le VDA Linux ne prend pas en charge les certificats de session.
Utilisez la console d’administration du service d’authentification fédérée (sur le serveur FAS)
- Aucun complément. Consultez l’article Service d’authentification fédérée.
Déployez les modèles de certificat (sur le serveur FAS)
Aucun complément. Consultez l’article Service d’authentification fédérée.
Configurez les services de certificats Active Directory (sur le serveur FAS)
- Aucun complément. Consultez l’article Service d’authentification fédérée.
Autorisez le service d’authentification fédérée (sur le serveur FAS)
Aucun complément. Consultez l’article Service d’authentification fédérée.
Configurez les règles utilisateur (sur le serveur FAS)
Aucun complément. Consultez l’article Service d’authentification fédérée.
Pour plus d’informations, consultez également les sections 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 de l’IdP ADFS pour le service d’authentification fédérée, consultez la section Déploiement ADFS du service d’authentification fédérée.
Configurez le VDA Linux
Définissez les serveurs FAS
Pour une nouvelle installation du VDA Linux, afin d’utiliser FAS, saisissez le FQDN de chaque serveur FAS lorsque vous êtes invité à entrer CTX_XDL_FAS_LIST lors de l’exécution de ctxinstall.sh ou ctxsetup.sh. Étant donné que 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 de serveur sans aucune modification.
Pour mettre à niveau une installation existante du VDA Linux, 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 afin que votre paramètre prenne 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
Votre-Liste-Serveurs-FAS
### Installez 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. Obtenez le certificat racine AD à partir de l'étape précédente **Récupérer le certificat d'autorité de certification de l'autorité de certification Microsoft (sur AD)**, ou téléchargez son format DER depuis le serveur d'autorité de certification racine `http://CA-SERVER/certsrv`.
>**Remarque :**
>
>Les commandes suivantes s'appliquent également à la configuration d'un certificat intermédiaire.
Convertissez un fichier DER (.crt, .cer, .der) en PEM en exécutant une commande similaire à la suivante :
<!--NeedCopy-->
sudo openssl x509 -inform der -in root.cer -out root.pem
Ensuite, installez le certificat d'autorité de certification racine dans le répertoire openssl en exécutant une commande similaire à la suivante :
<!--NeedCopy-->
sudo cp root.pem /etc/pki/CA/certs/
> **Remarque :**
>
- >
- > Ne placez pas le certificat d'autorité de certification racine sous le chemin **/root**. Sinon, FAS ne disposera pas des autorisations de lecture pour le certificat d'autorité de certification racine.
### Configurez FAS
Exécutez le script suivant pour configurer FAS :
<!--NeedCopy-->
sudo /opt/Citrix/VDA/sbin/ctxfascfg.sh
> **Remarque :**
>
> Le script précédent ne gère que les scénarios avec un seul certificat d'autorité de certification racine.
>
>S'il existe des certificats intermédiaires 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 afin que `ctxfascfg.sh` puisse être exécuté en mode silencieux :
- **CTX\_FAS\_ADINTEGRATIONWAY=winbind | sssd | centrify** – Indique la méthode d'intégration Active Directory, qui est égale à `CTX_EASYINSTALL_ADINTEGRATIONWAY` lorsque `CTX_EASYINSTALL_ADINTEGRATIONWAY` est spécifié. Si `CTX_EASYINSTALL_ADINTEGRATIONWAY` n'est pas spécifié, `CTX_FAS_ADINTEGRATIONWAY` utilise sa propre valeur.
- **CTX\_FAS\_ROOT\_CA_PATH=\<certificat_CA_racine>** – Spécifie le chemin d’accès complet du certificat CA racine.
Choisissez la méthode d’intégration Active Directory appropriée, puis saisissez le chemin d’accès correct du certificat CA racine (par exemple, `/etc/pki/CA/certs/root.pem`).
Le script installe ensuite les packages krb5-pkinit et pam_krb5 et configure les fichiers de configuration pertinents.
## Limitation
- FAS prend en charge un nombre limité de plateformes et de méthodes d’intégration AD, consultez la matrice suivante :
| |Winbind |SSSD | Centrify |
|------|------|--|--|
|RHEL 7.7 /CentOS 7.7 |√ |√ |√ |
|Ubuntu 18.04 |√ |× |√ |
|Ubuntu 16.04 |√ |× |√ |
|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 pas vous reconnecter à la session à l’aide de FAS.
- Cette version prend en charge uniquement les déploiements FAS courants résumés dans l’article [Présentation de l’architecture du service d’authentification fédérée](/fr-fr/federated-authentication-service/1912-ltsr/deployment-architectures.html) et n’inclut pas **Windows 10 Azure AD Join**.
## Dépannage
Avant de dépanner FAS, assurez-vous que le VDA Linux est installé et configuré correctement afin qu’une session non-FAS puisse être lancée avec succès sur le magasin commun à l’aide de 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 journalisation de trace pour le VDA Linux, consultez l’article du centre de connaissances [CTX220130](https://support.citrix.com/article/CTX220130).
### Erreur de configuration du serveur FAS
Le lancement d’une session à partir du magasin FAS échoue. Par exemple, consultez la capture d’écran suivante :

Vérifiez **/var/log/xdl/hdx.log** et recherchez le journal d’erreurs similaire à ce qui suit :
<!--NeedCopy-->
2018-03-27 10:17:56.722
2018-03-27 10:17:56.722
2018-03-27 10:17:56.722
2018-03-27 10:17:56.722
2018-03-27 10:17:56.722
2018-03-27 10:17:56.722
2018-03-27 10:17:56.722
#### 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 \`<Votre-Liste-Serveurs-FAS>`.
<!--NeedCopy-->
| 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](/fr-fr/linux-virtual-delivery-agent/1912-ltsr/configuration/federated-authentication-service.html#set-fas-servers) pour le définir à nouveau.
### Configuration incorrecte du certificat CA racine
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 d’erreurs similaire à ce qui suit :
<!--NeedCopy-->
2018-03-27 10:15:52.227
2018-03-27 10:15:52.228
2018-03-27 10:15:52.228
2018-03-27 10:15:52.228
2018-03-27 10:15:52.228
#### Solution
Vérifiez que le chemin d’accès complet du certificat CA racine est correctement défini dans /etc/krb5.conf. Le chemin d’accès complet est similaire à ce qui suit :
<!--NeedCopy-->
[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 CA racine](/fr-fr/linux-virtual-delivery-agent/1912-ltsr/configuration/federated-authentication-service.html#install-a-root-ca-certificate) pour le définir à nouveau.
Vous pouvez également vérifier si le certificat CA racine est valide.
### Erreur de mappage de compte fantôme
FAS est configuré par l’authentification SAML. L’erreur suivante peut se produire après qu’un utilisateur ADFS a saisi son nom d’utilisateur et son mot de passe sur la page de connexion ADFS.

Cette erreur indique que l’utilisateur ADFS a été vérifié avec succès, mais qu’aucun utilisateur fantôme n’est configuré sur AD.
#### Solution
Définissez le compte fantôme sur AD.
### ADFS non configuré
L’erreur suivante se produit lors d’une tentative de connexion au magasin FAS :

La cause est que le magasin FAS est configuré pour utiliser l’authentification SAML alors que le déploiement ADFS est manquant.
#### Solution
Déployez l’IdP ADFS pour le service d’authentification fédérée. Pour plus d’informations, consultez [Déploiement ADFS du service d’authentification fédérée](/fr-fr/federated-authentication-service/current-release/deployment-architectures/adfs.html).
## Informations connexes
- Les déploiements FAS courants sont résumés dans l’article [Présentation de l’architecture du service d’authentification fédérée](/fr-fr/federated-authentication-service/1912-ltsr/deployment-architectures.html).
- Les articles « Comment faire » sont présentés dans le chapitre [Configuration avancée du service d’authentification fédérée](/fr-fr/federated-authentication-service/1912-ltsr/config-manage.html).
## Problème connu
Lorsque FAS est utilisé, vous pouvez rencontrer un échec lors de la tentative de lancement d’un bureau publié ou d’une session d’application avec des caractères non anglais.

### Solution de contournement
Cliquez avec le bouton droit sur **Gérer les modèles** dans l’outil CA pour modifier le modèle **Citrix\_SmartcardLogon** de **Construire à partir de ces informations Active Directory** à **Fournir dans la demande** :

<!--NeedCopy-->