Citrix ADC

Citrix ADC als SAML-IdP

Der SAML-IdP (Identity Provider) ist eine SAML-Entität, die im Kundennetzwerk bereitgestellt wird. Der IdP erhält Anfragen vom SAML-SP und leitet Benutzer zu einer Anmeldeseite weiter, auf der sie ihre Anmeldeinformationen eingeben müssen. Der IdP authentifiziert diese Anmeldeinformationen mit dem Active Directory (externer Authentifizierungsserver wie LDAP) und generiert dann eine SAML-Assertion, die an den SP gesendet wird.

Der SP überprüft das Token, und dem Benutzer wird dann Zugriff auf die angeforderte geschützte Anwendung gewährt.

Wenn die Citrix ADC Appliance als IdP konfiguriert ist, werden alle Anfragen von einem virtuellen Authentifizierungsserver empfangen, der mit dem entsprechenden SAML-IdP-Profil verknüpft ist.

Hinweis

Eine Citrix ADC Appliance kann als IdP in einer Bereitstellung verwendet werden, in der der SAML-SP entweder auf der Appliance oder auf einem externen SAML-SP konfiguriert ist.

Bei Verwendung als SAML-IdP eine Citrix ADC Appliance:

  • Unterstützt alle Authentifizierungsmethoden, die es für herkömmliche Anmeldungen unterstützt.

  • Signiert digital Behauptungen.

  • Unterstützt Einzelfaktor- und Zwei-Faktor-Authentifizierung. SAML darf nicht als sekundärer Authentifizierungsmechanismus konfiguriert werden.

  • Kann Assertionen mithilfe des öffentlichen Schlüssels des SAML-SP verschlüsseln. Dies wird empfohlen, wenn die Assertion sensible Informationen enthält.

  • Kann so konfiguriert werden, dass nur digital signierte Anfragen vom SAML-SP akzeptiert werden.

  • Kann sich mit den folgenden 401-basierten Authentifizierungsmechanismen am SAML-IdP anmelden: Negotiate, NTLM und Certificate.

  • Kann so konfiguriert werden, dass zusätzlich zum NameID-Attribut 16 Attribute gesendet werden. Die Attribute müssen vom entsprechenden Authentifizierungsserver extrahiert werden. Für jeden von ihnen können Sie den Namen, den Ausdruck, das Format und einen Anzeigenamen im SAML-IdP-Profil angeben.

  • Wenn die Citrix ADC Appliance als SAML-IdP für mehrere SAML-SP konfiguriert ist, kann ein Benutzer Zugriff auf Anwendungen auf den verschiedenen SPs erhalten, ohne sich jedes Mal explizit zu authentifizieren. Die Citrix ADC Appliance erstellt ein Sitzungscookie für die erste Authentifizierung, und jede nachfolgende Anforderung verwendet dieses Cookie zur Authentifizierung.

  • Kann mehrwertige Attribute in einer SAML-Assertion senden.

  • Unterstützt Post- und Umleitungsbindungen. Die Unterstützung für Artefaktbindung wird in Citrix ADC Release 13.0 Build 36.27 eingeführt.

  • Kann die Gültigkeit einer SAML-Assertion angeben.

    Wenn die Systemzeit auf Citrix ADC SAML IdP und Peer-SAML-SP nicht synchron ist, werden die Nachrichten möglicherweise von beiden Parteien ungültig gemacht. Um solche Fälle zu vermeiden, können Sie jetzt die Zeitdauer festlegen, für die die Assertionen gültig sind.

    Diese Dauer, die als “Skew-Zeit” bezeichnet wird, gibt die Anzahl der Minuten an, für die die Nachricht akzeptiert werden muss. Die Schiefzeit kann auf dem SAML-SP und dem SAML-IdP konfiguriert werden.

  • Kann so konfiguriert werden, dass Assertionen nur für SAML-SPs verwendet werden, die auf dem IdP vorkonfiguriert sind oder denen er vertraut. Für diese Konfiguration muss der SAML-IdP die Dienstanbieter-ID (oder den Namen des Ausstellers) der entsprechenden SAML-SPs haben.

    Hinweis

    Bevor Sie fortfahren, stellen Sie sicher, dass Sie über einen virtuellen Authentifizierungsserver verfügen, der mit einem LDAP-Authentifizierungsserver verknüpft ist.

