Citrix ADC

Configurer une liste déroulante de domaine pour la saisie de l’utilisateur dans le premier facteur afin de décider du prochain flux d’authentification du facteur

Pensez à une organisation qui comprend les trois départements suivants (groupes) : Employé, Partenaire et Fournisseur. L’appliance Citrix ADC peut être configurée pour présenter à l’utilisateur un formulaire d’ouverture de session basé sur le service auquel appartient l’utilisateur. L’administrateur peut configurer différents flux d’authentification pour les services respectifs, comme illustré dans le tableau suivant à titre d’exemple.

Nom du groupe Facteur
Employé Auth unique (nom d’utilisateur/mot de passe)
Partenaire OAuth (redirige vers un autre IdP)
Fournisseur SAML (redirige vers un autre fournisseur d’identité)

Le diagramme suivant montre une interaction de haut niveau entre un utilisateur et l’appliance Citrix ADC configurée pour le cas d’utilisation mentionné précédemment.

Liste déroulante 1

  1. L’utilisateur se connecte à Citrix Workspace et est redirigé vers un serveur virtuel d’authentification.
  2. Citrix ADC présente un formulaire de connexion avec une liste déroulante de domaine.

    Liste déroulante 2

  3. L’utilisateur sélectionne une valeur dans la liste déroulante Domaine (division).

  4. Citrix ADC présente un formulaire d’ouverture de session basé sur les entrées de l’utilisateur pour la liste déroulante.

Configurer la liste déroulante de domaine pour la saisie de l’utilisateur dans le premier facteur afin de décider du flux d’authentification du facteur suivant à l’aide de l’interface de ligne de commande

Conditions préalables

Un serveur virtuel d’équilibrage de charge est configuré avec l’authentification activée.

Configurer le serveur virtuel d’authentification pour la valeur de la liste déroulante du domaine

Remarque

Vous pouvez modifier le schéma OnlyDomainDropdown.xml pour créer un schéma de connexion personnalisé (divisionDropdown.xml) dans ce cas.

Créer le premier facteur en tant que NO_AUTHN

add authentication Policy noauth_division_select_pol -rule true -action NO_AUTHN

Créer un facteur suivant pour Employee, Partner, Vendor Departments/Division à l’aide des étiquettes de stratégie

add authentication loginSchema lschema_division_dropdown -authenticationSchema "/nsconfig/loginschema/devisionDropdown.xml"

add authentication policylabel plabel_noauth_Employee_Partner_Vendor -loginSchema lschema_division_dropdown

add authentication Policy noauth_Employee_pol -rule "AAA.LOGIN.DOMAIN.EQ(\"Employee\")" -action NO_AUTHN

add authentication Policy noauth_Partner_pol -rule "AAA.LOGIN.DOMAIN.EQ(\"Partner\")" -action NO_AUTHN

add authentication Policy noauth_Vendor_pol -rule "AAA.LOGIN.DOMAIN.EQ(\"Vendor\")" -action 

Créer un seul facteur de stratégie d’authentification (LDAP est utilisé comme exemple pour cette configuration)

add authentication loginSchema lschema_singleauth_Employee -authenticationSchema "/nsconfig/loginschema/LoginSchema/SingleAuth.xml"

add authentication policylabel plabel_singleauth_Employee -loginSchema lschema_singleauth_Employee

add authentication ldapAction aaa_local_pwd_act -serverIP 90.196.17.40 -ldapBase "OU=ABSOU,dc=aaa,dc=local" -ldapBindDn administrator@aaa.local -ldapBindDnPassword xxxx -ldapLoginName samAccountName -groupAttrName memberOf -subAttributeName CN -secType TLS -ssoNameAttribute userPrincipalName -passwdChange ENABLED -nestedGroupExtraction ON -maxNestingLevel 7 -groupNameIdentifier sAMAccountName -groupSearchAttribute memberOf -groupSearchSubAttribute CN -defaultAuthenticationGroup ldapDefaultAuthGroup -Attribute1 userPrincipalName -Attribute2 mail

add authentication Policy aaa_local_pwd_pol -rule true -action aaa_local_pwd_act
bind authentication policylabel plabel_singleauth_Employee -policyName aaa_local_pwd_pol -priority 100 -gotoPriorityExpression NEXT

Créer une stratégie OAuth pour la redirection vers l’IdP OAuth

add authentication policylabel plabel_oauth_Partner -loginSchema lschema_noschema

