Concepts, entités et terminologie de nFactor

Cette rubrique décrit certaines des principales entités impliquées dans l’authentification nFactor et leur importance.

Schéma de connexion

nFactor découple la ‘vue’, l’interface utilisateur, avec le ‘modèle’ qui est la gestion de l’exécution. La vue de nFactor est définie par le schéma de connexion’. Le schéma de connexion est une entité qui définit ce que l’utilisateur voit et spécifie comment extraire les données de l’utilisateur.

Pour définir la vue, le schéma de connexion pointe vers un fichier sur le disque qui définit le formulaire d’ouverture de session. Ce fichier doit être conforme à la spécification de « Citrix Common Forms Protocol ». Ce fichier est essentiellement une définition XML du formulaire d’ouverture de session.

Outre le fichier XML, le schéma de connexion contient des expressions de stratégie avancées pour glaner le nom d’utilisateur et le mot de passe à partir de la demande de connexion de l’utilisateur. Ces expressions sont facultatives et peuvent être omises si le nom d’utilisateur et le mot de passe de l’utilisateur arrivent avec les noms de variables de forme attendus.

Le schéma de connexion définit également, si l’ensemble actuel d’informations d’identification doit être utilisé comme informations d’identification SingleSignon par défaut.

Étiquette de stratégie

Une étiquette de stratégie est un ensemble de stratégies. Il s’agit d’une construction qui n’est pas étrangère à l’infrastructure de stratégie de Citrix ADC. L’étiquette de stratégie définit un facteur d’authentification. Autrement dit, il contient toutes les stratégies nécessaires pour déterminer si les informations d’identification de l’utilisateur sont satisfaites. Toutes les stratégies d’une étiquette de stratégie peuvent être considérées comme homogènes. L’étiquette de stratégie pour l’authentification ne peut pas prendre de stratégies de type différent, par exemple réécriture. Pour mettre d’une manière différente, toutes les stratégies d’une étiquette de stratégie valident le même mot de passe/informations d’identification de l’utilisateur, principalement. Le résultat des stratégies dans un PolicyLabel suit une condition logique OU. Par conséquent, si l’authentification spécifiée par la première stratégie réussit, les autres stratégies suivantes sont ignorées.

L’étiquette de stratégie peut être créée en exécutant la commande CLI suivante :

add authentication policy label mylabel –loginSchema <>

Une étiquette de stratégie prend le schéma de connexion comme propriété. Le schéma de connexion définit l’affichage de cette étiquette de stratégie. Si le schéma de connexion n’est pas spécifié, un schéma de connexion implicite, LSCHEMA_INT, est associé à cette étiquette de stratégie. Le schéma de connexion détermine si une étiquette de stratégie devient un passthrough ou non.

Étiquette de serveur virtuel

Dans l’infrastructure de stratégie avancée de Citrix ADC, un serveur virtuel est également une étiquette de stratégie implicite. En effet, le serveur virtuel peut également être lié à plusieurs stratégies. Cependant, un serveur virtuel est spécial car il est le point d’entrée du trafic client et peut prendre des stratégies d’un type différent. Chacune des stratégies qu’il a placées sous sa propre étiquette au sein du serveur virtuel. Par conséquent, le serveur virtuel est une conglomération d’étiquettes.

Facteur suivant

Chaque fois qu’une stratégie est liée à un serveur virtuel ou à une étiquette de stratégie, elle peut être spécifiée avec le facteur suivant. Le facteur suivant détermine ce qui doit être fait si une authentification donnée réussit. S’il n’y a pas de facteur suivant, cela conclut le processus d’authentification pour cet utilisateur.

Chaque stratégie liée à un serveur virtuel ou à un libellé de stratégie peut avoir un facteur suivant différent. Cela permet une flexibilité ultime où le succès de chaque stratégie peut définir un nouveau chemin pour l’authentification de l’utilisateur. L’administrateur peut tirer parti de ce fait et créer des facteurs de secours intelligents pour les utilisateurs qui ne respectent pas certaines stratégies.

Stratégie de non-Auth

nFactor introduit un type spécial de stratégie intégrée appelé NO_AUTHN. La stratégie NO_AUTHN renvoie toujours le succès en tant que résultat d’authentification. La stratégie sans authentification peut être créée en exécutant la commande CLI suivante :

add authentication policy noauthpolicy –rule <> -action NO_AUTHN

Conformément à la commande, la stratégie de no-authentification prend une règle qui peut être n’importe quelle expression de stratégie avancée. Le résultat de l’authentification est toujours un succès de NO_AUTHN.

Une stratégie sans authentification en soi ne semble pas ajouter de valeur. Cependant, lorsqu’il est utilisé avec des étiquettes de stratégie passthrough, il offre une grande flexibilité pour prendre des décisions logiques pour piloter le flux d’authentification des utilisateurs. NO_AUTHN et les facteurs de transmission offrent une nouvelle dimension à la flexibilité de nFactor.

