Authentification SAML

SAML (Security Assertion Markup Language) est un mécanisme d’authentification XML qui fournit une fonctionnalité d’authentification unique et est défini par le comité technique des services de sécurité OASIS.

Pourquoi utiliser l’authentification SAML

Considérez un scénario dans lequel un fournisseur de services (LargeProvider) héberge un certain nombre d’applications pour un client (BigCompany). BigCompany a des utilisateurs qui doivent accéder de façon transparente à ces applications. Dans une configuration traditionnelle, LargeProvider devrait gérer une base de données des utilisateurs de BigCompany. Cela soulève certaines préoccupations pour chacun des intervenants suivants :

  • LargeProvider doit assurer la sécurité des données utilisateur.
  • BigCompany doit valider les utilisateurs et tenir les données utilisateur à jour, non seulement dans sa propre base de données, mais aussi dans la base de données utilisateur gérée par LargeProvider. Par exemple, un utilisateur supprimé de la base de données BigCompany doit également être supprimé de la base de données LargeProvider.
  • Un utilisateur doit se connecter individuellement à chacune des applications hébergées.

Le mécanisme d’authentification SAML offre une approche alternative. Le diagramme de déploiement suivant illustre le fonctionnement de SAML.

image localisée

Les préoccupations soulevées par les mécanismes traditionnels d’authentification sont résolues comme suit :

  • LargeProvider n’a pas besoin de gérer une base de données pour les utilisateurs de BigCompany. Libéré de la gestion des identités, LargeProvider peut se concentrer sur la fourniture de meilleurs services.
  • BigCompany ne supporte pas le fardeau de s’assurer que la base de données utilisateur LargeProvider est synchronisée avec sa propre base de données utilisateur.
  • Un utilisateur peut ouvrir une session une fois sur une application hébergée sur LargeProvider et être automatiquement connecté aux autres applications qui y sont hébergées.

L’appliance Citrix ADC peut être déployée en tant que fournisseur de services SAML (SP) et fournisseur d’identité SAML (IdP). Lisez les rubriques pertinentes pour comprendre les configurations qui doivent être effectuées sur le dispositif Citrix ADC.

Une appliance Citrix ADC configurée en tant que fournisseur de services SAML peut désormais appliquer une vérification des restrictions d’audience. La condition de restriction d’audience est évaluée à « Valide » uniquement si la partie de réponse SAML est membre d’au moins une des audiences spécifiées.

Vous pouvez configurer une appliance Citrix ADC pour analyser les attributs dans les assertions SAML en tant qu’attributs de groupe. Leur analyse en tant qu’attributs de groupe permet à l’appliance de lier des stratégies aux groupes.

Remarque

Un dispositif Citrix ADC MPX FIPS utilisé en tant que fournisseur de services SAML prend désormais en charge les assertions chiffrées. En outre, un dispositif Citrix ADC MPX FIPS fonctionnant en tant que fournisseur de services SAML ou fournisseur d’identité SAML peut désormais être configuré pour utiliser les algorithmes SHA2 sur le matériel FIPS.

Configuration de la prise en charge du déchargement FIPS à l’aide de l’interface de ligne de commande :

  1. Ajouter SSL FIPS

    add ssl fipsKey fips-key

  2. Créez un CSR et utilisez-le sur le serveur CA pour générer un certificat. Vous pouvez ensuite copier le certificat dans /nsconfig/ssl. Supposons que le fichier est fips3cert.cer.

    add ssl certKey fips-cert -cert fips3cert.cer -fipsKey fips-key

  3. Spécifiez ce certificat dans l’action SAML pour le module SP SAML

    set samlAction <name> -samlSigningCertName fips-cert

  4. Utiliser le certificat dans le module SAMLIDPProfile pour SAML IDP

    set samlidpprofile fipstest –samlIdpCertName fips-cert

Le tableau suivant répertorie certains articles spécifiques aux déploiements dans lesquels l’appliance Citrix ADC est utilisée en tant que SP SAML ou IdP SAML.

SAML SP Fournisseur d’identité SAML Lien d’information
Citrix ADC Citrix AppController Z3 support Citrix
Citrix ADC CloudGateway support Citrix
Citrix ADC Microsoft AD FS 3.0 support Citrix
Citrix ADC Shibboleth support Citrix
Citrix ADC Shibboleth (Avec configuration de déconnexion unique SAML) support Citrix
Siteminder Citrix ADC support Citrix
ShareFile Citrix ADC support Citrix

Quelques informations sur d’autres déploiements spécifiques :

Prise en charge des types d’informations d’identification WebView pour les mécanismes d’authentification

L’authentification d’une appliance Citrix ADC peut désormais prendre en charge le protocole AuthV3. Le type d’informations d’identification WebView dans le protocole Authv3 prend en charge tous les types de mécanismes d’authentification (y compris SAML et OAuth). Le type d’informations d’identification WebView fait partie de Authv3, qui est implémenté par Citrix Receiver et le navigateur dans les applications Web.

