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 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.

  • Image de l'architecture FAS

  • 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 :

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 :

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 AD CS

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.

Image de la page d'accueil lorsque les services de certificats AD 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.

Image de la création du magasin FAS

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

Image du 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 avoir Web ajouté.

Installer et configurer FAS

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

  1. Installez le service d’authentification fédérée
  2. Activez le plug-in du service d’authentification fédérée sur les serveurs StoreFront
  3. Configurez la stratégie de groupe
  4. 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
  5. 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.

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

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)

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)

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 :

![Image d’échec de lancement d’une session à partir du magasin FAS](/fr-fr/linux-virtual-delivery-agent/1912-ltsr/media/cannot-start-desktop.png)

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 citrix-ctxlogin: query2fas: failed to retrieve data: No such file or directory.

2018-03-27 10:17:56.722 citrix-ctxlogin: sayhello2fas_internal: Failed to query.

2018-03-27 10:17:56.722 citrix-ctxlogin: sayhello2fas_convertcredential: exit.

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

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

2018-03-27 10:17:56.722 citrix-ctxlogin: receive_data: Exit FAILURE

2018-03-27 10:17:56.722 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 \`<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.

![Image de connexion non valide en raison d’une configuration incorrecte du certificat CA racine](/fr-fr/linux-virtual-delivery-agent/1912-ltsr/media/incorrect-root-ca-cert-config.png)

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 citrix-ctxlogin: validate_user: pam_authenticate err,can retry for user <user1@CTXFAS.LAB>

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

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

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

2018-03-27 10:15:52.228 citrix-ctxlogin: Audit_login_failure: Not yet implemented


#### 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.

![Image d’erreur de mappage de compte fantôme](/fr-fr/linux-virtual-delivery-agent/1912-ltsr/media/shadow-account-mapping-error.png)

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 :

![Image d’ADFS non configuré](/fr-fr/linux-virtual-delivery-agent/1912-ltsr/media/adfs-not-configured.png)

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.

![Image d’échec de lancement de sessions avec des caractères non anglais](/fr-fr/linux-virtual-delivery-agent/1912-ltsr/media/launching-nonenglish-session-fails.png)

### 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** :

![Image de l’option Fournir dans la demande](/fr-fr/linux-virtual-delivery-agent/1912-ltsr/media/supply-in-the-request.png)
<!--NeedCopy-->
Service d’authentification fédérée