Konfigurieren Sie nFactor für Citrix Gateway mit WebAuth im ersten Faktor und LDAP mit Kennwortänderung im zweiten Faktor

Die folgenden High-Level-Schritte sind an der Konfiguration von nFactor für Citrix Gateway mit WebAuth im ersten Faktor und LDAP mit Kennwortänderung im zweiten Faktor beteiligt.

  1. Konfigurieren Sie einen virtuellen Authentifizierungsserver ohne IP. Es ist nicht zwingend erforderlich, eine Zertifikatbindung an den virtuellen Authentifizierungsserver zu haben.

  2. Konfigurieren Sie ein Authentifizierungsprofil mit dem Namen des virtuellen Authentifizierungsservers.

  3. Konfigurieren Sie einen virtuellen VPN-Server.

  4. Legen Sie das Authentifizierungsprofil auf diesem virtuellen VPN-Server fest.

  5. Konfigurieren Sie eine WebAuth Aktion und -Richtlinie.

  6. Konfigurieren Sie die LDAP-Aktion und -Richtlinie.

  7. Konfigurieren Sie eine Anmeldeschemaaktion für den LDAP-Faktor.

  8. Konfigurieren Sie eine Richtlinienbezeichnung für den LDAP-Faktor mit der Anmeldeschemaaktion für den LDAP-Faktor.

  9. Binden Sie LDAP-Richtlinie an das LDAP-Richtlinienlabel.

  10. Binden Sie die WebAuth-Richtlinie an den virtuellen Authentifizierungsserver mit einer LDAP-Richtlinienbezeichnung als nächster Faktor.

Funktionsweise

  • Der Benutzer gibt den Citrix Gateway FQDN im Browser ein und wird zur Seite /logon/logonpoint/tmindex.html umgeleitet.

  • Auf dieser Seite wird das Anmeldeschema angezeigt, das an einen virtuellen Authentifizierungsserver gebunden ist. Wenn kein Anmeldeschema an einen virtuellen Authentifizierungsserver gebunden ist (wie in unserer Konfiguration), wird ein Standardschema angezeigt.

  • Der Benutzer gibt die Anmeldeinformationen für den ersten Faktor ein, der in diesem Fall WebAuth ist.

  • Citrix Gateway überprüft die WebAuth -Aktion und kontaktiert den WebAuth Server. Es sendet HTTP-Anforderung im Parameter FullReqExpr an WebAuth Server erwähnt. Wenn die Antwort des WebAuth Servers den Ausdruck erfüllt, der im SuccessRule-Parameter der WebAuth -Aktion erwähnt ist, wird diese Richtlinie übergeben.

  • Jetzt wechselt Citrix Gateway zum zweiten Faktor. Es überprüft die Konfiguration der Richtlinienbezeichnung ldap_factor, die als nächster Faktor gebunden ist. Da in dieser Richtlinienbezeichnung ein LoginSchema erwähnt wird, sendet Citrix Gateway dieses XML-Schema an den Client.

  • Der Client empfängt das Schema und gibt die LDAP-Anmeldeinformationen für die zweite Faktor-Authentifizierung ein.

  • Citrix Gateway versucht, den LDAP-Server zu erreichen und überprüft, ob die Clientanmeldeinformationen korrekt sind. Wenn sie korrekt sind, wird die Authentifizierungsphase abgeschlossen und der Benutzer meldet sich im konfigurierten VPN-Modus an.

Die folgende Abbildung zeigt eine nFactor-Authentifizierungssequenz, in der der erste Faktor WebAuth und der zweite Faktor LDAP ist.

nFactor-Auth-Sequenz

