Configurer le service d’authentification fédérée
Le Linux VDA prend en charge l’utilisation de FAS pour vous connecter à votre environnement Citrix Virtual Apps and Desktops. Il utilise le même environnement Windows que le VDA Windows pour la fonctionnalité d’ouverture de session de FAS. Pour plus d’informations sur la configuration de l’environnement Windows pour FAS, consultez Service d’authentification fédérée. Cet article fournit des informations supplémentaires spécifiques au Linux VDA.
Remarque
Le Linux VDA ne prend pas en charge la stratégie Comportement en session.
Le Linux VDA utilise des connexions courtes pour transmettre des données avec des serveurs FAS.
Configurer FAS sur le Linux VDA
Prise en charge FAS sur RHEL 8/CentOS 8
FAS dépend du module pam_krb5, qui est obsolète sur RHEL 8/CentOS 8. Pour utiliser FAS sur RHEL 8/CentOS 8, créez le module pam_krb5 comme suit :
-
Téléchargez le code source pam_krb5-2.4.8-6 à partir du site Web suivant :
https://centos.pkgs.org/7/centos-x86_64/pam_krb5-2.4.8-6.el7.x86_64.rpm.html.
-
Créez et installez le module pam_krb5 sur RHEL 8/CentOS 8.
yum install make gcc krb5-devel pam-devel autoconf libtool rpm2cpio pam_krb5-2.4.8-6.el7.src.rpm | cpio -div tar xvzf pam_krb5-2.4.8.tar.gz cd pam_krb5-2.4.8 ./configure --prefix=/usr make make install <!--NeedCopy-->
-
Vérifiez que pam_krb5.so existe sous /usr/lib64/security/.
ls -l /usr/lib64/security | grep pam_krb5 <!--NeedCopy-->
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 ne modifiez pas l’ordre des adresses de serveur.
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 ctxjproxy restart
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 ctxjproxy restart
service ctxvda restart
<!--NeedCopy-->
Installation des certificats
Pour la vérification des certificats des utilisateurs, installez le certificat d’autorité de certification racine et tous les certificats intermédiaires sur le VDA. Par exemple, pour installer le certificat d’autorité de certification racine, 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.
Exécuter ctxfascfg.sh
Exécutez le script ctxfascfg.sh pour configurer les paramètres du service FAS :
sudo /opt/Citrix/VDA/sbin/ctxfascfg.sh
<!--NeedCopy-->
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_CERT_PATH =<certificate path> : spécifie le chemin complet qui stocke le certificat racine et tous les certificats intermédiaires.
Choisissez la méthode d’intégration Active Directory correcte, puis tapez le chemin correct des certificats (par exemple, /etc/pki/CA/certs/
).
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 Linux et des méthodes d’intégration AD limitées. Reportez-vous à la matrice suivante :
Winbind SSSD Centrify RHEL 8.3 / CentOS 8.3 Oui Oui Oui RHEL 8.2 / CentOS 8.2 Oui Oui Oui RHEL 8.1 / CentOS 8.1 Oui Oui Oui RHEL 7.9 / CentOS 7.9 Oui Oui Oui RHEL 7.8 / CentOS 7.8 Oui Oui Oui Ubuntu 20.04 Oui Non Oui Ubuntu 18.04 Oui Non Oui Ubuntu 16.04 Oui Non Oui SLES 12.5 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.
Vérifiez /var/log/xdl/hdx.log et recherchez le journal des erreurs semblable au suivant :
2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: validate_user: [Logon Type] Federated Authentication Logon.
2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: validate_fas: entry
2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: connect_fas: start connect to server 0
2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: connect_fas0: failed to connect: Connection refused.
2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: validate_fas: failed to connect to server [0], please confirm if fas service list is well configurated in condb
2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: validate_fas: exit, 43
2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: validate_user: failed to validate fas credential
2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: LoginBoxValidate: failed validation of user 'user1@CTXDEV.LOCAL', INVALID_PARAMETER
<!--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 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 :
2021-01-28 01:47:46.210 <P30656:S5> citrix-ctxlogin: get_logon_certificate: entry
2021-01-28 01:47:46.210 <P30656:S5> citrix-ctxlogin: check_caller: current process: pid [30656], name [/opt/Citrix/VDA/bin/ctxlogin]
2021-01-28 01:47:46.210 <P30656:S5> citrix-ctxlogin: get_public_certificate: entry
2021-01-28 01:47:46.211 <P30656:S5> citrix-ctxlogin: query_fas: waiting for response...
2021-01-28 01:47:46.270 <P30656:S5> citrix-ctxlogin: query_fas: query to server success
2021-01-28 01:47:46.270 <P30656:S5> citrix-ctxlogin: get_public_certificate: exit
2021-01-28 01:47:46.270 <P30656:S5> citrix-ctxlogin: fas_base64_decode: input size 1888
2021-01-28 01:47:46.271 <P30656:S5> citrix-ctxlogin: fas_base64_decode: output size 1415
2021-01-28 01:47:46.271 <P30656:S5> citrix-ctxlogin: get_logon_certificate: get logon certificate success
2021-01-28 01:47:46.271 <P30656:S5> citrix-ctxlogin: cache_certificate: cache certificate success
2021-01-28 01:47:46.271 <P30656:S5> citrix-ctxlogin: get_logon_certificate: exit, 0
2021-01-28 01:47:48.060 <P30656:S5> citrix-ctxlogin: validate_user: pam_authenticate err,can retry for user user1@CTXDEV.LOCAL
<!--NeedCopy-->
Solution
Vérifiez que le chemin complet qui stocke le certificat d’autorité de certification racine et tous les certificats intermédiaires est correctement défini dans /etc/krb5.conf. Le chemin d’accès complet est similaire au suivant :
[realms]
EXAMPLE.COM = {
......
pkinit_anchors = DIR:/etc/pki/CA/certs/
......
}
<!--NeedCopy-->
Si le paramètre existant est incorrect, suivez l’étape précédente Installation des certificats 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 :
Le problème se produit lorsque le magasin FAS est configuré pour utiliser l’authentification SAML mais 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 :