add authentication OAuthAction oauth_sp_act -authorizationEndpoint "https://absauthidp.aaa.local/oauth/idp/login?response_type=code&scope=openid&client_id=netscaler" -tokenEndpoint "https://absauthidp.aaa.local/oauth/idp/token" -clientID netscaler -clientSecret 1e1155e92ad926dea4fa05a46e1dfa7e10063ad6fe2086394e9e435b19b28a5e -encrypted -encryptmethod ENCMTHD_3 -kek -suffix 2021_02_18_11_22 -CertEndpoint "https://absauthidp.aaa.local/oauth/idp/certs" -audience absauthidp.aaa.local

add authentication Policy oauth_sp_pol -rule true -action oauth_sp_act

bind authentication policylabel plabel_oauth_Partner -policyName oauth_sp_pol -priority 100 -gotoPriorityExpression NEXT

Création d’une stratégie SAML pour la redirection vers l’IdP SAML

add authentication policylabel plabel_saml_Vendor -loginSchema lschema_noschema

add authentication samlAction saml_sp_act -samlIdPCertName server_certkey -samlSigningCertName server_certkey -samlRedirectUrl "https://absauthidp.aaa.local/saml/login" -samlUserField nameid -samlIssuerName "https://abssamlissuer.aaa.local"

add authentication Policy saml_sp_pol -rule true -action saml_sp_act

bind authentication policylabel plabel_saml_Vendor -policyName saml_sp_pol -priority 100 -gotoPriorityExpression NEXT

Lier les trois facteurs de stratégie créés précédemment à Plabel_Noauth_Employee_Partner_Vendor

bind authentication policylabel plabel_noauth_Employee_Partner_Vendor -policyName noauth_Employee_pol -priority 100 -gotoPriorityExpression NEXT -nextFactor plabel_singleauth_Employee

bind authentication policylabel plabel_noauth_Employee_Partner_Vendor -policyName noauth_Partner_pol -priority 110 -gotoPriorityExpression NEXT -nextFactor plabel_oauth_Partner

bind authentication policylabel plabel_noauth_Employee_Partner_Vendor -policyName noauth_Vendor_pol -priority 120 -gotoPriorityExpression NEXT -nextFactor plabel_saml_Vendor

Lier l’étiquette de stratégie basée sur le groupe en tant que NextFactor pour la sélection de la stratégie

bind authentication vserver abs_sp_auth_vs -policy noauth_division_select_pol -priority 100 -nextFactor plabel_noauth_Employee_Partner_Vendor -gotoPriorityExpression NEXT

Configurer la liste déroulante de domaine pour la saisie de l’utilisateur dans le premier facteur afin de décider du flux d’authentification du facteur suivant à l’aide de l’interface graphique

  1. Accédez à Sécurité > Trafic des applications AAA > Visualiseur nFactor > Flux nFactor et cliquez sur Ajouter.
  2. Cliquez sur + pour ajouter le flux NFactor.
  3. Ajoutez un facteur. Le nom que vous entrez est le nom du flux nFactor et cliquez sur Créer.
  4. Créez un facteur pour le flux d’authentification basé sur une liste déroulante.

    Créer un facteur

  5. Cliquez sur Ajouter un schéma sur le bloc nFactor. Pour créer un schéma de connexion personnalisé (DivisionDropdown dans ce cas), vous pouvez modifier le schéma DomainDropdown.xml intégré.

    Ajouter un schéma

    Remarque : Vous pouvez créer un nouveau domaine à l’aide d’un schéma DomainDropdown.xml existant. Dans la balise « sélectionner un domaine », ajoutez le nom de domaine selon vos besoins, puis enregistrez le fichier XML. Vous devez ensuite trouver le domaine que vous avez ajouté dans la liste déroulante.

    Nom de domaine personnalisé

  6. Créez un bloc de décision basé sur la division en fonction du domaine reçu de l’utilisateur final et créez un facteur d’authentification pour chaque bloc de décision.

    Créer un bloc de division

  7. Une fois le flux nFactor terminé, liez ce flux au serveur virtuel d’authentification, d’autorisation et d’audit. Cliquez sur Lier au serveur d’authentification, puis sur Créer.

    Lier le flux au serveur virtuel

  8. Sélectionnez le serveur virtuel d’authentification et cliquez sur nFactor Flow.

    Sélectionner un serveur

  9. Choisissez le flux nFactor sous le champ Select nfactor Flow, puis cliquez sur Lier.

    Lier le flux au serveur

Dissocier le flux nFactor

  1. Sélectionnez le flux nFactor et cliquez sur Afficher les liaisons.
  2. Sélectionnez le serveur virtuel d’authentification et cliquez sur Dissocier.