Citrix ADC

E-Mail OTP

E-Mail OTP wird mit Citrix ADC 12.1 Build 51.x eingeführt. Mit der E-Mail OTP-Methode können Sie sich mit dem einmaligen Kennwort (OTP) authentifizieren, das an die registrierte E-Mail-Adresse gesendet wird. Wenn Sie versuchen, sich für einen Dienst zu authentifizieren, sendet der Server ein OTP an die registrierte E-Mail-Adresse des Benutzers.

Um die E-Mail-OTP-Funktion zu verwenden, 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 nicht auf die primäre E-Mail-ID zugreifen können, wenn es eine Kontosperrung gab oder wenn Sie das AD-Kennwort vergessen haben.

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, überprüfen Sie die folgenden Voraussetzungen:

Active Directory-Einstellung

  • Unterstützte Version ist 2016/2012 und 2008 Active Directory Domänenfunktionsebene
  • Citrix ADC ldapBind-Benutzername muss Schreibzugriff auf den AD-Pfad des Benutzers haben

E-Mail-Server

  • Damit E-Mail-OTP-Lösung funktioniert, stellen Sie sicher, dass die Anmeldebasierte Authentifizierung auf dem SMTP-Server aktiviert ist. Citrix ADC unterstützt nur Authentifizierungsauthentifizierung, damit E-Mail OTP funktioniert.

  • Geben Sie den folgenden Befehl auf dem SMTP-Server ein, um sicherzustellen, dass die Authentifizierungsauthentifizierung aktiviert ist. Wenn die Anmeldebasierte Authentifizierung aktiviert ist, stellen Sie fest, dass der Text AUTH LOGIN in der Ausgabe fett angezeigt wird.

Anmeldebasierte Authentifizierung auf SMTP-Server aktivieren

Einschränkungen

  • Diese Funktion wird nur unterstützt, wenn das Authentifizierungs-Back-End LDAP ist.
  • Bereits registrierte alternative E-Mail-ID kann nicht angezeigt werden.
  • Nur die alternative E-Mail-ID von der KBA-Registrierungsseite kann nicht aktualisiert werden.
  • KBA- und E-Mail-OTP-Authentifizierung und -Registrierung können nicht die ersten Faktoren im Authentifizierungsfluss sein. Dies ist durch Design, um eine robuste Authentifizierung zu erreichen.
  • Dasselbe AD-Attribut muss für KBA und Alternative E-Mail-ID konfiguriert werden, wenn dieselbe Authentifizierungs-LDAP-Aktion verwendet wird.
  • Bei nativem 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, werden sie an die Citrix ADC 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.

Berücksichtigen Sie beim Konfigurieren eines AD-Attributs Folgendes:

  • Die Länge des unterstützten Attributnamens muss mindestens 128 Zeichen lang sein.
  • Der Attributtyp muss ‘DirectoryString’ sein.
  • Dasselbe AD-Attribut kann für native OTP- und KBA-Registrierungsdaten verwendet werden.
  • Der LDAP-Administrator muss über Schreibzugriff auf das ausgewählte AD-Attribut verfügen.

Vorhandene Attribute verwenden

Das in diesem Beispiel verwendete Attribut lautet ‘Userparameters’. 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 zu ADSI, wählen Sie Benutzer aus, klicken Sie mit der rechten Maustaste auf den Benutzer, und scrollen Sie nach unten zur Attributliste. Sie müssen den Attributwert für UserParameters als nicht festgelegtsehen. Dies zeigt an, dass das Attribut momentan nicht verwendet wird.

AD-Attributeinstellungen

Konfigurieren von E-Mail-OTP

E-Mail-OTP-Lösung besteht aus den folgenden zwei Teilen:

  • E-Mail-Registrierung
  • E-Mail-Validierung

E-Mail-Registrierung

Es gibt zwei Möglichkeiten, die alternative E-Mail-ID eines Benutzers zu registrieren:

  1. Zusammen mit KBA-Registrierung
  2. Nur E-Mail-ID-Registrierung - Diese Methode wird von 13.0 Build 61.x und höher unterstützt; und 12.1 Build 58.x und höher.

