Citrix ADC

Konfigurieren Sie eine Domänen-Dropdownliste für Benutzereingaben im ersten Faktor, um den nächsten Faktor-Authentifizierungsablauf zu entscheiden

Betrachten Sie eine Organisation, die über die folgenden drei Abteilungen (Gruppen) verfügt, Mitarbeiter, Partner und Anbieter. Die Citrix ADC Appliance kann so konfiguriert werden, dass sie dem Benutzer ein Anmeldeformular präsentiert, das auf der Abteilung basiert, zu der der Benutzer gehört. Der Administrator kann verschiedene Authentifizierungsflüsse für die jeweiligen Abteilungen konfigurieren, wie in der folgenden Tabelle als Beispiel dargestellt.

Name der Gruppe Faktor
Mitarbeiter Single Auth (Benutzername/Kennwort)
Partner OAuth (leitet auf einen anderen IdP um)
Anbieter SAML (leitet auf einen anderen IdP um)

Das folgende Diagramm zeigt eine hochrangige Interaktion zwischen einem Benutzer und der Citrix ADC Appliance, die für den zuvor erwähnten Anwendungsfall konfiguriert ist.

Dropdown-1

  1. Der Benutzer meldet sich bei Citrix Workspace an und wird zu einem virtuellen Authentifizierungsserver umgeleitet.
  2. Citrix ADC präsentiert ein Anmeldeformular mit einer Dropdownliste der Domäne.

    Dropdown-2

  3. Der Benutzer wählt einen Wert aus der Dropdownliste Domäne (Division) aus.

  4. Citrix ADC präsentiert ein Anmeldeformular basierend auf Benutzereingaben für die Dropdownliste.

Konfigurieren Sie die Dropdownliste der Domäne für Benutzereingaben im ersten Faktor, um den nächsten Faktor-Authentifizierungsablauf mit CLI zu bestimmen

Voraussetzung

Ein virtueller Lastenausgleichsserver wird mit aktivierter Authentifizierung konfiguriert.

Konfigurieren des virtuellen Authentifizierungsservers für den Wert der Dropdownliste der Domäne

Hinweis

Sie können das Schema OnlyDomainDropdown.xml ändern, um in diesem Fall ein benutzerdefiniertes Login-Schema (divisionDropdown.xml) zu erstellen.

Erstelle den ersten Faktor als NO_AUTHN

add authentication Policy noauth_division_select_pol -rule true -action NO_AUTHN

Erstellen Sie den nächsten Faktor für Mitarbeiter, Partner, Lieferantenabteilungen/Division mithilfe von Richtlinienbeschriftungen

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

Erstellen Sie einen einzelnen Authentifizierungsrichtlinienfaktor (LDAP wird als Beispiel für diese Konfiguration verwendet)

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

Erstellen Sie eine OAuth-Richtlinie für die Weiterleitung zu OAuth IdP

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

Erstellen Sie eine SAML-Richtlinie für die Weiterleitung zum SAML IdP

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

Binden Sie die drei zuvor erstellten Richtlinienfaktoren an 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

Gruppenbasierte Policy Label als NextFactor für die Dropdown-basierte Auswahl von Authentifizierungsrichtlinien binden

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

Konfigurieren Sie die Dropdownliste der Domäne für Benutzereingaben im ersten Faktor, um den nächsten Faktor-Authentifizierungsablauf mit GUI zu bestimmen

  1. Navigieren Sie zu Sicherheit > AAA-Anwendungsverkehr > nFactor Visualizer > nFactor Flow und klicken Sie auf Hinzufügen.
  2. Klicken Sie auf +, um den nFactor Flow hinzuzufügen.
  3. Fügen Sie einen Faktor hinzu. Der Name, den Sie eingeben, ist der Name des nFactor-Flows und klicken Sie auf Erstellen.
  4. Erstellen Sie einen Faktor für den Dropdownmenü-basierten Authentifizierungsablauf.

    Dropdown-3

  5. Klicken Sie im nFactor-Block auf Schema hinzufügen . Um ein benutzerdefiniertes Login-Schema (in diesem Fall DivisionDropDown) zu erstellen, können Sie das integrierte Schema OnlyUsername.xml bearbeiten.

    Dropdown-4

  6. Erstellen Sie einen teilungsbasierten Entscheidungsblock basierend auf der vom Endbenutzer erhaltenen Domäne und erstellen Sie den Authentifizierungsfaktor für jeden Entscheidungsblock

    Dropdown-5

  7. Binden Sie diesen Flow nach Abschluss des nFactor-Flows an den virtuellen Authentifizierungs-, Autorisierungs- und Überwachungsserver. Klicken Sie auf An Authentifizierungsserver binden und dann auf Erstellen.

    Dropdown-6

  8. Wählen Sie virtuellen Authentifizierungsserver aus und klicken Sie auf nFactor Flow.

    Dropdown-7

  9. Wählen Sie unter Feld “nfactor Flow auswählen” den nFactor Flow aus und klicken Sie auf Binden.

    Dropdown-8

Bindung des nFactor-Flows aufheben

  1. Wählen Sie den nFactor-Flow aus und klicken Sie auf Bindungen anzeigen.
  2. Wählen Sie den virtuellen Authentifizierungsserver aus und klicken Sie auf Unbind.
Konfigurieren Sie eine Domänen-Dropdownliste für Benutzereingaben im ersten Faktor, um den nächsten Faktor-Authentifizierungsablauf zu entscheiden