OAuth Authentifizierung
Die Authentifizierung, Autorisierung und Überwachung des Verkehrsmanagements unterstützt die Authentifizierung von OAuth und OpenID Connect (OIDC). Es autorisiert und authentifiziert Benutzer für Dienste, die auf Anwendungen wie Google, Facebook und Twitter gehostet werden.
Wichtige Hinweise
- NetScaler Advanced Edition und höher ist erforderlich, damit die Lösung funktioniert.
- Eine NetScaler-Appliance muss auf Version 12.1 oder höher sein, damit die Appliance mit OIDC als OAuth IdP funktioniert.
- OAuth auf einer NetScaler-Appliance ist für alle SAML-IdPs qualifiziert, die mit “OpenID Connect 2.0” kompatibel sind.
Eine NetScaler-Appliance kann so konfiguriert werden, dass sie sich mithilfe von SAML und OIDC als Service Provider (SP) oder Identity Provider (IdP) verhält. Zuvor unterstützte eine als IdP konfigurierte NetScaler-Appliance nur das SAML-Protokoll. Ab der NetScaler 12.1-Version unterstützt NetScaler auch das OIDC.
OIDC ist eine Erweiterung der OAuth Autorisierung/-Delegation. Eine NetScaler-Appliance unterstützt OAuth- und OIDC-Protokolle in derselben Klasse anderer Authentifizierungsmechanismen. OIDC ist ein Add-On zu OAuth, da es eine Möglichkeit bietet, Benutzerinformationen vom Autorisierungsserver abzurufen, im Gegensatz zu OAuth, das nur ein Token erhält, das für Benutzerinformationen nicht abgerufen werden kann.
Der Authentifizierungsmechanismus erleichtert die Inline-Überprüfung von OpenID-Token. Eine NetScaler-Appliance kann konfiguriert werden, um Zertifikate zu erhalten und Signaturen auf dem Token zu überprüfen.
Ein großer Vorteil der Verwendung der OAuth- und OIDC-Mechanismen besteht darin, dass die Benutzerinformationen nicht an die gehosteten Anwendungen gesendet werden. Daher wird das Risiko eines Identitätsdiebstahls erheblich reduziert.
Die für Authentifizierung, Autorisierung und Überwachung konfigurierte NetScaler-Appliance akzeptiert jetzt eingehende Token, die mit dem HMAC HS256-Algorithmus signiert werden. Darüber hinaus werden die öffentlichen Schlüssel des SAML Identity Provider (IdP) aus einer Datei gelesen, anstatt von einem URL-Endpunkt zu lernen.
In der NetScaler-Implementierung wird auf die Anwendung über den virtuellen Authentifizierungs-, Autorisierungs- und Überwachungsdatenverwaltungsserver zugegriffen. Um OAuth zu konfigurieren, müssen Sie also eine OAuth-Richtlinie konfigurieren, die dann einem virtuellen Authentifizierungs-, Autorisierungs- und Überwachungsserver für das Verkehrsmanagement zugeordnet werden muss.
Konfigurieren Sie das OpenID Connect-Protokoll
Eine NetScaler-Appliance kann jetzt mithilfe des OIDC-Protokolls als Identitätsanbieter konfiguriert werden. Das OIDC-Protokoll stärkt die Funktionen zur Identitätsbereitstellung der NetScaler-Appliance. Sie können jetzt mit einer einmaligen Anmeldung auf die unternehmensweit gehostete Anwendung zugreifen. Das OIDC bietet mehr Sicherheit, indem es kein Benutzerkennwort überträgt, sondern mit Token mit einer bestimmten Lebensdauer arbeitet. OIDC wurde auch für die Integration in Nicht-Browser-Clients wie Apps und Dienste entwickelt. Daher verwenden viele Implementierungen OIDC in großem Umfang.
Vorteile der Unterstützung von OpenID Connect
- OIDC eliminiert den Aufwand für die Pflege mehrerer Authentifizierungskennwörter, da der Benutzer über eine einzige Identität im gesamten Unternehmen verfügt.
- OIDC bietet eine robuste Sicherheit für Ihr Kennwort, da das Kennwort nur mit Ihrem Identitätsanbieter und nicht mit einer Anwendung, auf die Sie zugreifen, geteilt wird.
- OIDC verfügt über eine enorme Interoperabilität mit verschiedenen Systemen, was es den gehosteten Anwendungen erleichtert, OpenID zu akzeptieren.
- OIDC ist ein einfaches Protokoll, das es nativen Clients ermöglicht, sich einfach in Server zu integrieren.
So konfigurieren Sie eine NetScaler-Appliance als IdP mithilfe des OpenID Connect-Protokolls über die GUI
-
Navigieren Sie zu Konfiguration > Sicherheit > AAA-Anwendungsdatenverkehr > Richtlinien > Authentifizierung > Erweiterte Richtlinien > OAuth IdP.
-
Klicken Sie auf Profil und dann auf Hinzufügen.
Legen Sie im Bildschirm Authentifizierung erstellen OAuth IDP-Profil Werte für die folgenden Parameter fest und klicken Sie auf Erstellen.
- Name — Name des Authentifizierungsprofils.
- Client-ID — Eindeutige Zeichenfolge, die SP identifiziert.
- Client Secret — Eindeutiges Geheimnis, das SP identifiziert.
- URL umleiten — Endpunkt für SP, an dem Code/Token gepostet werden muss.
- Name des Ausstellers — Zeichenfolge, die IdP identifiziert.
- Zielgruppe — Zielempfänger für das Token, das vom IdP gesendet wird. Dies könnte vom Empfänger überprüft werden.
- Skew Time — Die Zeit, für die das Token gültig bleibt.
- Standardauthentifizierungsgruppe — Eine Gruppe, die der Sitzung für dieses Profil hinzugefügt wurde, um die Richtlinienbewertung zu vereinfachen und beim Anpassen von Richtlinien zu helfen.
-
Klicken Sie auf Richtlinien, und klicken Sie auf Hinzufügen.
-
Legen Sie im Fenster Richtlinie für OAuth IDP-Authentifizierung erstellen Werte für die folgenden Parameter fest und klicken Sie auf Erstellen.
- Name — Der Name der Authentifizierungsrichtlinie.
- Aktion — Name des zuvor erstellten Profils.
- Protokollaktion — Name der Aktion des Nachrichtenprotokolls, die verwendet werden soll, wenn eine Anforderung dieser Richtlinie entspricht. Keine obligatorische Einreichung.
- Aktion mitundefiniertem Ergebnis — Aktion, die ausgeführt werden soll, wenn das Ergebnis der Richtlinienbewertung nicht bestraft wird (UNDEF). Kein Pflichtfeld.
- Ausdruck — Erweiterter Richtlinienausdruck, den die Richtlinie verwendet, um auf eine bestimmte Anfrage zu antworten. Beispiel: true.
- Comments: Kommentare zu der Richtlinie.
Binden der OAuthIDP-Richtlinie und der LDAP-Richtlinie an den virtuellen Authentifizierungsserver
-
Navigieren Sie zu Konfiguration > Sicherheit > AAA-Anwendungsdatenverkehr > Richtlinien > Authentifizierung > Erweiterte Richtlinien > Aktionen > LDAP.
-
Klicken Sie im Bildschirm LDAP-Aktionen auf Hinzufügen.
-
Legen Sie auf dem Bildschirm Create Authentication LDAP-Server die Werte für die folgenden Parameter fest und klicken Sie auf Erstellen.
- Name — Der Name der LDAP-Aktion
- Servername/ServerIP — Bereitstellung von FQDN oder IP des LDAP-Servers
- Wählen Sie geeignete Werte für Sicherheitstyp, Port, Servertyp, Timeout
- Stellen Sie sicher, dass Authentifizierung aktiviert ist
- Basis-DN — Basis, von der aus die LDAP-Suche gestartet werden soll. Zum Beispiel dc=aaa, dc = local.
- Administrator Bind DN: Benutzername der Bindung an den LDAP-Server. Zum Beispiel admin@aaa.local.
- Administratorkennwort/Kennwort bestätigen: Kennwort zum Binden von LDAP
- Klicken Sie auf Verbindung testen, um Ihre Einstellungen zu testen.
- Attribut für Server-Anmeldename: Wählen Sie “sAMAccountName”
- Andere Felder sind nicht Pflichtfelder und können daher nach Bedarf konfiguriert werden.
-
Navigieren Sie zu Konfiguration > Sicherheit > AAA-Anwendungsdatenverkehr > Richtlinien > Authentifizierung > Erweiterte Richtlinien > Richtlinie.
-
Klicken Sie auf dem Bildschirm Authentifizierungsrichtlinien auf Hinzufügen.
-
Legen Sie auf der Seite Authentifizierungsrichtlinie erstellen die Werte für die folgenden Parameter fest und klicken Sie auf Erstellen.
- Name — Name der LDAP-Authentifizierungsrichtlinie.
- Aktionstyp — Wählen Sie LDAP aus.
- Aktion — Wählen Sie die LDAP-Aktion aus.
- Ausdruck — Erweiterter Richtlinienausdruck, den die Richtlinie verwendet, um auf eine bestimmte Anfrage zu antworten. Beispiel: true**.
So konfigurieren Sie die NetScaler-Appliance als IdP mithilfe des OpenID Connect-Protokolls mithilfe von CLI
Geben Sie an der Eingabeaufforderung die folgenden Befehle ein:
add authentication OAuthIDPProfile <name> [-clientID <string>][-clientSecret ][-redirectURL <URL>][-issuer <string>][-audience <string>][-skewTime <mins>] [-defaultAuthenticationGroup <string>]<!--NeedCopy-->
-
add authentication OAuthIdPPolicy <name> -rule <expression> [-action <string> [-undefAction <string>] [-comment <string>][-logAction <string>]<!--NeedCopy-->
-
add authentication ldapAction aaa-ldap-act -serverIP 10.0.0.10 -ldapBase "dc=aaa,dc=local"<!--NeedCopy-->
-
ldapBindDn <administrator@aaa.local> -ldapBindDnPassword <password> -ldapLoginName sAMAccountName<!--NeedCopy-->
-
add authentication policy aaa-ldap-adv-pol -rule true -action aaa-ldap-act<!--NeedCopy-->
-
bind authentication vserver auth_vs -policy <ldap_policy_name> -priority 100 -gotoPriorityExpression NEXT<!--NeedCopy-->
-
bind authentication vserver auth_vs -policy <OAuthIDPPolicyName> -priority 5 -gotoPriorityExpression END<!--NeedCopy-->
bind vpn global –certkey <><!--NeedCopy-->
Hinweis
Sie können mehr als einen Schlüssel binden. Öffentliche Teile von Zertifikaten, die gebunden sind, werden als Antwort auf gesendet
jwks\_uri query (https://gw/oauth/idp/certs)
.