Zusammen mit KBA-Registrierung

KBA-Registrierungs-LoginSchema

  1. Navigieren Sie zu Sicherheit > AAA — Anwendungsverkehr > Anmeldeschema > Profile, und klicken Sie auf KBA Registration LoginSchema hinzufügen.

Anmeldeschema für KBA-Registrierung

  1. Konfigurieren des KBA-Registrierungsauthentifizierungsschemas. Dieses einmal generierte Loginschema zeigt alle Fragen an, die für den Endbenutzer während des Registrierungsvorgangs konfiguriert wurden. Aktivieren Sie im Abschnitt E-Mail-Registrierung die Option Alternative E-Mail registrieren, um die alternative E-Mail-ID des Benutzers zu registrieren.

Authentifizierungs-Login-Schema

Benutzerdefinierte Fragen

  1. Aktivieren Sie im Abschnitt E-Mail-Registrierung die Option Alternative E-Mail registrieren, um eine alternative E-Mail-ID zu registrieren.

Alternative E-Mail registrieren

Führen Sie die folgende Konfiguration mithilfe der CLI-Eingabeaufforderung aus, nachdem das oben genannte KBA-Registrierungsschema erfolgreich erstellt wurde.

Binding Portal Thema und Zertifikat zu VPN global

bind authentication vserver auth1 -portaltheme RfWebUI
bind vpn global -userDataEncryptionKey c1

Vorangegangene Cert-Bindung ist erforderlich, um die im AD-Attribut gespeicherten Benutzerdaten (KB-Q&A und alternative E-Mail-ID registriert) zu verschlüsseln.

Erstellen einer LDAP-Authentifizierungsrichtlinie

add authentication 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 ldap1

Erstellen eines KBA-Registrierungs-Loginschemas und PolicyLabel

add authentication loginSchema Registrationschema -authenticationSchema /nsconfig/loginschema/LoginSchema/KBARegistrationSchema.xml [This is the authentication schema created in the previous section.]
add authentication policylabel Registrationfactor -loginSchema Registrationschema
add authentication ldapAction ldap_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_registration -rule true -action ldap_registration
bind authentication policylabel Registrationfactor -policyName ldap_registration -priority 1 -gotoPriorityExpression NEXT

Bindung der Authentifizierungsrichtlinie an den virtuellen Authentifizierungsserver

bind authentication vserver authvs – policy ldap -priority 1 -nextFactor Registrationfactor -gotoPriorityExpression NEXT
  1. Sobald Sie alle in den vorherigen Abschnitten genannten Schritte konfiguriert haben, müssen Sie die folgende GUI-Bildschirm sehen:

Wenn Sie beispielsweise über eine URL zugreifen,https://lb1.server.com/ erhalten Sie eine erste Anmeldeseite, die nur die LDAP-Anmeldeinformationen erfordert:

Zwei Faktor-Anmeldeseite

Nach der Anmeldung mit gültigen Anmeldeinformationen sehen Sie die Seite Benutzerregistrierung wie folgt:

Anmeldung zur KBA-Registrierung

Klicken Sie auf Absenden, damit die Benutzerregistrierung erfolgreich ist und die Sitzung erstellt werden soll.

Nur E-Mail-ID-Registrierung

Führen Sie die folgende Konfiguration mithilfe der CLI-Eingabeaufforderung aus, nachdem das oben erwähnte KBA-Registrierungsschema erfolgreich erstellt wurde:

Binding Portal Thema und Zertifikat zu VPN global

bind authentication vserver auth1 -portaltheme RfWebUI
bind vpn global -userDataEncryptionKey c1

Vorangegangene Cert-Bindung ist erforderlich, um die im AD-Attribut gespeicherten Benutzerdaten (KB-Q&A und alternative E-Mail-ID Registriert) zu verschlüsseln.

Erstellen einer LDAP-Authentifizierungsrichtlinie

