ADC

E-Mail OTP

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:

Active Directory-Einstellung

  • Unterstützte Version ist 2016/2012 und 2008 Active Directory-Domänenfunktionsebene
  • Der NetScaler LDAPBind-Benutzername muss Schreibzugriff auf den AD-Pfad des Benutzers haben.

E-Mail-Server

  • Damit die E-Mail-OTP-Lösung funktioniert, stellen Sie sicher, dass die auf Anmeldung basierende Authentifizierung auf dem SMTP-Server aktiviert ist. NetScaler unterstützt nur die auf Auth-Anmeldung basierende Authentifizierung, damit E-Mail-OTP funktioniert.

  • Um sicherzustellen, dass die auf Auth-Anmeldung 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 Ausgabe fett gedruckt erscheint.

Aktiviere die auf Anmeldung basierende Authentifizierung auf dem SMTP-Server

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 KBA- und E-Mail-OTP-Authentifizierung und -Registrierung können nicht die ersten Faktoren im Authentifizierungsablauf sein. Dies ist beabsichtigt, um eine robuste Authentifizierung zu erreichen.
  • Dasselbe AD-Attribut muss für KBA und alternative E-Mail-ID konfiguriert werden, wenn dieselbe LDAP-Authentifizierungsaktion verwendet wird.
  • 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, werden sie 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 KBA-Registrierungsdaten verwendet werden.
  • Der LDAP-Administrator muss Schreibzugriff auf das ausgewählte AD-Attribut haben.

Verwenden vorhandener Attribute

Das in diesem Beispiel verwendete Attribut ist ‘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 und 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ür UserParametersnicht festgelegt ist. Dies deutet darauf hin, dass das Attribut derzeit nicht verwendet wird.

AD-Attribut

E-Mail-OTP konfigurieren

Die 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 der KBA-Registrierung
  2. Nur E-Mail-ID-Registrierung — Diese Methode wird ab 13.0 Build 61.x und höher und 12.1 Build 58.x und höher unterstützt.

Zusammen mit der KBA-Registrierung

Anmeldeschema für die KBA-Registrierung

  1. Navigieren Sie zu Sicherheit > AAA — Anwendungsverkehr > Anmeldeschema > Profile und klicken Sie auf Anmeldeschema für die KBA-Registrierung hinzufügen.

    Anmeldeschema für die KBA-Registrierung

  2. Konfigurieren Sie das Authentifizierungsschema für die KBA-Registrierung. Dieses einmal generierte Anmeldeschema zeigt alle Fragen, die während des Registrierungsprozesses für den Endbenutzer konfiguriert wurden. Aktivieren Sie im Abschnitt E-Mail-Registrierung die Option Alternative E-Mail-Adresse registrieren, um die alternative E-Mail-ID des Benutzers zu registrieren.

    Anmeldeschema für die Authentifizierung

    Benutzerdefinierte Fragen

  3. Markieren Sie im Abschnitt E-Mail-Registrierung die Option Alternative E-Mail-Adresse registrieren, um eine alternative E-Mail-ID zu registrieren.

    Alternative E-Mail-Adresse registrieren

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

  1. Binden Sie das Portaldesign und das Zertifikat an VPN Global.

    bind authentication vserver authvs -portaltheme RfWebUI
    bind vpn global -userDataEncryptionKey c1
    <!--NeedCopy-->
    

    Eine vorherige Zertifikatsbindung ist erforderlich, um die im AD-Attribut gespeicherten Benutzerdaten (KB Q&A und alternative E-Mail-ID registriert) zu verschlüsseln

  2. Erstellen Sie eine 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 ldap
    <!--NeedCopy-->
    
  3. Erstellen Sie ein Anmeldeschema und ein PolicyLabel für die KBA-Registrierung.

    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
    <!--NeedCopy-->
    
  4. Binden Sie die Authentifizierungsrichtlinie an den virtuellen Authentifizierungsserver.

    bind authentication vserver authvs – policy ldap -priority 1 -nextFactor Registrationfactor -gotoPriorityExpression NEXT
    <!--NeedCopy-->
    
  5. Nachdem Sie alle in den vorherigen Abschnitten genannten Schritte konfiguriert haben, müssen Sie den folgenden GUI-Bildschirm sehen. Beim Zugriff über eine URL wie https://lb1.server.com/ wird Ihnen eine erste Anmeldeseite angezeigt, für die nur die LDAP-Anmeldeinformationen erforderlich sind.

    Zwei Faktor-Anmeldeseite

  6. Nachdem Sie sich mit einem gültigen Anmeldeinformationen angemeldet haben, sehen Sie die Benutzerregistrierungsseite wie folgt.

    Anmeldung zur KBA-Registrierung

  7. Klicken Sie auf Senden, damit die Benutzerregistrierung erfolgreich ist und die Sitzung erstellt wird.

