Concepts avancés

Vue d’ensemble des preuves d’ouverture de session du service d’authentification fédérée Citrix

Introduction

Le service FAS (Federated Authentication Service) est un composant Citrix qui s’intègre à votre autorité de certification Active Directory, permettant ainsi aux utilisateurs d’être authentifiés de manière transparente dans un environnement Citrix. Pour plus d’informations sur l’architecture et le déploiement FAS, reportez-vous à la section Documentation du service d’authentification fédérée.

Vous pouvez déployer FAS pour permettre aux utilisateurs d’ouvrir une session unique à un VDA (ou à une application publiée) sans avoir besoin d’un mot de passe ou d’une carte à puce. La fonctionnalité de preuve d’ouverture de session FAS fournit des preuves d’ouverture de session transmises à FAS par Citrix Gateway et StoreFront. FAS peut valider les preuves pour s’assurer qu’elles ont été émises par un fournisseur d’identité (IdP) de confiance.

Cet article décrit comment configurer la fonctionnalité de preuve d’ouverture de session FAS.

Généralités

Confiance FAS

L’infrastructure FAS implique une « chaîne de confiance » entre Citrix Gateway (NSG), StoreFront (SF) et FAS ; chaque flèche pointe du composant d’approbation vers le composant approuvé :

fas-logon-evidence-overview

L’élément clé de confiance entre chacun de ces composants est le nom d’utilisateur principal (UPN) de l’utilisateur qui accède au système. L’UPN circule à travers les liens (dans la direction opposée aux flèches). L’UPN peut également être transformé en un UPN différent à mesure qu’il circule dans le système, mais cela n’est pas directement pertinent pour ce sujet.

Le fournisseur d’identité (IdP) est l’endroit où les utilisateurs s’authentifient. L’IdP est souvent un site Web tiers tel qu’Okta ou Azure. Les utilisateurs s’authentifient auprès de l’IdP en fournissant un ensemble d’informations d’identification (par exemple un mot de passe ou quelque chose de plus complexe). Les composants plus loin dans la chaîne acceptent que l’UPN soit authentique en raison de la chaîne de confiance entre les composants.

La confiance est établie de la manière suivante, marquée 1, 2, 3 dans le diagramme ci-dessus :

(1) Citrix Gateway ou StoreFront fait confiance à l’IdP à l’aide d’un protocole impliquant des revendications signées (par exemple, une revendication indiquant l’UPN de l’utilisateur). La partie d’approbation peut vérifier les revendications faites par l’IdP car elle est configurée avec le certificat qu’elle utilise pour vérifier la validité de la signature. Il existe deux protocoles principaux utilisés pour la vérification : SAML (Security Assertion Markup Language) et OpenID Connect. La fonctionnalité de preuve d’ouverture de session ne prend actuellement en charge que SAML.

(2) Cette approbation est établie en configurant StoreFront avec les détails de Citrix Gateway approuvé. Le protocole entre ces composants, « CitrixAgBasic », permet à StoreFront de confirmer qu’il est appelé par une passerelle Citrix Gateway.

(3) Cette fiducie est établie en utilisant Kerberos. FAS est configuré avec une liste de serveurs StoreFront approuvés. Kerberos est utilisé pour vérifier que l’identité du serveur StoreFront appelant est sur cette liste.

Sécurité

L’authentification sécurisée repose sur une chaîne de confiance correctement établie. La chaîne de confiance est renforcée par la validation des preuves fournies par l’IdP, qui est la base de confiance pour l’authentification sécurisée. Ceci est important, car les informations d’identification utilisateur fournies à FAS via la chaîne de confiance incluent le nom d’utilisateur (l’UPN), mais n’incluent pas un secret (comme un mot de passe) que FAS peut lui-même valider. L’exposition du mot de passe est donc limitée à l’IdP. La plupart des systèmes d’authentification fédérés fonctionnent de cette façon, y compris FAS.

Preuve d’ouverture de session

La fonctionnalité de preuve d’ouverture de session FAS fournit une assurance de sécurité supplémentaire dans un déploiement FAS. Il vous permet de définir des règles qui autorisent ou refusent l’accès au FAS.

La preuve d’ouverture de session (ou simplement « preuve ») est un élément de données créé par l’IdP lorsque l’utilisateur s’authentifie. Ces données circulent, avec l’UPN, dans tout le système. Au moment du lancement du VDA, le FAS peut vérifier que les preuves sont valides avant de permettre le lancement de continuer.

Actuellement, seuls les IdP qui prennent en charge SAML sont pris en charge. La preuve est la réponse SAML, qui est un document XML contenant un ensemble de réclamations signées par l’IdP. (L’IdP est la racine de la confiance pour l’authentification).

