delpiero
Goto Top

Netscaler Zweifachauthentifizierung mit OpenOTP

Hallo zusammen

Ich habe soeben den OpenOTP-Server in Betrieb genommen.

- VM-Appliance heruntergeladen von der Herstellerseite https://www.rcdevs.com/products/openotp/
- Nach folgender Anleitung konfiguriert: https://www.markbrilman.nl/2015/04/tutorial-google-authenticator-as-2-fa ...

Wenn ich über das Webinterface von OpenOTP die Useranmeldung mit Domainpasswort + OTP von Google-Authenticator teste funktioniert es.
Leider funktioniert die Anmeldung über den Netscaler Gateway nicht.

Von der Firewall wird nichts geblockt, das habe ich überprüft. Nun weiss ich nicht wie ich am Besten vorgehe um den Fehler zu finden.
Sofern die Kommunikation über Netscaler-Management-IP > OpenOTP-Server stattfindet.

Kennt sich jemand damit aus?

Besten Dank
Del Piero

Content-Key: 288794

Url: https://administrator.de/contentid/288794

Printed on: April 18, 2024 at 11:04 o'clock

Member: keksdieb
keksdieb Nov 22, 2015 at 11:47:55 (UTC)
Goto Top
Moin...

Wieder zu wenig Fakten für eine qualifizierte Antwort, also frage ich erstmal zurück ;)

Du hast auf dem NetScaler die / den Radius Server eingerichtet?

Du hast Policys für die Aughentifizierung erstellt?

Du hast am NetScaler Gateway (vServer) die Policies und Radius Server eingebunden?

Der NetScaler fragt die Radius-Server entweder mit seiner Subnet-IP (SNIP) oder mit der NetScaler IP (NSNIP). Das hängt davon ab, wie du das Backend an den NetScaler angebunden hast.

Und wo wir mal dabei sind, bedenke, das je nachdem wie die Anfrage gestellt wird ( nativ über Receiver oder über Web) sich die Reihenfolge der Passwortfelder vertauscht!
Citrix bietet zum Thema NetScaler und Two Factor Auth zahlreiche Anleitungen an:
http://support.citrix.com/article/CTX125364

Gruss Keksdieb
Member: DelPiero
DelPiero Nov 22, 2015 at 15:24:00 (UTC)
Goto Top
Hallo

Danke für deine Antowort.

Im Link ist die Anleitung, die ich befolgt habe, da steht eig. alles drin.


Du hast auf dem NetScaler die / den Radius Server eingerichtet?
Beim Netscaler habe ich den Radius-Server angegeben mit der IP-Adresse des OpenOTP-Servers und den Port 1812.

Du hast Policys für die Aughentifizierung erstellt?
Policy habe ich erstellt, mit dem Wert "ns_true".

Du hast am NetScaler Gateway (vServer) die Policies und Radius Server eingebunden?
Ja, als sekundäre Authentifizierung habe ich die vorhin erstellte Authentifizierungs-Policy verwendet.

Bis jetzt habe ich den Login nur über den WebReceiver getestet.
Komischerweise sehe ich im WebADM-Log beim OpenOTP, dass die Authentifizierung erfolgreich war. Trotzdem erhalte ich vom Netscaler die meldung "authentifizierung fehlgeschlagen".

Gruss DelPiero
Member: keksdieb
keksdieb Nov 23, 2015 at 08:18:58 (UTC)
Goto Top
Versuch mal die Passwörter umzudrehen...

Also das OTP Passwort in das Passwortfeld 1 und das Domänenpasswort ins Feld 2.

Ansonsten bräuchte ich einmal ein paar Config Fetzen von dir, damit ich da helfen kann.

Gruß Keks
Member: DelPiero
DelPiero Nov 23, 2015 updated at 09:35:50 (UTC)
Goto Top
Habe ich mal versucht, Login schlägt leider auch fehl. Wenn ich das OTP in Passwortfeld1 eintrage ist im WebADM-Feld auch nichts ersichtlich.

Wenn ich das Domainpasswort in Passwortfeld1 eintrage ist im Log folgendes ersichtlich:

[2015-11-23 09:44:28] [127.0.0.1] [OpenOTP:71422F8F] New openotpSimpleLogin SOAP request
[2015-11-23 09:44:28] [127.0.0.1] [OpenOTP:71422F8F] > Username: administrator
[2015-11-23 09:44:28] [127.0.0.1] [OpenOTP:71422F8F] > Domain: test
[2015-11-23 09:44:28] [127.0.0.1] [OpenOTP:71422F8F] > Password: xxxxxx
[2015-11-23 09:44:28] [127.0.0.1] [OpenOTP:71422F8F] > Client ID: 10.203.30.15
[2015-11-23 09:44:28] [127.0.0.1] [OpenOTP:71422F8F] > Options: -U2F
[2015-11-23 09:44:28] [127.0.0.1] [OpenOTP:71422F8F] Registered openotpSimpleLogin request
[2015-11-23 09:44:28] [127.0.0.1] [OpenOTP:71422F8F] Ignoring group 'cn=grp_xa76,ou=security groups,ou=mybusiness,dc=test,dc=local' (out of domain group search base)  
[2015-11-23 09:44:28] [127.0.0.1] [OpenOTP:71422F8F] Ignoring group 'cn=grp_sslvpn_login_ts2012,ou=security groups,ou=mybusiness,dc=test,dc=local' (out of domain group search base)  
[2015-11-23 09:44:28] [127.0.0.1] [OpenOTP:71422F8F] Ignoring group 'cn=administratoren,cn=builtin,dc=test,dc=local' (out of domain group search base)  
[2015-11-23 09:44:40] [127.0.0.1] [OpenOTP:71422F8F] Resolved LDAP user: CN=Administrator,CN=Users,DC=test,DC=local
[2015-11-23 09:44:40] [127.0.0.1] [OpenOTP:71422F8F] Resolved LDAP groups: richtlinien-ersteller-besitzer,dom\xc3\xa4nen-admins,organisations-admins,schema-admins
[2015-11-23 09:44:40] [127.0.0.1] [OpenOTP:71422F8F] Started transaction lock for user
[2015-11-23 09:44:40] [127.0.0.1] [OpenOTP:71422F8F] Found 1 user certificates
[2015-11-23 09:44:40] [127.0.0.1] [OpenOTP:71422F8F] Found 34 user settings: LoginMode=OTP,OTPType=TOKEN,OTPLength=6,ChallengeMode=Yes,ChallengeTimeout=90,ChallengeLock=No,ChallengeFake=No,TrustedContext=No,EnableLogin=Yes,OTPPrefix=No,AppKeys=No,AppKeyLength=20,HOTPLookAheadWindow=25,TOTPTimeStep=30,TOTPTimeOffsetWindow=120,MOTPTimeOffsetWindow=120,OCRASuite=OCRA-1:HOTP-SHA1-6:QN06-T1M,SMSType=Normal,SMSMode=Ondemand,MailMode=Ondemand,LastOTPTime=300,ListChallengeMode=ShowID
[2015-11-23 09:44:40] [127.0.0.1] [OpenOTP:71422F8F] Found 6 user data: LoginCount,RejectCount,LastOTP,TokenType,TokenKey,TokenState
[2015-11-23 09:44:40] [127.0.0.1] [OpenOTP:71422F8F] Last OTP expired 2015-11-22 11:44:19
[2015-11-23 09:44:40] [127.0.0.1] [OpenOTP:71422F8F] Found 1 registered OTP token (TOTP)
[2015-11-23 09:44:40] [127.0.0.1] [OpenOTP:71422F8F] Requested login factors: (OTP)
[2015-11-23 09:44:40] [127.0.0.1] [OpenOTP:71422F8F] TOTP password Ok (token #1)
[2015-11-23 09:44:40] [127.0.0.1] [OpenOTP:71422F8F] Updated user data
[2015-11-23 09:44:40] [127.0.0.1] [OpenOTP:71422F8F] Sent success response


Domain: test.local
Management-IP-Netscaler: 192.168.10.15
OpenOtp-Server: 192.168.10.18

/otp/radiusd/conf/clients.conf
client 192.168.10.15/24 {
secret = 123456789
shortname= any
}


/opt/radiusd/conf/openotp.conf
server_url = "http://127.0.0.1:8080/openotp/"  

password_mode = 2

domain_separator = "\\"  


/opt/webadm/conf/webadm.conf
list_domains YES

proxy_user "CN=Administrator,CN=Users,DC=test,DC=local"  
proxy_password "passwort"  

super_admins "cn=administrator,cn=users,dc=test,dc=local"  


Im Webinterface vom OpenOtp-Server habe ich folgende Einstellungen vorgenommen im Authentication Server:

Default Domain: Default
Login Mode: OTP
OTP-Type: Token


Beim Netscaler habe ich folgende Schritte durchgeführt:

system/authentication/Radius/Server/Authentication RADIUS Server
- Radius Server erstellt mit 192.168.10.18, Port: 1812, Timeout: 24, SharedSecret eingetragen
info: Ich habe hier folgende Timeouts bereits ausprobiert: 3,6,9,12,15,18,21,24

system/authentication/Radius/Policie
- Policy erstellt mit expression: ns_true

netscaler gateway/virtual servers
- bestehenden netscaler ausgewählt und editiert
- Unter Authentication eine Sekundäre Authentifizierung ausgewählt
- Die im letzten Schritt erstellte Policy und Server angegeben
info: als primäre Authentifizierung ist eine LDAP-Verbindung direkt zum Domaincontroller ausgewählt


Weitere Infos:
- Ohne OTP funktioniert die Anmeldung am Netscaler tadelos
- Wenn ich im Webinterface die Anmeldung mit einem Benutzer teste mit OTP erhalte ich die meldung Success
- Wenn ich mich am netscaler Gateway anmelde mit User: test\Administrator, Domainpassword im Passwortfeld 1, OTP Passwortfeld 2 sehe ich im Webadm Log (Am Anfang von diesem Beitrag), dass die Authentifizierung erfolgreich ist, doch vom Netscaler Gateway erhalte ich die Meldung Username oder Passwort falsch
- Firewall ist momentan any any offen von 192.168.10.15 zu 192.168.10.18 und von 192.168.10.18 zu 192.168.10.15
- OTP-Server und Netscaler-Gateway wurden mehrmals neugestartet


Bitte gib mir kurz Bescheid falls du noch mehr Infos benötigst.

Vielen Dank

Gruss DelPiero
Member: keksdieb
keksdieb Nov 23, 2015 at 14:41:51 (UTC)
Goto Top
Hmm...

Sieht erst einmal gut aus...

Setz bitte die primäre Authentifizierung mal auf deinen Radius Server (keine sekundäre Auth-Methode angeben) und versuch dich dann mit OTP anzumelden... Wenn es geht, dann stimmt deine Radius Config.

Eventuell hast du die Priorisierung der Authentifizierungsmethoden gleich... Die Primäre sollte irgendwas bei 100 haben und die sekundäre entsprechend tiefer (90 oder noch tiefer). Wenn beide gleich sind, kommt es auch zu Fehlern.

Gruß
Keks
Member: DelPiero
DelPiero Nov 23, 2015 updated at 16:03:19 (UTC)
Goto Top
Ich habe zuerst die Priorisierung gesetzt

vorher: LDAP > 0, RADIUS > 90
neu: LDAP 100, Radius > 90

Problem bleibt bestehen.

Danach habe in den Authentifizierungseinstellungen LDAP entfernt und RADIUS als primäre Authentifizierung eingerichtet.
Ich erhalte wieder die Fehlermeldung, dass User/Passwort falsch ist und im WebADM-Log zeigt es mir aber immernoch an, dass die Anmeldung erfolgreich war mit "Response Success".

Muss ich beim Delivery-Controller bzw beim Storefront irgendwelche Einstellungen anpassen, damit die Anmeldung funktioniert, oder müsste das so funktionieren?

Gruss
Del Piero
Member: keksdieb
keksdieb Nov 23, 2015 at 18:10:56 (UTC)
Goto Top
Das müsste so funktionieren...
Bemüh mal den Kabelhai und werte mal die Verbindung aus.
Eventuell doch ein NSIP / SNIP Missverständnis.

Stimmt die Anbindung Radius zum Domänen Controller?

Gruß Keks
Member: DelPiero
DelPiero Nov 23, 2015 at 18:27:28 (UTC)
Goto Top
Ich hab als Radius-Client die Management IP des Netscaler Gateways verwendet beim OTP-Server. Also die selbe IP, wie wenn ich die Einstellungen vom Netscaler Gateway bearbeiten will.

Wie meinst du genau die Verbindung vom Radius zum Domänen-Controller?

Beim OpenOtp funktioniert die LDAP-Verbindung, ich sehe alle Benutzer und ich kann bei jedem User die Anmeldung erfolgreich testen via OpenOtp-Webinterface.

Gibt es evtl einen Log beim Netscaler in der die Antworten des Radius-Servers aufgelistet werden?

Gruss DelPiero
Member: keksdieb
keksdieb Nov 23, 2015 at 18:36:42 (UTC)
Goto Top
Beim Netscaler kannst du unter System - Diagnostic einen Trace des Datenverkehrs machen...
nstrace heißt der Punkt glaube ich...
Den kannst du dann mit Wireshark auswerten.

Also Haken wir die Radius zu AD Verbindung mit erfolgreich ab face-smile
Member: DelPiero
DelPiero Nov 24, 2015 at 08:58:35 (UTC)
Goto Top
Hallo


Nun funktioniert komischerweise die Anmeldung auf einmal.
Ich habe beim OpenOTP-Server entdeckt, dass im Hostname nur "rcvm" stand. Dies habe ich zu "rcvm.test.local" geändert und habe danach die VM neugestartet und aufeinmal funktioniert es.

Kann das wirklich Einfluss haben auf die Anmeldung?

Weisst d evtl. wie ich den Netscaler konfigurieren muss, dass ich mich zuerst via Domain-Passwort anmelde und nach erfolgreicher Anmeldung eine neue Seite erscheint, in der man den Token eingeben muss?

Vielen Dank für deine Hilfe.

Gruss
DelPiero
Member: keksdieb
Solution keksdieb Nov 24, 2015 updated at 11:43:39 (UTC)
Goto Top
Na ja,
Könnte ein DNS Problem sein und ohne Suffix kann der Name nicht mehr korrekt aufgelöst werden...
Da ich dein AD Konstrukt mit DNS nicht kenne, ist das aber reiner Spekulatius (apropo, ist nicht bald Weihnachtszeit?)...

Also check deine DNS Einträge für den Radius nochmal und mach mal enen nslookup auf rcvm, wenn da alles in Ordnung ist, liegt das Problem eher an deinem Active-Directory und den Sicherheitsoptionen...

Gruß Keks
Member: DelPiero
DelPiero Nov 24, 2015 at 09:32:05 (UTC)
Goto Top
Jetzt kann der Netscaler den Name korrekt auflösen, nachdem ich den Hostname vom OpenOTP-Server geändert habe.
Die Verbindung zwischen Radius und OpenOTP-Server habe ich aber via IP-Adresse eingerichtet, ich ging davon aus, dass ihn das dann nicht interessieren wird ob der Name aufgelöst werden kann oder nicht. War aber trotzdem so face-smile
Member: Koeberle
Koeberle Apr 14, 2016 at 07:53:43 (UTC)
Goto Top
Hallo...

Wir haben bei uns das gleiche Problem wie von dir beschrieben.

User mit 2 Faktor alles korrekt
User ohne 2 Faktor muss PW unter Passcode eintragen.

Funktioniert das nun bei dir korrekt ?

hab ich die Lösung richtig verstanden:
Nur via Radius authentifizieren
Server kommunikation via IP
Server Hostname (OTP Server) muss Full Qualified eingetragen sein und aufgelöst werden können ?

Gruss Martin
Member: DelPiero
DelPiero Apr 14, 2016 at 09:15:14 (UTC)
Goto Top
Hallo

Wenn du eine Anmeldung ohne 2 Faktor Authentifizierung machen willst, musst du in der datei /opt/radiusd/conf/openotp.conf den "password_mode" auf 1 setzen und im OpenOTP-Webinterface musst du die Authentifizierung auf LDAP only setzen.

Wie es in einem Mischbetrieb funktioniert kann ich dir leider nicht sagen, da bei meiner Umgebung alle die 2 Faktor Authentifizierung verwenden.

Falls du aber eine Lösung findest, würde mich die ebenfalls interessieren.

Hast du eine Anleitung um einen Mischbetrieb mit OpenOTP zu konfigurieren? Dann kann ich es austesten, da ich demnächst für einen anderen Kunde das selbe umsetzen werde.


Gruss DelPiero
Member: Koeberle
Koeberle Apr 14, 2016 at 10:17:38 (UTC)
Goto Top
Wir setzen Safeword und nicht OTP ein aber das Problem ist das gleiche...

Das komische ist mit dem Webinterface funktioniert alles Prima.

Gibst du die "Netscaler URL" aber im Receiver ein haben wir oben beschriebenes Problem:
  • User mit 2 Fakt: Eingabe Username, Password, Passcode--> Login OK
  • User ohne 2 Fakt: Eingabe Username, Password --> Fehler
  • User ohne 2 Fakt: Eingabe Username und das Passwort im Passcode Feld --> Login OK Crazy !

Gruss Martin
Member: DelPiero
DelPiero Apr 14, 2016 at 10:58:02 (UTC)
Goto Top
Du könntest noch versuchen, beim Netscaler als primäre Authentifizierung eine LDAP Authentifizierung direkt zum entsprechenden Server (so als würde man keinen OTP-Server verwenden) und als sekundäre die Radius authentifizierung.

Beim Radius Server den Login mode OTP only verwenden.

vielleicht funktioniert es auf diese Weise.

Gruss DelPiero