L’exemple suivant explique le flux des événements WebView via Citrix Gateway et Citrix Receiver :

  1. Citrix Receiver négocie avec Citrix Gateway pour la prise en charge du protocole AuthV3.
  2. L’appliance Citrix ADC répond positivement et suggère une URL de démarrage spécifique.
  3. Citrix Receiver se connecte ensuite au point de terminaison (URL) spécifique.
  4. Citrix Gateway envoie une réponse au client pour démarrer WebView.
  5. Citrix Receiver démarre WebView et envoie la demande initiale à l’appliance Citrix ADC.
  6. L’appliance Citrix ADC redirige l’URI vers le point de terminaison de connexion du navigateur.
  7. Une fois l’authentification terminée, l’appliance Citrix ADC envoie une réponse d’achèvement à WebView.
  8. Le WebView se ferme maintenant et donne le contrôle à Citrix Receiver pour continuer le protocole Authv3 pour l’établissement de session.

Prise en charge de la lecture et de la génération des métadonnées pour la configuration du SP et de l’IdP SAML

L’appliance Citrix ADC prend désormais en charge les fichiers de métadonnées en tant que moyens d’entités de configuration pour le fournisseur de services SAML (SP) et le fournisseur d’identité (IdP). Le fichier de métadonnées est un fichier XML structuré qui décrit la configuration d’une entité. Les fichiers de métadonnées pour le SP et IdP sont séparés. En fonction du déploiement, et parfois, une entité SP ou IdP peut disposer de plusieurs fichiers de métadonnées. En tant qu’administrateur, vous pouvez exporter et importer des fichiers de métadonnées (SAML SP et IdP) sur Citrix ADC. Les fonctionnalités d’exportation et d’importation de métadonnées pour le SP et IdP SAML sont expliquées dans les sections suivantes.

Exportation de métadonnées pour le SP SAML

Prenons un exemple où Citrix ADC est configuré en tant que SP SAML et qu’un IdP SAML souhaite importer des métadonnées contenant la configuration SP Citrix ADC. Supposons que l’appliance Citrix ADC est déjà configurée avec l’attribut « SAMLAction » qui spécifie la configuration du SP SAML. Pour exporter des métadonnées à partir d’utilisateurs ou d’administrateurs, interroger Citrix Gateway ou serveur virtuel d’authentification comme indiqué ci-dessous :

<action-name>https://vserver.company.com/metadata/samlsp/

Importation de métadonnées pour SAML SP

Actuellement, la configuration SAML Action sur l’appliance Citrix ADC prend différents paramètres. L’administrateur les spécifie manuellement. Cependant, les administrateurs ne sont souvent pas au courant de la nomenclature s’il s’agit d’interopérabilité avec différents systèmes SAML. Si des métadonnées d’IdP sont disponibles, la majeure partie de la configuration dans « SAMLAction » pourrait être évitée. En fait, toute la configuration spécifique à l’IdP peut être omise si le fichier de métadonnées IdP est fourni. L’entité « SAMLAction » prend désormais un paramètre supplémentaire pour lire la configuration à partir du fichier de métadonnées.

Pour récupérer les fichiers de métadonnées à l’aide de l’interface de ligne de commande.

set samlAction <name> [-metadataUrl <url> [-metadataRefreshInterval <int>] https://idp.citrix.com/samlidp/metadata.xml

Remarque

Le paramètre MetadatareFreshInterval est l’intervalle en minutes pour récupérer les informations de métadonnées à partir de l’URL de métadonnées spécifiée. Valeur par défaut 36000.

Importation de métadonnées pour IdP SAML

Le paramètre « samlidpProfile » prend un nouvel argument afin de lire toute la configuration spécifique au SP. La configuration des IdP SAML peut être simplifiée en remplaçant les propriétés spécifiques du SP par un fichier de métadonnées du SP. Ce fichier est interrogé via HTTP.

Pour lire à partir du fichier de métadonnées à l’aide de l’interface de ligne de commande :

set samlIdPProfile <name> [-metadataUrl <url>] [-metadataRefreshInterval <int>]

Prise en charge des attributs nom-valeur pour l’authentification SAML

Vous pouvez désormais configurer les attributs d’authentification SAML avec un nom unique ainsi que des valeurs. Les noms sont configurés dans le paramètre d’action SAML et les valeurs sont obtenues en interrogeant les noms. En spécifiant la valeur de l’attribut name, les administrateurs peuvent facilement rechercher la valeur d’attribut associée au nom de l’attribut. De plus, les administrateurs n’ont plus à se souvenir de l’attribut par sa seule valeur.

Important

  • Dans la commande SamlAction, vous pouvez configurer un maximum de 64 attributs séparés par une virgule avec une taille totale inférieure à 2048 octets.
  • Citrix vous recommande d’utiliser la liste des attributs. L’utilisation de « l’attribut 1 à l’attribut 16 » entraînera l’échec de la session si la taille de l’attribut extrait est grande.

Pour configurer les attributs nom-valeur à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

add authentication samlAction <name> [-Attributes <string>]

Exemple :

add authentication samlAction samlAct1 -attributes “mail,sn,userprincipalName”