Citrix ADC

Citrix ADC als SAML-IdP

Der SAML-IdP (Identity Provider) ist eine SAML-Entität, die im Kundennetzwerk bereitgestellt wird. Der IdP empfängt Anforderungen vom SAML-SP und leitet Benutzer auf eine Anmeldeseite um, auf der sie ihre Anmeldeinformationen eingeben müssen. Der IdP authentifiziert diese Anmeldeinformationen beim 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 Anforderungen von einem virtuellen Authentifizierungsserver empfangen, der dem relevanten SAML-IdP-Profil zugeordnet 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 gilt eine Citrix ADC-Appliance:

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

  • Signiert Behauptungen digital.

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

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

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

  • Kann sich mit den folgenden 401-basierten Authentifizierungsmechanismen beim 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 weitere Anforderung verwendet dieses Cookie zur Authentifizierung.

  • Kann mehrwertige Attribute in einer SAML-Assertion senden.

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

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

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

    Diese Dauer, die sogenannte Schrägzeit, gibt die Anzahl der Minuten an, für die die Nachricht akzeptiert werden muss. Die Verzerrungszeit kann auf dem SAML-SP und dem SAML-IdP konfiguriert werden.

  • Kann so konfiguriert werden, dass Assertions nur für SAML-SPs bereitgestellt werden, die auf dem IdP vorkonfiguriert oder vom IdP vertrauenswürdig sind. Für diese Konfiguration muss der SAML-IdP die Dienstanbieter-ID (oder Name des Ausstellers) der relevanten 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.

So konfigurieren Sie eine Citrix ADC Appliance als SAML-IdP mit 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$#)

    Punkte zu beachten

    • 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 - Identifikator. Eindeutige ID, die sowohl auf dem SP als auch im IdP angegeben ist, um den Dienstanbieter untereinander zu identifizieren.

    Dienstanbieter-ID - Eindeutige ID, die sowohl auf dem SP als auch im IdP angegeben wird, um den Dienstanbieter untereinander zu identifizieren. Dies kann alles sein und muss nicht die unten angegebene URL sein, sondern muss sowohl im SP- als auch im IdP-Profil 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 zum Signieren und Überprüfen der Behauptungen zwischen IdP und SP. Dies muss sowohl im IdP- als auch im SP-Profil identisch sein.

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

    SAML-Binding - Wie im SP-Profil beschrieben, muss es sowohl für SP als auch im 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.

Citrix ADC als SAML-IdP