ADC
Danke für das Feedback

Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)

SMS-OTP für die Webauthentifizierung konfigurieren

NetScaler kann jetzt in einen SMS-Anbieter eines Drittanbieters integriert werden, um eine zusätzliche Authentifizierungsebene bereitzustellen.

Die NetScaler-Appliance kann so konfiguriert werden, dass ein OTP auf dem Handy des Benutzers als zweiten Authentifizierungsfaktor gesendet wird. Die Appliance legt dem Benutzer ein Anmeldeformular zur Eingabe des OTP nach erfolgreicher AD-Anmeldung vor. Erst nach der erfolgreichen Validierung der SMS-OTP-Authentifizierung wird dem Benutzer die angeforderte Ressource angezeigt.

Um die SMS-OTP-Authentifizierung zu erreichen, stützt sich die NetScaler-Appliance auf die folgenden Faktoren im Backend.

  1. Authentifizieren Sie den Benutzer über die LDAP-Authentifizierung und extrahieren Sie die Handynummer des Benutzers.
  2. Erstellen Sie OTP und speichern Sie es in der NS-Variablen. Konfiguration und Verwendung von Variablen.
  3. Senden Sie das OTP über die WebAuth-Authentifizierungsmethode an die aus LDAP extrahierte Handynummer.
  4. Validieren Sie das OTP.

Voraussetzungen

Funktionen aktivieren und SNIP hinzufügen

Führen Sie die folgenden Befehle aus, um die für diese Konfiguration erforderlichen Funktionen zu aktivieren:

enable ns feature LB SSL SSLVPN AAA add ns ip <SNIP-IP> <subnet mask> -type SNIP

OTP Store konfigurieren

Administratoren müssen eine Datenbank/einen Speicher einrichten, um OTPs zu speichern, die für die SMS-Authentifizierung verwendet werden.

Der empfohlene Konfigurationsbereich für den Parameter expires (OTP-Ablauf) liegt zwischen 30 und 180 Sekunden. Jeder Wert außerhalb dieses Bereichs kann zu einer fehlgeschlagenen SMS-OTP-Konfiguration und einem nFactor-Flow führen.

add ns variable otp_store -type "map(text(65),text(6),100000)" -ifValueTooBig undef -ifNoValue undef -expires 60

Generieren Sie zufälliges OTP pro Benutzersitzung

Verwenden Sie den folgenden Befehl, um ein 6-stelliges zufälliges OTP pro Benutzersitzung zu generieren und im OTP-Store zu speichern.

add ns assignment generate_otp -variable "$otp_store[AAA.USER.SESSIONID]" -set ("000000" + SYS.RANDOM.MUL(1000000).TYPECAST_UNSIGNED_LONG_AT.TYPECAST_TEXT_T).SUFFIX(6)

Konfigurieren Sie die SMS-OTP-Authentifizierung mit NetScaler

  • Bevor Sie die Funktion zur Zwei-Faktor-Authentifizierung von SMS-Zwei-Faktor-Authentifizierung konfigurieren, müssen Sie eine LDAP-Authentifizierung auf einer NetScaler-Appliance als ersten Faktor bei aktivierter Authentifizierung konfiguriert haben. Anweisungen zum Konfigurieren der LDAP-Authentifizierung finden Sie unter So konfigurieren Sie die LDAP-Authentifizierung mit dem Konfigurationsdienstprogramm.

  • Konfigurieren Sie LDAP und extrahieren Sie die Handynummer, die für die SMS-OTP-Authentifizierung verwendet werden soll.

Beispielkonfiguration für den ersten Faktor

Konfigurieren Sie LDAP als ersten Faktor für die Authentifizierung.

add authentication ldapAction ldap_extraction_action -serverIP <IP_Adress> -ldapBase OU=Sanity,dc=aaa,dc=local -ldapBindDn administrator@aaa.local -ldapBindDnPassword <password> -ldapLoginName samaccountname -groupAttrName memberof -subAttributeName CN -authentication disabled add authentication Policy ldap_extraction_policy -rule true -action ldap_extraction_action

Hinweis

Die Handynummer kann mit AAA.USER.ATTRIBUTE(1)extrahiert und beim Senden an den Backend-Server mit einbezogen werden.

Beispielkonfiguration für den zweiten Faktor

Mit der folgenden Beispielkonfiguration wird ein OTP generiert, das an den Endbenutzer gesendet werden soll.

add authentication Policy set_otp -rule true -action generate_otp add authentication policylabel set_otp_label -loginSchema LSCHEMA_INT bind authentication policylabel set_otp_label -policyName set_otp -priority 1 add authentication Policy cascade_noauth -rule true -action NO_AUTHN

Richtlinien und Maßnahmen zur Webauthentifizierung

Konfigurieren Sie nun die Webauthentifizierungsaktion so, dass das OTP zusammen mit der aus der LDAP-Richtlinie abgerufenen Handynummer an einen beliebigen SMS-Absender eines Drittanbieters gesendet wird.

