Citrix ADC

OAuth-Authentifizierung

Die Funktion für Authentifizierung, Autorisierung und Überwachung des Datenverkehrsmanagements unterstützt die OAuth und OpenID Connect (OIDC) -Authentifizierung. Es autorisiert und authentifiziert Benutzer für Dienste, die in Anwendungen wie Google, Facebook und Twitter gehostet werden.

Punkte zu beachten

  • Citrix ADC Advanced Edition und höher ist erforderlich, damit die Lösung funktioniert.
  • Eine Citrix ADC Appliance muss Version 12.1 oder höher sein, damit die Appliance mit OIDC als OAuth IdP funktioniert.
  • OAuth auf einer Citrix ADC Appliance ist für alle SAML-IDPs qualifiziert, die mit “OpenID connect 2.0” kompatibel sind.

Eine Citrix ADC Appliance kann so konfiguriert werden, dass sie sich mit SAML und OIDC als Service Provider (SP) oder Identity Provider (IdP) verhält. Zuvor unterstützte eine Citrix ADC Appliance, die als IdP konfiguriert war, nur das SAML-Protokoll. Ab der Citrix ADC 12.1-Version unterstützt Citrix ADC auch den OIDC.

OIDC ist eine Erweiterung der OAuth-Autorisierung/Delegierung. Eine Citrix ADC Appliance unterstützt OAuth- und OIDC-Protokolle in derselben Klasse anderer Authentifizierungsmechanismen. OIDC ist ein Add-on für OAuth, da es eine Möglichkeit bietet, Benutzerinformationen vom Autorisierungsserver abzurrufen, im Gegensatz zu OAuth, das nur ein Token erhält, das nicht für Benutzerinformationen abgerufen werden kann.

Der Authentifizierungsmechanismus erleichtert die Inline-Überprüfung von OpenID-Token. Eine Citrix ADC Appliance kann so konfiguriert werden, dass Zertifikate abgerufen und Signaturen auf dem Token überprüft werden.

Ein wesentlicher 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 die Authentifizierung, Autorisierung und Überwachung konfigurierte Citrix ADC Appliance akzeptiert jetzt eingehende Token, die mit dem HMAC HS256-Algorithmus signiert wurden. Darüber hinaus werden die öffentlichen Schlüssel des SAML-Identitätsanbieters (IdP) aus einer Datei gelesen, anstatt von einem URL-Endpunkt zu lernen.

In der Citrix ADC Implementierung wird auf die Anwendung durch den virtuellen Server für die Authentifizierung, Autorisierung und Überwachung der Datenverkehrsverwaltung zugegriffen. Um OAuth zu konfigurieren, müssen Sie also eine OAuth-Richtlinie konfigurieren, die dann einem virtuellen Server zur Authentifizierung, Autorisierung und Überwachung der Verkehrsverwaltung zugeordnet werden muss.

Konfigurieren Sie das OpenID Connect-Protokoll

Eine Citrix ADC Appliance kann jetzt mithilfe des OIDC-Protokolls als Identitätsanbieter konfiguriert werden. Das OIDC-Protokoll stärkt die Identitätsbereitstellungsfunktionen der Citrix ADC Appliance. Sie können jetzt mit einem Single Sign-On auf die unternehmensweite gehostete Anwendung zugreifen. Der OIDC bietet mehr Sicherheit, indem es kein Benutzerkennwort überträgt, sondern mit Token mit einer bestimmten Lebensdauer arbeitet. OIDC ist auch für die Integration in Nicht-Browser-Clients wie Apps und Dienste konzipiert. Daher nehmen viele Implementierungen OIDC weit an.