Nur E-Mail-ID-Registrierung

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

  1. Binden Sie das Portaldesign und das Zertifikat an VPN Global.

    bind authentication vserver authvs -portaltheme RfWebUI
    bind vpn global -userDataEncryptionKey c1
    <!--NeedCopy-->
    

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

  2. Erstellen Sie eine 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 ldap
    <!--NeedCopy-->
    
  3. Erstellen Sie eine 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
    <!--NeedCopy-->
    
  4. Erstellen Sie ein Anmeldeschema und ein PolicyLabel für die E-Mail-Registrierung.

    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
    <!--NeedCopy-->
    
  5. Binden Sie die Authentifizierungsrichtlinie an den virtuellen Authentifizierungsserver.

    bind authentication vserver authvs –policy ldap -priority 1 -nextFactor email_Registration_factor -gotoPriorityExpression NEXT
    <!--NeedCopy-->
    
  6. Nachdem Sie alle in den vorherigen Abschnitten genannten Schritte konfiguriert haben, müssen Sie den folgenden GUI-Bildschirm sehen. Beim Zugriff über eine URL wie https://lb1.server.com/ wird Ihnen eine erste Anmeldeseite angezeigt, für die nur LDAP-Anmeldeinformationen erforderlich sind, gefolgt von einer alternativen E-Mail-Registrierungsseite.

    Zwei Faktor-Anmeldeseite

    Anmeldung bei der E-Mail-Registrierung

E-Mail-Validierung

Führen Sie die folgenden Schritte für die E-Mail-Validierung aus.

  1. Portaldesign und Zertifikat an VPN global binden

    bind authentication vserver authvs -portaltheme RfWebUI
    bind vpn global -userDataEncryptionKey c1
    <!--NeedCopy-->
    

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

  2. Erstellen Sie eine LDAP-Authentifizierungsrichtlinie. LDAP muss ein wichtiger Faktor vor der 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
    <!--NeedCopy-->
    
  3. Erstellen Sie eine 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
    <!--NeedCopy-->
    

    In dem zuvor erwähnten Befehl ist die E-Mail-Adresse die alternative E-Mail-ID, die bei der KBA-Registrierung angegeben wurde.

  4. Erstellen Sie ein PolicyLabel für die E-Mail-OTP-Validierung.

    add authentication policylabel email_Validation_factor
    bind authentication policylabel email_Validation_factor -policyName email -priority 1 -gotoPriorityExpression NEXT
    <!--NeedCopy-->
    
  5. Binden Sie die Authentifizierungsrichtlinie an den virtuellen Authentifizierungsserver

    bind authentication vserver authvs – policy ldap1 -priority 1 -nextFactor email_Validation_factor -gotoPriorityExpression NEXT
    <!--NeedCopy-->
    
  6. 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. Beim Zugriff über eine URL wie https://lb1.server.com/ wird Ihnen eine erste Anmeldeseite angezeigt, für die nur die LDAP-Anmeldeinformationen erforderlich sind, gefolgt von der E-Mail-OTP-Validierungsseite.

    In der LDAP-Richtlinie ist es wichtig, AlternateEmailAttr so zu konfigurieren, dass die E-Mail-ID des Benutzers aus dem AD-Attribut abgefragt werden kann.

    Zwei Faktor-Anmeldeseite

    OTP aus E-Mail

Problembehandlung

Bevor Sie das Protokoll analysieren, ist es besser, die Protokollebene wie folgt auf Debuggen festzulegen.

set syslogparams -loglevel DEBUG
<!--NeedCopy-->

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

<!--NeedCopy-->

Registrierung — Fehlgeschlagenes Szenario

Auf der Benutzeranmeldeseite wird die folgende Fehlermeldung angezeigt: „Ihre Anfrage kann nicht abgeschlossen werden“. Dies weist darauf hin, dass der Certkey, der zur Verschlüsselung der Benutzerdaten an VPN Global gebunden werden soll, fehlt.

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"
<!--NeedCopy-->

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"
<!--NeedCopy-->

E-Mail-Validierung — Fehlgeschlagenes Szenario

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
<!--NeedCopy-->
E-Mail OTP