Citrix ADC

Citrix ADC als SAML-SP

Der SAML-Dienstanbieter (SP) ist eine SAML-Entität, die vom Dienstanbieter bereitgestellt wird. Wenn ein Benutzer versucht, auf eine geschützte Anwendung zuzugreifen, wertet der SP die Clientanforderung aus. Wenn der Client nicht authentifiziert ist (hat kein gültiges NSC_TMAA oder NSC_TMAS Cookie), leitet der SP die Anforderung an den SAML Identity Provider (IdP) um.

Der SP validiert auch SAML-Assertions, die vom IdP empfangen werden.

Wenn die Citrix ADC Appliance als SP konfiguriert ist, werden alle Benutzeranforderungen von einem virtuellen Server zur Datenverkehrsverwaltung (Lastausgleich oder Content Switching) empfangen, der der entsprechenden SAML-Aktion zugeordnet ist.

Die Citrix ADC Appliance unterstützt auch POST- und Umleitungs-Bindungen während der Abmeldung.

Hinweis:

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

Bei Verwendung als SAML-SP gilt eine Citrix ADC Appliance:

  • Kann die Benutzerinformationen (Attribute) aus dem SAML-Token extrahieren. Diese Informationen können dann in den Richtlinien verwendet werden, die auf der Citrix ADC Appliance konfiguriert sind. Wenn Sie beispielsweise die Attribute GroupMember und Emailaddress extrahieren möchten, geben Sie im SAMLAction den Parameter Attribute2 als GroupMember und den Parameter Attribute3 als emailaddress an.

    Hinweis:

    Standardattribute wie Benutzername, Kennwort und Abmelde-URL dürfen nicht in den Attributen 1—16 extrahiert werden, da sie implizit analysiert und in der Sitzung gespeichert werden.

  • Kann Attributnamen von bis zu 127 Byte aus einer eingehenden SAML-Assertion extrahieren. Die vorherige Grenze betrug 63 Bytes.

  • Unterstützt Post-, Umleitungs- und Artefakt-Bindungen.

    Hinweis:

    Umleitungsbindung sollte nicht für große Datenmengen verwendet werden, wenn die Assertion nach dem Aufblasen oder Decodieren größer als 10K ist.

  • Kann Behauptungen entschlüsseln.

  • Kann mehrwertige Attribute aus einer SAML-Assertion extrahieren. Diese Attribute werden gesendet verschachtelte XML-Tags wie:

    <AttributeValue> <AttributeValue>Wert1 </AttributeValue> <AttributeValue> Wert2 </AttributeValue> </AttributeValue>

    Hinweis:

    Ab Citrix ADC 13.0 Build 63.x und höher wurde die individuelle maximale Länge für SAML-Attribute erhöht, um ein Maximum von 40.000 Byte zu ermöglichen. Die Größe aller Attribute darf 40.000 Bytes nicht überschreiten.

    Wenn die Citrix ADC-Appliance mit vorherigem XML dargestellt wird, kann die Citrix ADC-Appliance sowohl Value1 als auch Value2 als Werte eines bestimmten Attributs extrahieren, im Gegensatz zu der alten Firmware, die nur Value1 extrahiert.

  • 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 als “Verzerrungszeit” bezeichnet wird, gibt die Anzahl der Minuten an, für die die Nachricht akzeptiert werden soll. Die Verzerrungszeit kann auf dem SAML-SP und dem SAML-IdP konfiguriert werden.

  • Kann ein zusätzliches Attribut namens ‘ForceAuth’ in der Authentifizierungsanforderung an externen IdP (Identity Provider) senden. Standardmäßig ist ForceAuthn auf Falsch gesetzt. Es kann auf ‘True’ gesetzt werden, um IdP vorzuschlagen, um die Authentifizierung trotz vorhandener Authentifizierungskontext zu erzwingen. Außerdem führt Citrix ADC SP Authentifizierungsanforderung im Abfrageparameter durch, wenn mit Artefaktbindung konfiguriert wird.