Konfiguration mit der CLI

  1. Konfigurieren Sie einen virtuellen Authentifizierungsserver.

    add authentication vserver auth1 ssl
    

    Navigieren Sie in der Benutzeroberfläche zu Sicherheit > AAA - Anwendungsdatenverkehr > Virtueller Server und klicken Sie auf Hinzufügen .

    Hinzufügen eines virtuellen Authentifizierungsservers

  2. Konfigurieren Sie ein Authentifizierungsprofil.

    add authnProfile auth_profile –authnVsname auth1
    

    Navigieren Sie in der GUI zu Sicherheit > AAA - Anwendungsdatenverkehr > Authentifizierungsprofil und klicken Sie auf Hinzufügen .

    Erstellen eines Authentifizungsprofils

  3. Konfigurieren Sie einen virtuellen VPN-Server.

    add vpn vserver vpn1 ssl 10.1.1.1 443
    
    add ssl certkey ckp –cert test.cer –key test.key
    
    bind ssl vserver vpn1 –certKey ckp
    

    Navigieren Sie zu Citrix Gateway > Virtueller Server, und klicken Sie auf Hinzufügen .

    Virtuellen VPN-Server hinzufügen

    Sobald der virtuelle VPN-Server erstellt wurde, binden Sie das Zertifikat an dasselbe.

    Festlegen des Authentifizierungsprofils auf dem virtuellen VPN-Server

    set vpn vserver vpn1 –authnProfile auth_profile
    

    Authentifizerprofil festlegen

  4. Konfigurieren Sie eine WebAuth Aktion und eine Richtlinie.

    Navigieren Sie zu Appexpert > Ausdruck > Erweiterte Ausdrücke.

    Webauth-Richtlinie konfigurieren

    add policy expression post_data ""myusername=" +
    
    http.REQ.BODY(3000).SET_TEXT_MODE(IGNORECASE).AFTER_STR("login=").BEFORE_STR("&") + "&mypassword=" +
    
    http.REQ.BODY(3000).SET_TEXT_MODE(IGNORECASE).AFTER_STR("passwd=")"
    

    Ausdruck erstellen

    add policy expression length_post_data "("myusername=" +
    
    http.REQ.BODY(1000).SET_TEXT_MODE(IGNORECASE).AFTER_STR("login=").BEFORE_STR("&") + "&mypassword=" +
    
    \http.REQ.BODY(1000).SET_TEXT_MODE(IGNORECASE).AFTER_STR("passwd=")).length"
    

    nFactor-Konfiguration mit der CLI:

    add authentication webAuthAction webAuth_action -serverIP 10.102.39.132 -serverPort 443 -fullReqExpr q{"POST /customAuth.aspx HTTP/" + http.req.version.major + "." + http.req.version.minor + "\r\nAccept: \*/\*\r\nHost: 10.102.39.132\r\nUser-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)\r\nContent-Type: application/x-www-form-urlencoded\r\n" + "Content-Length: " + length_post_data + "\r\nConnection: Keep-Alive\r\n\r\n" + post_data} -scheme https -successRule "http.RES.STATUS.EQ(200)"
    
    add authentication policy webAuth_policy –rule TRUE –action webAuth_action
    

    Die zuvor konfigurierte webAuth-Aktion verwendet zwei Richtlinienausdrücke. Ein Richtlinienausdruck (post_data) erstellt den POST-Text. Die andere (length_post_data) berechnet die Länge des POST-Body, der verwendet wird, um den Content-Length-Header in der POST-Anforderung zu füllen.

    Der Richtlinienausdruck, der den POST-Text erstellt, analysiert die Anmeldeanforderung und extrahiert den vom Benutzer eingegebenen Benutzernamen und das Kennwort. Anschließend wird der POST-Text in dem Format erstellt, das der WebAuth Server erwartet, wobei das Benutzernamenkennwort verwendet wird, das aus der Anmeldeanforderung extrahiert wurde.

    Schließlich erstellt die WebAuth -Aktion die folgende Anforderung, die an den WebAuth Server gesendet wird.

    POST /customAuth.aspx HTTP/1.1
    Accept: \*/\*
    Host: 10.102.39.132
    Accept-Language: en-US
    User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
    Content-Type: application/x-www-form-urlencoded
    Content-Length:43
    Connection: Keep-Alive
    
    myusername=test_user&mypassword=test_passwd
    
  5. Konfigurieren Sie die LDAP-Aktion und -Richtlinie für die Kennwortänderung.

    add authentication ldapAction ldap_action -serverIP 10.102.39.133 -serverPort 636 -secType SSL -ldapBase "dc=domain,dc=com" -ldapBindDn administrator -ldapBindDnPassword password -ldapLoginName samAccountName -passwdChange ENABLED
    add authentication policy ldap_policy –rule TRUE –action ldap_action
    

    Die LDAP-Aktion ist mit —passwdChange ENABLED konfiguriert, wodurch das vom Benutzer initiierte Änderungskennwort nach der VPN-Anmeldung aktiviert wird.

  6. Konfigurieren Sie eine LoginSchema-Aktion für den LDAP-Faktor.

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

    Der LDAP-Faktor erfordert einen Benutzernamen und ein Kennwort vom Endbenutzer. Das Anmeldeformular, das dem Endbenutzer angezeigt wird, muss einen Benutzernamen und ein Kennwort enthalten.

    Citrix ADC verfügt über einige Standard-LoginSchema-XMLs, die am Speicherort /nsconfig/ LoginSchema/LoginSchema auf der NetScaler hell vorhanden sind. Sie können eine der standardmäßigen LoginSchema-XMLs verwenden, die am vorherigen Speicherort vorhanden sind.

  7. Konfigurieren Sie eine Richtlinienbezeichnung für den LDAP-Faktor mit der Aktion LoginSchema für den LDAP-Faktor:

    add authentication policylabel LDAP_factor -loginSchema LDAP_schema
    
  8. Binden Sie LDAP-Richtlinie an das LDAP-Richtlinienlabel.

    bind authentication policylabel LDAP_factor –policyName ldap_policy –priority 10
    
  9. Binden Sie WebAuth-Richtlinie an den virtuellen Authentifizierungsserver mit einer LDAP-Richtlinienbezeichnung als nächster Faktor.

    bind authentication vserver auth1 –policy webAuth_policy –nextFactor LDAP_factor –priority 10
    

    Die vorangehende nFactor-Konfiguration kann auch mit dem nFactor Visualizer in Citrix ADC durchgeführt werden, der ab der Firmware-Version 13.0 verfügbar ist.