Plug-in FAS

FAS n’a aucune capacité intégrée pour vérifier que les preuves d’ouverture de session sont valides. Au lieu de cela, vous devez écrire votre propre plug-in FAS à l’aide du SDK FAS Assertion. Votre plug-in est responsable de vérifier l’UPN fourni et les preuves (réponse SAML).

Configurer la collection de preuves d’ouverture de session

Étape 1 - Créez votre déploiement

Créez un déploiement à l’aide de Citrix Gateway, StoreFront et FAS comme d’habitude. Configurez Citrix Gateway ou StoreFront pour utiliser l’authentification SAML à votre IdP.

Important :

Si vous utilisez Citrix Gateway, lorsque vous configurez StoreFront avec les détails de votre Citrix Gateway, vous devez configurer une URL de rappel , car les preuves d’ouverture de session sont transmises via le rappel :

URL de rappel

Citrix vous recommande de configurer le type d’ouverture de session en tant que « carte à puce », ce qui aide les clients natifs à effectuer l’authentification SAML.

Vérifiez que votre déploiement fonctionne correctement. En d’autres termes, vérifiez que vous pouvez vous connecter et lancer des sessions VDA sans être invité à fournir des informations d’identification sur le VDA.

Étape 2 - Installer l’exemple de plug-in d’assertion FAS

Le SDK FAS Assertion inclut un exemple de plug-in que vous pouvez utiliser comme base pour votre propre plug-in.

Remarque :

Citrix vous recommande vivement de commencer par installer l’exemple de plug-in sans apporter de modifications.

Pour obtenir des instructions sur l’installation du plug-in, consultez le fichier Readme.txt fourni avec le kit SDK d’assertion FAS.

Étape 3 - Vérifiez que le plug-in d’assertion FAS fonctionne

Une fois le plug-in installé, des événements supplémentaires sont écrits dans la section Logs/Application Windows du journal des événements de votre serveur FAS. Pour obtenir une description de la journalisation et du suivi, consultez le Kit de développement logiciel (SDK) d’assertion FAS.

Étape 4 - Activer la collecte de preuves sur Citrix Gateway

Si vous utilisez Citrix Gateway pour l’authentification, vous devez activer la fonctionnalité de collecte de preuves afin que les preuves soient transmises de Citrix Gateway à StoreFront. Pour ce faire, utilisez la console d’administration Citrix ADC pour activer l’option « Stocker la réponse SAML » pour votre serveur de Gateway, reportez-vous à la section Authentification SAML.

Étape 5 - Activer la collecte de preuves sur StoreFront

Remarque :

Si vous activez la preuve d’ouverture de session, vous devez déployer un module de plug-in FAS Assertion sur le serveur FAS.

Par défaut, StoreFront n’envoie pas de preuves au FAS (même si l’authentification SAML est configurée). Pour activer l’utilisation de preuves d’ouverture de session dans StoreFront, utilisez PowerShell suivant pour l’activer pour le service d’authentification associé à un magasin nommé : Store.

Get-Module "Citrix.StoreFront.* –ListAvailable | Import-Module

$StoreName = "Store" $StoreVirtualPath = "/Citrix/" + $StoreName $store = Get-STFStoreService –VirtualPath $StoreVirtualPath $auth = Get-STFAuthenticationService –StoreService $store

$auth.AuthenticationOptions.CollectFasEvidence = $true

$auth.Save()
<!--NeedCopy-->

Étape 6 - Modifier l’exemple de plug-in d’assertion FAS

Le code squelette dans l’exemple de plug-in accepte toute preuve. Mettez à jour le code dans l’exemple pour vérifier que la preuve d’ouverture de session fournie (réponse SAML) est valide.

Il est de votre responsabilité de vous assurer que les preuves fournies sont vérifiées. Considérez :

  • vérifier que les revendications SAML ont une signature cryptographiquement valide

  • vérifier que les revendications SAML sont signées avec le certificat de l’IdP

  • vérifier que l’UPN dans les revendications SAML correspond à l’UPN présenté

  • vérifier que les demandes ont été délivrées dans un délai acceptable (ce qui est « acceptable », c’est à vous de déterminer)

SDK d’authentification StoreFront

Vous pouvez utiliser le SDK d’authentification StoreFront pour effectuer une personnalisation avancée des données de preuves. Pour plus d’informations, consultez le document « Custom Federated Logon Service Sample 1811.pdf » fourni dans le SDK ou disponible surhttps://developer-docs.citrix.com/.

Informations connexes

Vue d’ensemble des preuves d’ouverture de session du service d’authentification fédérée Citrix