Überprüfen Sie das OTP und senden Sie das generierte OTP an einen SMS-Drittanbieter oder einen beliebigen Webserver, wie unten konfiguriert:

add policy expression otp_exp_post ""Message: OTP is " + $otp_store[AAA.USER.SESSIONID] + " for login into secure access gateway. Valid till EXPIRE_TIME. Do not share the OTP with anyone for security reasons&Mobile:" + AAA.USER.ATTRIBUTE(1)" add authentication webAuthAction sms_post -serverIP <web_application_ip> -serverPort 80 -fullReqExpr q{"POST /MyPHP/auth.php HTTP/" + http.req.version.major + "." + http.req.version.major + "\r\nAccept:\*/\*\r\nHost: <web_application_ip> \r\nContent-Length:100\r\n\r\n" + otp_exp_post} -scheme http -successRule true add authentication Policy post_wpp -rule true -action sms_post

OTP überprüfen

Fügen Sie die folgende Richtlinie und die folgende Richtlinienbezeichnung hinzu, um zu überprüfen, ob das OTP für die Benutzersitzung existiert:

add authentication policylabel check_otp_label -loginSchema LSCHEMA_INT add authentication Policy check_otp -rule "$otp_store.valueExists(AAA.USER.SESSIONID)" -action NO_AUTHN

OTP-Überprüfung durch Vergleich des vom Benutzer bereitgestellten Werts und des OTP-Speicherwerts

Führen Sie die folgenden Befehle aus, um das OTP zu überprüfen, indem Sie den vom Benutzer angegebenen Wert und den OTP-Speicherwert vergleichen:

add authentication loginSchema onlypassword -authenticationSchema "/nsconfig/loginschema/LoginSchema/OnlyPassword.xml" add authentication policylabel otp_verify_label -loginSchema onlypassword add authentication Policy otp_verify -rule "AAA.LOGIN.PASSWORD.EQ($otp_store[AAA.USER.SESSIONID])" -action NO_AUTHN

Binden Sie die Richtlinie an das Label der Authentifizierungsrichtlinie

bind authentication policylabel set_otp_label -policyName cascade_noauth -priority 2 -gotoPriorityExpression NEXT -nextFactor check_otp_label bind authentication policylabel check_otp_label -policyName post_wpp -priority 1 -gotoPriorityExpression NEXT -nextFactor otp_verify_label bind authentication policylabel otp_verify_label -policyName otp_verify -priority 1 -gotoPriorityExpression NEXT

Erstellen Sie einen virtuellen Authentifizierungsserver und einen virtuellen Lastausgleichsserver

add authentication vserver avs SSL <ipadresss> 443 add ssl certKey aaa_local -cert aaatm_wild.cer -key aaatm_wild.key bind ssl vserver avs -certkeyName aaa_local bind authentication vserver avs -policy ldap_extraction_policy -priority 1 -nextFactor set_otp_label -gotoPriorityExpression NEXT add lb vserver lb HTTP <ip_adresss> 80 -persistenceType NONE -cltTimeout 180 -AuthenticationHost <auth_server> -Authentication ON add service svc <Ip_adresss> HTTP 80 bind lb vserver lb svc

Hinweis:

Die Richtlinie für die kaskadierende Authentifizierung wurde hinzugefügt, um eine zuverlässige und kontinuierliche Authentifizierung für die Endbenutzer zu ermöglichen. Wenn der aktuelle Faktor ausfällt, wird der nächste Faktor so bewertet, dass das Benutzererlebnis nicht beeinträchtigt wird.

Die offizielle Version dieses Inhalts ist auf Englisch. Für den einfachen Einstieg wird Teil des Inhalts der Cloud Software Group Dokumentation maschinell übersetzt. Cloud Software Group hat keine Kontrolle über maschinell übersetzte Inhalte, die Fehler, Ungenauigkeiten oder eine ungeeignete Sprache enthalten können. Es wird keine Garantie, weder ausdrücklich noch stillschweigend, für die Genauigkeit, Zuverlässigkeit, Eignung oder Richtigkeit von Übersetzungen aus dem englischen Original in eine andere Sprache oder für die Konformität Ihres Cloud Software Group Produkts oder Ihres Diensts mit maschinell übersetzten Inhalten gegeben, und jegliche Garantie, die im Rahmen der anwendbaren Endbenutzer-Lizenzvereinbarung oder der Vertragsbedingungen oder einer anderen Vereinbarung mit Cloud Software Group gegeben wird, dass das Produkt oder den Dienst mit der Dokumentation übereinstimmt, gilt nicht in dem Umfang, in dem diese Dokumentation maschinell übersetzt wurde. Cloud Software Group kann nicht für Schäden oder Probleme verantwortlich gemacht werden, die durch die Verwendung maschinell übersetzter Inhalte entstehen können.
SMS-OTP für die Webauthentifizierung konfigurieren