Vorteile der OpenID Connect Unterstützung

  • OIDC eliminiert den Aufwand für die Verwaltung mehrerer Authentifizierungskennwörter, da der Benutzer eine einzige Identität im gesamten Unternehmen hat.
  • 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 große Interoperabilität mit verschiedenen Systemen, die 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 Citrix ADC Appliance mit dem OpenID Connect-Protokoll über die GUI als IdP

  1. Navigieren Sie zu Konfiguration > Sicherheit > AAA-Anwendungsdatenverkehr > Richtlinien > Authentifizierung > Erweiterte Richtlinien > OAuth-IdP.

  2. Klicken Sie auf Profil, und klicken Sie auf Hinzufügen.

    Legen Sie im Bildschirm Authentifizierungs-OAuth-IDP-Profil erstellen 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.
    • Umleitungs-URL — Endpunkt auf SP, auf den Code/Token gepostet werden muss.
    • Name des Ausstellers — Zeichenfolge, die den IdP identifiziert.
    • Zielgruppe — Zielempfänger für das Token, das vom IdP gesendet wird. Dies kann 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.
  3. Klicken Sie auf Richtlinien, und klicken Sie auf Hinzufügen.

  4. Legen Sie im Bildschirm Authentifizierungs-OAuth-IDP-Richtlinie erstellen Werte für die folgenden Parameter fest, und klicken Sie auf Erstellen .

    • Name Der Name der Authentifizierungsrichtlinie.
    • Aktion — Name des zuvor erstellten Profils.
    • Log-Aktion : Name der Nachrichtenprotokollaktion, die verwendet wird, wenn eine Anforderung mit dieser Richtlinie übereinstimmt. Kein Pflichtfeld eingereicht.
    • Aktion Undefiniertes Ergebnis — Aktion, die ausgeführt wird, wenn das Ergebnis der Policy-Evaluierung unbestraft ist (UNDEF). Kein Pflichtfeld.
    • Ausdruck — Standard-Syntaxausdruck, den die Richtlinie verwendet, um auf bestimmte Anforderungen zu antworten. Zum Beispiel wahr.
    • Kommentare — Alle Kommentare zu der Richtlinie.

Binden der OAuthIDP-Richtlinie und der LDAP-Richtlinie an den virtuellen Authentifizierungsserver

  1. Navigieren Sie zu Konfiguration > Sicherheit > AAA-Anwendungsdatenverkehr > Richtlinien > Authentifizierung > Erweiterte Richtlinien > Aktionen > LDAP.

  2. Klicken Sie auf dem Bildschirm LDAP-Aktionen auf Hinzufügen .

  3. Legen Sie im Bildschirm Authentifizierungs-LDAP-Server erstellen die Werte für die folgenden Parameter fest, und klicken Sie auf Erstellen .

    • Name — Der Name der LDAP-Aktion
    • Servername/ServerIP — Bereitstellen von FQDN oder IP des LDAP-Servers
    • Wählen Sie geeignete Werte für Sicherheitstyp, Port, Servertyp, Timeout
    • Stellen Sie sicher, dass die Authentifizierung aktiviert ist
    • Basis-DN — Basis, von der aus die LDAP-Suche gestartet werden soll. Beispiel: dc=aaa, dc=local.
    • Administrator Bind DN: Benutzername der Bindung an 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.
    • Serveranmeldename Attribut: Wählen Sie sAMAccountName
    • Andere Felder sind nicht obligatorisch und können daher nach Bedarf konfiguriert werden.
  4. Navigieren Sie zu Konfiguration > Sicherheit > AAA-Anwendungsverkehr > Richtlinien > Authentifizierung > Erweiterte Richtlinien > Richtlinie.

  5. Klicken Sie auf dem Bildschirm Authentifizierungsrichtlinien auf Hinzufügen .

  6. 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.
    • Aktion — Wählen Sie die LDAP-Aktion aus.
    • Ausdruck — Standard-Syntaxausdruck, den die Richtlinie verwendet, um auf eine bestimmte Anfrage zu antworten. Zum Beispiel ist es wahr**.

So konfigurieren Sie die Citrix ADC Appliance mithilfe des OpenID Connect-Protokolls mit CLI als IdP

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>]
  • add authentication OAuthIdPPolicy <name> -rule <expression> [-action <string> [-undefAction <string>] [-comment <string>][-logAction <string>]

  • add authentication ldapAction aaa-ldap-act -serverIP 10.0.0.10 -ldapBase "dc=aaa,dc=local"

  • ldapBindDn <administrator@aaa.local> -ldapBindDnPassword <password> -ldapLoginName sAMAccountName

  • add authentication policy aaa-ldap-adv-pol -rule true -action aaa-ldap-act

  • bind authentication vserver auth_vs -policy <ldap_policy_name> -priority 100 -gotoPriorityExpression NEXT

  • bind authentication vserver auth_vs -policy <OAuthIDPPolicyName> -priority 5 -gotoPriorityExpression END

  • bind vpn global –certkey <>

Hinweis:

Sie können mehrere Schlüssel binden. Öffentliche Teile von Zertifikaten, die gebunden sind, werden als Antwort auf gesendet jwks\_uri query (https://gw/oauth/idp/certs).

OAuth-Authentifizierung