So konfigurieren Sie die Citrix ADC Appliance mit der Befehlszeilenschnittstelle als SAML-SP

  1. Konfigurieren Sie eine SAML-SP-Aktion.

    Beispiel

    Mit dem folgenden Befehl wird eine SAML-Aktion hinzugefügt, die nicht authentifizierte Benutzeranforderungen umleitet.

    add authentication samlAction SamlSPAct1 -samlIdPCertName nssp -samlSigningCertName nssp –samlRedirectUrl https://auth1.example.com -relaystateRule "AAA.LOGIN.RELAYSTATE.EQ(\"https://lb.example1.com/\")"

    Punkte zu beachten

    • Das -samlIdPCertName im SamlAction-Befehl angegebene Zertifikat muss mit dem entsprechenden Zertifikat von IdP übereinstimmen, damit die Signaturüberprüfung erfolgreich ist.
    • SAML unterstützt nur das RSA-Zertifikat. Andere Zertifikate wie HSM, FIPS usw. werden nicht unterstützt.
    • Citrix empfiehlt, einen vollständigen Domänennamen mit dem nachfolgenden ‘/’ im Ausdruck zu haben.
    • Administratoren müssen einen Ausdruck für RelaysStateRule im Befehl samlAction konfigurieren. Der Ausdruck muss die Liste der veröffentlichten Domänen enthalten, mit denen der Benutzer eine Verbindung herstellt, bevor er zum virtuellen Authentifizierungsserver umgeleitet wird. Der Ausdruck muss beispielsweise die Domänen des virtuellen Front-End-Servers (VPN, LB oder CS) enthalten, die diese SAML-Aktion zur Authentifizierung verwenden.

    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-Richtlinie.

    Beispiel

    Der folgende Befehl definiert eine SAML-Richtlinie, die die zuvor definierte SAML-Aktion auf den gesamten Datenverkehr anwendet.

    add authentication policy SamlSPPol1 -rule true -action SamlSPAct1

  3. Binden Sie die SAML-Richtlinie an den virtuellen Authentifizierungsserver.

    Beispiel

    Der folgende Befehl bindet die SAML-Richtlinie an einen virtuellen Authentifizierungsserver mit dem Namen av_saml.

    bind authentication vserver av_saml -policy SamlSPPol1

  4. Binden Sie den virtuellen Authentifizierungsserver an den entsprechenden virtuellen Server für die Datenverkehrsverwaltung.

    Beispiel

    Der folgende Befehl fügt einen virtuellen Lastausgleichsserver mit dem Namen lb1_ssl hinzu und ordnet den virtuellen Authentifizierungsserver mit dem Namen av_saml dem virtuellen Lastausgleichsserver zu. add lb vserver lb1_ssl SSL 10.217.28.224 443 -persistenceType NONE -cltTimeout 180 -AuthenticationHost auth1.example.com -Authentication ON -authnVsName av_saml

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

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

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

  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:

    Name - Name des Servers

    URL umleiten - URL, gegen die sich Benutzer authentifizieren werden. Einige IdPs haben spezielle URLs, die nur unter SAML-Setup erreichbar sind.

    Single Logout-URL - Eine URL wurde angegeben, damit der Citrix ADC erkennen kann, wann der Client zurück an den IdP gesendet werden muss, um den Abmeldevorgang abzuschließen. Wir werden es in dieser einfachen Bereitstellung nicht verwenden.

    SAML Binding - Methode, die verwendet wird, um den Client vom SP auf den IdP zu verschieben. Dies muss auf dem IdP gleich sein, damit er versteht, wie sich der Client mit ihm verbinden wird. Wenn der Citrix ADC als SP fungiert, unterstützt er POST-Bindungen, REDIRECT und ARTIFACT.

    Logout Bindung - REDIRECT

    Name des IDP-Zertifikats - IDPcert-Zertifikat (Base64) unter SAML-Signaturzertifikat vorhanden.

    Benutzerfeld - Abschnitt des SAML-Authentifizierungsformulars des IdP, der den Benutzernamen enthält, den SP bei Bedarf extrahieren soll.

    Signieren des Zertifikatsnamens - Wählen Sie das SAML SP-Zertifikat (mit privatem Schlüssel) aus, das Citrix ADC verwendet, um Authentifizierungsanforderungen an den IdP zu signieren. Das gleiche Zertifikat (ohne privaten Schlüssel) muss in den IdP importiert werden, damit der IdP die Signatur der Authentifizierungsanforderung überprüfen kann. Dieses Feld wird von den meisten IDPs nicht benötigt.

    Name des Ausstellers - Identifikator. Eindeutige ID, die sowohl auf dem SP als auch im IdP angegeben ist, um den Dienstanbieter untereinander zu identifizieren.

    Unsignierte Assertion ablehnen - Option, die Sie angeben können, wenn die Assertions vom IdP signiert werden müssen. Sie können sicherstellen, dass nur die Behauptung unterschrieben werden muss (ON) oder sowohl die Behauptung als auch die Antwort des IdP unterschrieben werden müssen (STRICT).

    Zielgruppe - Zielgruppe, für die vom IdP gesendete Assertion anwendbar ist. Dies ist normalerweise der Entitätsname oder die URL, die ServiceProvider repräsentiert.

    Signaturalgorithmus - RSA-SHA256

    Digest-Methode - SHA256

    Standard-Authentifizierungsgruppe - Die Standardgruppe, die ausgewählt wird, wenn die Authentifizierung zusätzlich zu extrahierten Gruppen erfolgreich ist.

    Gruppennamenfeld - Name des Tags in Assertion, das Benutzergruppen enthält.

    Skew Time (min) - Diese Option gibt die zulässige Taktverzerrung in der Anzahl von Minuten an, die Citrix ADC ServiceProvider für eine eingehende Assertion zulässt.

  3. Erstellen Sie in ähnlicher Weise eine entsprechende SAML-Richtlinie und binden Sie sie an den virtuellen Authentifizierungsserver.

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

  4. Ordnen Sie den Authentifizierungsserver dem entsprechenden virtuellen Server zur Datenverkehrsverwaltung zu.

    Navigieren Sie zu Traffic Management > Load Balancing (oder Content Switching ) > Virtuelle Server, wählen Sie den virtuellen Server aus, und ordnen Sie ihm den virtuellen Authentifizierungsserver zu.

Citrix ADC als SAML-SP