E-Mail-OTP-Authentifizierung
E-Mail-OTP wird mit NetScaler 12.1 Build 51.x eingeführt. Mit der E-Mail-OTP-Methode können Sie sich mit dem Einmalkennwort (OTP) authentifizieren, das an die registrierte E-Mail-Adresse gesendet wird. Wenn Sie versuchen, sich bei einem Dienst zu authentifizieren, sendet der Server ein OTP an die registrierte E-Mail-Adresse des Benutzers.
Um die E-Mail-OTP-Funktion nutzen zu können, müssen Sie zuerst Ihre alternative E-Mail-ID registrieren. Eine alternative E-Mail-ID-Registrierung ist erforderlich, damit das OTP an diese E-Mail-ID gesendet werden kann, da Sie bei einer Kontosperrung oder wenn Sie das AD-Kennwort vergessen haben, nicht auf die primäre E-Mail-ID zugreifen können.
Sie können die E-Mail-OTP-Validierung ohne E-Mail-ID-Registrierung verwenden, wenn Sie die alternative E-Mail-ID bereits als Teil eines AD-Attributs angegeben haben. Sie können in der E-Mail-Aktion auf dasselbe Attribut verweisen, anstatt die alternative E-Mail-ID im Abschnitt E-Mail-Adresse anzugeben.
Voraussetzungen
Bevor Sie die E-Mail-OTP-Funktion konfigurieren, sollten Sie die folgenden Voraussetzungen prüfen:
- NetScaler Feature Release 12.1 Build 51.28 und höher
- Die E-Mail-OTP-Funktion ist nur im nFactor-Authentifizierungsablauf verfügbar.
- Weitere Einzelheiten finden Sie unterhttps://support.citrix.com/pages/citrix-adc-authentication-how#nfactor
- Unterstützt für AAA-TM, NetScaler Gateway (Browser, Native Plug-in und Receiver).
Active Directory-Einstellung
- Unterstützte Version ist 2016/2012 und 2008 Active Directory-Domänenfunktionsebene
- Der Benutzername von NetScaler LdapBind muss Schreibzugriff auf den AD-Pfad des Benutzers haben
E-Mail Server
Stellen Sie sicher, dass die Anmeldungsbasierte Authentifizierung auf dem SMTP-Server aktiviert ist, damit die E-Mail-OTP-Lösung funktioniert. NetScaler unterstützt nur die auf AUTH LOGIN basierende Authentifizierung, damit E-Mail-OTP funktioniert.
Um sicherzustellen, dass die auf AUTH LOGIN basierende Authentifizierung aktiviert ist, geben Sie den folgenden Befehl auf dem SMTP-Server ein. Wenn die auf Anmeldung basierende Authentifizierung aktiviert ist, stellen Sie fest, dass der Text AUTH LOGIN in der Ausgabefett gedruckterscheint.
Einschränkungen
- Diese Funktion wird nur unterstützt, wenn das Authentifizierungs-Backend LDAP ist.
- Die bereits registrierte alternative E-Mail-ID wurde nicht angezeigt.
- Nur die alternative E-Mail-ID von der KBA-Registrierungsseite kann nicht aktualisiert werden.
- Die E-Mail-OTP-Authentifizierung kann nicht der erste Faktor im Authentifizierungsablauf sein. Dies ist beabsichtigt, um eine robuste Authentifizierung zu erreichen.
- Wenn sowohl alternative E-Mail-ID als auch KBA mit derselben Authentifizierungsaktion konfiguriert wurden, muss das Attribut für beide identisch sein.
- Für das native Plug-in und Receiver wird die Registrierung nur über einen Browser unterstützt.
Active Directory-Konfiguration
E-Mail-OTP verwendet das Active Directory-Attribut als Benutzerdatenspeicher.
Nachdem Sie die alternative E-Mail-ID registriert haben, wird die E-Mail-ID an die NetScaler-Appliance gesendet, und die Appliance speichert sie im konfigurierten KB-Attribut im AD-Benutzerobjekt.
Die alternative E-Mail-ID wird verschlüsselt und im konfigurierten AD-Attribut gespeichert.
Beachten Sie beim Konfigurieren eines AD-Attributs Folgendes:
- Die unterstützte Länge des Attributnamens muss mindestens 128 Zeichen betragen.
- Der Attributtyp muss “DirectoryString” sein.
- Dasselbe AD-Attribut kann für Native OTP- und E-Mail-OTP-Registrierungsdaten verwendet werden.
- Der LDAP-Administrator muss Schreibzugriff auf das ausgewählte AD-Attribut haben.
Verwenden vorhandener Attribute
Das in diesem Beispiel verwendete Attribut istUserparameters
. Da es sich um ein vorhandenes Attribut innerhalb des AD-Benutzers handelt, müssen Sie keine Änderungen am AD selbst vornehmen. Sie müssen jedoch sicherstellen, dass das Attribut nicht verwendet wird.
Um sicherzustellen, dass das Attribut nicht verwendet wird, navigieren Sie zuADSIund wählen Sie Benutzer aus, klicken Sie mit der rechten Maustaste auf den Benutzer und scrollen Sie nach unten zur Attributliste. Sie müssen sehen, dass der Attributwert fürUserParametersnicht festgelegt ist. Dies deutet darauf hin, dass das Attribut derzeit nicht verwendet wird.
Konfigurieren von E-Mail-OTP
Die E-Mail-OTP-Lösung besteht aus den folgenden zwei Teilen:
- E-Mail-Registrierung
- E-Mail-Validierung
Registrierung der E-Mail-ID
Führen Sie die folgende Konfiguration über die CLI durch, nachdem das KBA-Registrierungsschema erfolgreich erstellt wurde:
Binden Sie das Portalthema und das Zertifikat an VPN Global.
bind authentication vserver authvs -portaltheme RfWebUI bind vpn global -userDataEncryptionKey c1
Hinweis:
Eine vorhergehende Zertifikatsbindung ist erforderlich, um die im AD-Attribut gespeicherten Benutzerdaten (KB Q&A und alternative Mail-ID registriert) zu verschlüsseln.
Erstellen您一张LDAP-Authentifizierungsrichtlinie.
添加身份验证ldapAction ldap -serverIP 10.102.2.2 -serverPort 636 -ldapBase "dc=aaatm-test,dc=com" -ldapBindDn administrator@aaatm-test.com -ldapBindDnPassword freebsd -ldapLoginName samAccountName -secType SSL add authentication Policy ldap -rule true -action ldap
Erstellen您一张LDAP-Authentifizierungsrichtlinie für die E-Mail-Registrierung.
add authentication ldapAction ldap_email_registration -serverIP 10.102.2.2 -serverPort 636 -ldapBase "dc=aaatm-test,dc=com" -ldapBindDn administrator@aaatm-test.com -ldapBindDnPassword freebsd -ldapLoginName samAccountName -secType SSL -KBAttribute userParameters -alternateEmailAttr userParameters add authentication Policy ldap_email_registration -rule true -action ldap_email_registration
Erstellen Sie ein Anmeldeschema für die E-Mail-Registrierung und eine Policy Label.
add authentication loginSchema onlyEmailRegistration -authenticationSchema /nsconfig/loginschema/LoginSchema/AltEmailRegister.xml add authentication policylabel email_Registration_factor -loginSchema onlyEmailRegistration bind authentication policylabel email_Registration_factor -policyName ldap_email_registration -priority 1 -gotoPriorityExpression NEXT
Binden Sie die Authentifizierungsrichtlinie an den virtuellen Authentifizierungsserver.
bind authentication vserver authvs –policy ldap -priority 1 -nextFactor email_Registration_factor -gotoPriorityExpression NEXT
Nachdem Sie alle in den vorherigen Abschnitten genannten Schritte konfiguriert haben, müssen Sie den folgenden GUI-Bildschirm sehen. Wenn Sie beispielsweise über die URL zugreifen, wirdhttps://lb1.server.com/Ihnen eine erste Anmeldeseite angezeigt, für die nur die LDAP-Anmeldeinformationen erforderlich sind, gefolgt von einer alternativen E-Mail-Registrierungsseite.
Hinweis:Die Domänehttps://lb1.server.com/kann entweder zum Gateway oder zu einem virtuellen Authentifizierungsserver gehören.
Hinweis:
Sie können dasselbe Authentifizierungsschema sowohl für die KBA-Registrierung als auch für die E-Mail-ID-Registrierung verwenden.
Bei der Konfiguration der KBA-Registrierung können Sie im AbschnittE-Mail-Registrierung die Option Alternative E-Mail registrierenwählen, um eine alternative E-Mail-ID zu registrieren.
E-Mail-Validierung
Führen Sie die folgenden Schritte für die E-Mail-Validierung aus.
Binden Sie das Portal-Thema und das Zertifikat an VPN Global
bind authentication vserver authvs -portaltheme RfWebUI bind vpn global -userDataEncryptionKey c1
Hinweis:
Die vorherige Zertifikatsbindung ist erforderlich, um die im AD-Attribut gespeicherten Benutzerdaten (KB Q&A und alternative E-Mail-ID registriert) zu entschlüsseln.
Erstellen您一张LDAP-Authentifizierungsrichtlinie. LDAP muss ein wichtiger Faktor für den E-Mail-Validierungsfaktor sein, da Sie die E-Mail-ID oder die alternative E-Mail-ID des Benutzers für die E-Mail-OTP-Validierung benötigen.
add authentication ldapAction ldap1 -serverIP 10.102.2.2 -serverPort 636 -ldapBase "dc=aaatm-test,dc=com" - ldapBindDn administrator@aaatm-test.com -ldapBindDnPassword freebsd -ldapLoginName samAccountName -secType SSL -KBAttribute userParameters -alternateEmailAttr userParameters add authentication Policy ldap1 -rule true -action ldap1
Erstellen您一张E-Mail-Authentifizierungsrichtlinie.
add authentication emailAction email -userName sqladmin@aaa.com -password freebsd-encrypted -encryptmethod ENCMTHD_3 -serverURL "smtps://10.2.3.3:25" -content "OTP is $code" -defaultAuthenticationGroup emailgrp -emailAddress "aaa.user.attribute("alternate_mail")" add authentication Policy email -rule true –action email
In dem zuvor erwähnten Befehl ist dieE-Mail-Adressedie alternative E-Mail-ID, die bei der KBA-Registrierung angegeben wurde.
Erstellen Sie eine E-Mail-OTP-Validierungsrichtlinienbezeichnung.
add authentication policylabel email_Validation_factor bind authentication policylabel email_Validation_factor -policyName email -priority 1 -gotoPriorityExpression NEXT
Binden Sie die Authentifizierungsrichtlinie an den virtuellen Authentifizierungsserver.
bind authentication vserver authvs – policy ldap1 -priority 1 -nextFactor email_Validation_factor -gotoPriorityExpression NEXT
Nachdem Sie alle in den vorherigen Abschnitten genannten Schritte konfiguriert haben, müssen Sie den folgenden GUI-Bildschirm für die E-Mail-OTP-Validierung sehen. Wenn Sie beispielsweise über die URL zugreifen, wirdhttps://lb1.server.com/Ihnen eine erste Anmeldeseite angezeigt, für die nur die LDAP-Anmeldeinformationen erforderlich sind, gefolgt von der Seite “EMAIL OTP-Validierung”.
Hinweis:
In der LDAP-Richtlinie muss konfiguriert werden, dass
alternateEmailAttr
die E-Mail-ID des Benutzers vom AD-Attribut abgefragt werden kann.
Problembehandlung
Bevor Sie das Protokoll analysieren, ist es besser, die Protokollebene wie folgt auf Debuggen festzulegen.
set syslogparams -loglevel DEBUG
Registrierung - Erfolgreiches Szenario
Die folgenden Einträge weisen auf eine erfolgreiche Benutzerregistrierung hin.
"ns_aaa_insert_hash_keyValue_entry key:kba_registered value:1" Nov 14 23:35:51 10.102.229.76 11/14/2018:18:05:51 GMT 0-PPE-1 : default SSLVPN Message 1588 0 : "ns_aaa_insert_hash_keyValue_entry key:alternate_mail value:eyJ2ZXJzaW9uIjoiMSIsICJraWQiOiIxbk1oWjN0T2NjLVVvZUx6NDRwZFhxdS01dTA9IiwgImtleSI6IlNiYW9OVlhKNFhUQThKV2dDcmJSV3pxQzRES3QzMWxINUYxQ0tySUpXd0h4SFRIdVlWZjBRRTJtM0ZiYy1RZmlQc0tMeVN2UHpleGlJc2hmVHZBcGVMZjY5dU5iYkYtYXplQzJMTFF1M3JINFVEbzJaSjdhN1pXUFhqbUVrWGdsbjdUYzZ0QWtqWHdQVUI3bE1FYVNpeXhNN1dsRkZXeWtNOVVnOGpPQVdxaz0iLCAiaXYiOiI4RmY3bGRQVzVKLVVEbHV4IiwgImFsZyI6IkFFUzI1Nl9HQ00ifQ==.oKmvOalaOJ3a9z7BcGCSegNPMw=="
Registrierung — Ausfallszenario
Auf der Benutzeranmeldeseite wird die folgende Fehlermeldung angezeigt: “Ihre Anfrage kann nicht abgeschlossen werden”. Dies deutet darauf hin, dass der Cert-Key, der zum Verschlüsseln der Benutzerdaten an das globale VPN gebunden werden soll, fehlt.
Jul 31 08:51:46 10.102.229.79 07/31/2020:03:21:4 6 GMT 0-PPE-1 : default SSLVPN Message 696 0 : "Encrypt UserData: No Encryption cert is bound to vpn global" Jul 31 08:51:46 10.102.229.79 07/31/2020:03:21:46 GMT 0-PPE-1 : default SSLVPN Message 697 0 : "KBA Register: Alternate email id Encrypted blob length is ZERO aaauser"
E-Mail-Validierung — Erfolgreiches Szenario
Die folgenden Einträge weisen auf eine erfolgreiche E-Mail-OTP-Validierung hin.
"NFactor: Successfully completed email auth, nextfactor is pwd_reset"
E-Mail-Validierung — Ausfallszenario
Auf der Benutzeranmeldeseite wird die Fehlermeldung “Ihre Anfrage kann nicht abgeschlossen werden” angezeigt. Dies bedeutet, dass die anmeldungsbasierte Authentifizierung auf dem E-Mail-Server nicht aktiviert ist und dasselbe aktiviert werden muss.
" /home/build/rs_130_36_15_RTM/usr.src/netscaler/aaad/pocomail.cpp[100]: void ThreadWorker_SendMailJob(SMTPJob*) 0-215: [POCO][JobID: 8]SMTP Configuration is Secure.. /home/build/rs_130_36_15_RTM/usr.src/netscaler/aaad/pocomail.cpp[108]: void ThreadWorker_SendMailJob(SMTPJob*) 0-215: [POCO][JobID: 8] First login succeeded Wed Mar 4 17:16:28 2020 /home/build/rs_130_36_15_RTM/usr.src/netscaler/aaad/naaad.c[697]: main 0-0: timer 2 firing... /home/build/rs_130_36_15_RTM/usr.src/netscaler/aaad/pocomail.cpp[127]: void ThreadWorker_SendMailJob(SMTPJob*) 0-0: [POCO-ERROR][JobID: 8] Poco SMTP Mail Dispatch Failed. SMTP TYPE:1, SMTPException: Exception occurs. SMTP Exception: The mail service does not support LOGIN authentication: 250-smtprelay.citrix.com Hello [10.9.154.239] 250-SIZE 62914560 250-PIPELINING 250-DSN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250-BINARYMIME 250 CHUNKING