add authentication 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 ldap1

Erstellen einer 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 eines Loginschemas für E-Mail-Registrierung und PolicyLabel

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

Bindung der Authentifizierungsrichtlinie an den virtuellen Authentifizierungsserver

bind authentication vserver authvs – policy ldap -priority 1 -nextFactor email_Registration_factor - gotoPriorityExpression NEXT

Sobald Sie alle in den vorherigen Abschnitten genannten Schritte konfiguriert haben, müssen Sie die folgende GUI-Bildschirm sehen:

Wenn Sie beispielsweise über URL zugreifen,https://lb1.server.com/ erhalten Sie eine erste Anmeldeseite, die nur LDAP-Anmeldeinformationen erfordert, gefolgt von einer alternativen E-Mail-Registrierungsseite:

Zwei Faktor-Anmeldeseite

Anmeldung zur E-Mail-Registrierung

E-Mail-Validierung

Binding Portal Thema und Zertifikat zu VPN global

bind authentication vserver auth1 -portaltheme RfWebUI
bind vpn global -userDataEncryptionKey c1

Die vorangegangene Zertifikatbindung ist erforderlich, um die im AD-Attribut gespeicherten Benutzerdaten (KB-Q&A und alternative E-Mail-ID registriert) zu entschlüsseln.

Erstellen einer LDAP-Authentifizierungsrichtlinie. LDAP muss ein Faktor für die E-Mail-Validierung sein, da Sie die E-Mail-ID des Benutzers oder eine alternative E-Mail-ID 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 einer 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

Im zuvor erwähnten Befehl ist die E-Mail-Adresse der alternative E-Mail-ID-Benutzer, der während der KBA-Registrierung angegeben wurde. E-Mail/Kennwort ist die E-Mail-ID, die ein Administrator konfigurieren würde, von der E-Mail an die registrierte alternative E-Mail-ID des Benutzers gesendet wird.

Erstellen einer E-Mail-OTP-Validierungsrichtlinienlabel

add authentication policylabel email_Validation_factor
bind authentication policylabel email_Validation_factor -policyName email -priority 1 -gotoPriorityExpression NEXT

Bindung der Authentifizierungsrichtlinie an den virtuellen Authentifizierungsserver

bind authentication vserver authvs – policy ldap1 -priority 1 -nextFactor email_Validation_factor -gotoPriorityExpression NEXT

Sobald Sie alle in den vorherigen Abschnitten genannten Schritte konfiguriert haben, müssen Sie den folgenden GUI-Bildschirm für EMAIL OTP Validation sehen:

Wenn Sie beispielsweise über die URL https://lb1.server.com/ zugreifen, erhalten Sie eine erste Anmeldeseite, die nur die LDAP-Anmeldeinformationen erfordert, gefolgt von der Seite EMAIL OTP Validierung. In der LDAP-Richtlinie ist es wichtig, alternateEmailAttr zu konfigurieren, um die E-Mail-ID des Benutzers vom AD-Attribut abfragen zu können.

Zwei Faktor-Anmeldeseite

OTP aus E-Mail

Problembehandlung

NS-Protokoll Bevor Sie das Protokoll analysieren, ist es besser, die Protokollebene so zu debuggen:

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 <local0.debug> 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 — Szenario fehlgeschlagen

Auf der Anmeldeseite des Benutzers sehen Sie “Ihre Anfrage kann nicht abgeschlossen werden” Dies zeigt an, dass certkey für die Verschlüsselung der Benutzerdaten an VPN global gebunden ist.

Jul 31 08:51:46 <local0.info> 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 <local0.info> 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-Überprüfung — 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 — Szenario fehlgeschlagen

Auf der Anmeldeseite des Benutzers wird die Fehlermeldung “Anfrage kann nicht abgeschlossen werden” angezeigt. Dies bedeutet, dass die Anmelde-basierte Authentifizierung auf dem E-Mail-Server nicht aktiviert ist und die gleiche muss aktiviert werden.

" /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

E-Mail OTP