Konfiguration mit dem nFactor Visualizer

Darstellung der Konfiguration im nfactor Visualizer

Der erste Faktor hier ist Webauth gefolgt von LDAP mit aktivierter Kennwortänderungsoption.

  1. Navigieren Sie zu Sicherheit > AAA-Anwendungsdatenverkehr > nFactor Visualizer > nFactor Flow, und klicken Sie auf Hinzufügen.

  2. Klicken Sie auf das + Zeichen, um den nFactor Flow hinzuzufügen.

    nFactor-Fluss hinzufügen

  3. Fügen Sie einen Faktor hinzu. Dieser Name, den Sie für diesen Faktor eingeben, ist der Name des nFactor-Flows.

    Name für nFactor-Flow

  4. Klicken Sie auf Richtlinie hinzufügen, um die Webauth-Richtlinie und den Webauth-Aktion/Server hinzuzufügen.

    Klicken Sie auf Richtlinie hinzufügen

    Wählen Sie eine Richtlinie

    Authentifizierungsrichtlinie erstellen

  5. Klicken Sie auf das grüne + Zeichen, um den nächsten Faktor hinzuzufügen, der LDAP-Authentifizierung mit aktivierter Kennwortänderungsoption ist.

    Fügen Sie den nächsten Faktor hinzu, der LDAP ist

  6. Klicken Sie auf Schema hinzufügen, um das Anmeldeschema für die LDAP-Authentifizierung hinzuzufügen.

    Schema für LDAP-Auth hinzufügen

  7. Klicken Sie auf Richtlinie hinzufügen, um die LDAP-Authentifizierungsrichtlinie und den LDAP-Aktion/Server hinzuzufügen.

    Richtlinie für LDAP-Auth hinzufügen

    Informationen zum Erstellen von LDAP-Action/Server finden Sie im Artikelhttps://support.citrix.com/article/CTX219939.

  8. Sobald beide Faktoren konfiguriert sind, müssen Sie den Flow an den Authentifizierungs-, Autorisierungs- und Überwachungsserver binden.

    Klicken Sie auf An Authentifizierserver binden

    den Faktor auswählen und an den Authentifizierungsserver binden

Debugging — Protokolle und Leistungsindikatoren

Die Protokolle werden nach erfolgreicher Anmeldung mit WebAuth und LDAP angezeigt. Um die meisten der folgenden Protokolle anzuzeigen, legen Sie die Überwachungsprotokollstufe auf ALL fest, sodass auch die Debug-Protokolle angezeigt werden.

set audit syslogparams –loglevel ALL

Hinweis: Die Zeitstempel werden zur Kürze aus den Protokollen entfernt.

Beispielprotokolle

Die folgenden Leistungsindikatoren werden nach erfolgreicher Anmeldung mit WebAuth und LDAP erhöht.

  • pcp_hits authn(webAuth_policy)
  • aaa_tot_webauth_primary_auth
  • aaa_tot_webauth_prim_auth_success
  • aaa_tot_webauth_prim_succ_check_thru
  • pcp_hits authn(webAuth_policy)
  • pcp_hits authn (ldap_policy)
  • aaa_auth_succ

Konfigurieren Sie nFactor für Citrix Gateway mit WebAuth im ersten Faktor und LDAP mit Kennwortänderung im zweiten Faktor