Remarque : Consultez les exemples qui illustrent l’utilisation de no-auth et de passthrough dans les sections suivantes.`

Facteur/étiquette de passage

Une fois que l’utilisateur a passé l’authentification sur le serveur virtuel (pour le premier facteur), les authentifications suivantes se produisent aux étiquettes de stratégie ou aux facteurs (secondaires) définis par l’utilisateur. Chaque étiquette/facteur de stratégie est associé à une entité de schéma de connexion pour afficher la vue de ce facteur. Cela permet de personnaliser les vues en fonction du chemin que l’utilisateur aurait emprunté pour arriver à un facteur donné.

Il existe des types spécialisés d’étiquettes de stratégie qui ne pointent pas explicitement vers un schéma de connexion. Les étiquettes de stratégie spécialisées pointent vers un schéma de connexion qui ne pointe pas réellement vers le fichier XML de la vue. Ces étiquettes/facteurs de stratégie sont appelés facteurs « passthrough ».

Les facteurs de passage peuvent être créés en exécutant les commandes CLI suivantes :

Exemple 1 :

add authentication policylabel example1

Exemple 2 :

add loginschema passthrough_schema –authenticationSchema noschema

add authentication policylabel example2 –loginschema passthrough_schema

Le facteur de transmission implique que le sous-système d’authentification, d’autorisation et d’audit ne doit pas revenir à l’utilisateur pour obtenir les informations d’identification définies pour ce facteur. Au lieu de cela, c’est un indice pour l’authentification, l’autorisation et l’audit de continuer avec les informations d’identification déjà obtenues. Ceci est utile dans les cas où l’intervention de l’utilisateur n’est pas souhaitée. Par exemple, les opérations suivantes peuvent être effectuées :

  • Lorsque l’utilisateur est présenté deux champs de mot de passe. Après le premier facteur, le deuxième facteur n’a pas besoin d’intervention de l’utilisateur

  • Lorsque l’authentification d’un type (par exemple certificat) est terminée, et l’administrateur doit extraire des groupes pour cet utilisateur.

Le facteur de passage peut être utilisé avec la stratégie NO_AUTH pour effectuer des sauts conditionnels.

Flux d’authentification nFactor

L’authentification commence toujours sur le serveur virtuel dans nFactor. Le serveur virtuel définit le premier facteur pour l’utilisateur. Le premier formulaire que l’utilisateur voit est servi par le serveur virtuel. Le formulaire d’ouverture de session que l’utilisateur voit peut être personnalisé sur le serveur virtuel à l’aide de stratégies de schéma de connexion. S’il n’y a pas de stratégie de schéma de connexion, un seul champ nom d’utilisateur et mot de passe s’affiche pour l’utilisateur.

Si plusieurs champs de mot de passe doivent être affichés à l’utilisateur sur un formulaire personnalisé, les stratégies de schéma de connexion doivent être utilisées. Ils permettent d’afficher différents formulaires en fonction des règles configurées (comme l’utilisateur intranet par rapport à l’utilisateur externe, le fournisseur de services A par rapport au fournisseur de services B).

Une fois les informations d’identification de l’utilisateur publiées, l’authentification commence à l’authentification serveur virtuel, le premier facteur. Étant donné que le serveur virtuel d’authentification peut être configuré avec plusieurs stratégies, chacune d’entre elles est évaluée dans une séquence. À un moment donné, si une stratégie d’authentification réussit, le facteur suivant spécifié par rapport à elle est pris. S’il n’y a pas de facteur suivant, le processus d’authentification se termine. Si le facteur suivant existe, il est vérifié si ce facteur est un facteur de passage ou un facteur régulier. S’il s’agit d’un transfert, les stratégies d’authentification sur ce facteur sont évaluées sans intervention de l’utilisateur. Sinon, le schéma de connexion associé à ce facteur est affiché à l’utilisateur.

Exemple d’utilisation de stratégies de facteur de transmission et de non-authentification pour prendre des décisions logiques

L’administrateur souhaite décider NextFactor en fonction des groupes.

  • Ajouter une vérification de groupe d’étiquette de stratégie d’authentification

  • Ajouter un groupe d’administration de stratégie d’authentification —rule http.req.user.is_member_of (« Administrateurs ») —action NO_AUTHN

  • Ajouter une stratégie d’authentification non-admins —rule true —action NO_AUTHN

  • Relier la vérification du groupe d’étiquettes de stratégie d’authentification —policy admingroup —pri 1 —NextFactor facteur-for-admin

  • Lier l’étiquette de stratégie d’authentification groupcheck —policy nonadmins —pri 10 —nextfactor facteur-for-others

  • Ajouter une stratégie d’authentification first_factor_policy —rule <> -action <>

  • Bind authentication vserver <> -policy first_factor_policy –priority 10 –nextFactor groupcheck

La figure suivante affiche un flux d’authentification nFactor.

nfactor-flow