Konfigurieren einer Citrix ADC Appliance als SAML-IdP mithilfe der Befehlszeilenschnittstelle

  1. Konfigurieren Sie ein SAML-IdP-Profil.

    Beispiel

    Hinzufügen von Citrix ADC Appliance als IdP mit SiteMinder als SP.

    add authentication samlIdPProfile samlIDPProf1 -samlSPCertName siteminder-cert -encryptAssertion ON -samlIdPCertName ns-cert -assertionConsumerServiceURL http://sm-proxy.nsi-test.com:8080/affwebservices/public/saml2assertionconsumer -rejectUnsignedRequests ON -signatureAlg RSA-SHA256 -digestMethod SHA256 –acsUrlRule AAA.LOGIN.SAML_REQ_ACS_URL.REGEX_MATCH(re#^https://example2\.com/cgi/samlauth$#)

    Zu beachtendes Punkte

    • Konfigurieren Sie im SAML-IdP-Profil AcsURLRule, die einen Ausdruck der Liste der anwendbaren Dienstanbieter-URLs für diesen IdP verwendet. Dieser Ausdruck hängt vom verwendeten SP ab. Wenn Citrix ADC als SP konfiguriert ist, wird die ACS-URL angezeigt https://<SP-domain_name>/cgi/samlauth. Citrix empfiehlt, eine vollständige URL im Ausdruck zum Abgleichen zu haben.

    • SAML unterstützt nur das RSA-Zertifikat. Andere Zertifikate wie HSM, FIPS usw. werden nicht unterstützt.

    • Sie müssen den Start der Domain mit dem Zeichen “^” (Beispiel: ^https) zusammen mit dem Dollarzeichen “$” am Ende der Zeichenfolge angeben (Beispiel: samlauth$).

    Weitere Informationen zum Befehl finden Sie unter https://developer-docs.citrix.com/projects/citrix-adc-command-reference/en/latest/authentication/authentication-samlAction und https://support.citrix.com/article/CTX316577.

  2. Konfigurieren Sie die SAML-Authentifizierungsrichtlinie, und ordnen Sie das SAML-IdP-Profil als Aktion der Richtlinie zu.

    add authentication samlIdPPolicy samlIDPPol1 -rule true -action samlIDPProf1

  3. Binden Sie die Richtlinie an den virtuellen Authentifizierungsserver.

    bind authentication vserver saml-auth-vserver -policy samlIDPPol1 -priority 100

    Weitere Informationen zum Befehl finden Sie unter https://developer-docs.citrix.com/projects/citrix-adc-command-reference/en/latest/authentication/authentication-samlIdPProfile.

So konfigurieren Sie eine Citrix ADC Appliance als SAML-IdP mit der GUI

  1. Navigieren Sie zu Sicherheit>AAA-Richtlinien>Authentifizierung> Erweiterte Richtlinien>SAML IdP.

  2. Wählen Sie die Registerkarte Server aus, klicken Sie auf Hinzufügen, geben Sie Werte für die folgenden Parameter ein und klicken Sie auf Erstellen.

    Parameter-Beschreibung:

    Assertion Consumer Service URL - URL, an die der authentifizierte Benutzer weitergeleitet wird.

    IdP-Zertifikatname - Zertifikatschlüsselpaar, das für die Authentifizierungsseite verwendet wird.

    Name des SP-Zertifikats - Zertifikat des Dienstanbieters In diesem Szenario ist der Schlüssel dafür nicht erforderlich.

    Assertion signieren - Die Option, die Behauptung und die Antwort zu signieren, wenn der Client zurück zum Dienstanbieter weitergeleitet wird.

    Name des Ausstellers — Ein Zeichenfolgenwert, der in der vom IdP ausgegebenen SAML-Assertion enthalten ist.

    Service Provider-ID — Eindeutige ID, die auf SP angegeben ist, um den Dienstanbieter zu identifizieren. Die ID kann beliebig sein und muss nicht die unten angegebene URL sein, muss aber im SP-Profil und in den IdP-Profilen identisch sein.

    Unsignierte Anfragen ablehnen - Option, die Sie angeben können, um sicherzustellen, dass nur mit dem SP-Zertifikat signierte Behauptungen akzeptiert werden.

    Signaturalgorithmus - Algorithmus, der zum Signieren und Verifizieren der Behauptungen zwischen IdP und SP verwendet wird. Dies muss im IdP-Profil und im SP-Profil identisch sein.

    Digest Method - Algorithmus, der verwendet wird, um die Integrität der Assertions zwischen IdP und SP zu überprüfen. Dies muss im IdP-Profil und im SP-Profil identisch sein.

    SAML-Bindung - Wie im SP-Profil beschrieben, muss es auf SP und IdP identisch sein.

  3. Ordnen Sie die SAML-IdP-Richtlinie einem virtuellen Authentifizierungsserver zu.

    Navigieren Sie zu Sicherheit > AAA - Anwendungsverkehr > Virtuelle Server, und ordnen Sie die SAML-IdP-Richtlinie dem virtuellen Authentifizierungsserver zu.