Citrix ADC

Citrix ADC en tant que fournisseur d’identité SAML

L’IdP SAML (Identity Provider) est une entité SAML déployée sur le réseau client. L’IdP reçoit les demandes du SP SAML et redirige les utilisateurs vers une page d’ouverture de session, où ils doivent entrer leurs informations d’identification. L’IdP authentifie ces informations d’identification auprès d’Active Directory (serveur d’authentification externe, tel que LDAP), puis génère une assertion SAML qui est envoyée au SP.

Le SP valide le jeton, et l’utilisateur est ensuite autorisé à accéder à l’application protégée demandée.

Lorsque l’appliance Citrix ADC est configurée en tant que fournisseur d’identité, toutes les demandes sont reçues par un serveur virtuel d’authentification associé au profil de fournisseur d’identité SAML pertinent.

Remarque

Une appliance Citrix ADC peut être utilisée en tant que fournisseur d’identité dans un déploiement où le SP SAML est configuré soit sur l’appliance, soit sur n’importe quel SP SAML externe.

Lorsqu’il est utilisé en tant que fournisseur d’identité SAML, une appliance Citrix ADC :

  • Prend en charge toutes les méthodes d’authentification prises en charge pour les ouvertures de session traditionnelles.

  • Signe numériquement les assertions.

  • Prend en charge l’authentification à un ou deux facteurs. SAML ne doit pas être configuré en tant que mécanisme d’authentification secondaire.

  • Peut chiffrer les assertions à l’aide de la clé publique du SP SAML. Cela est recommandé lorsque l’assertion inclut des informations sensibles.

  • Peut être configuré pour accepter uniquement les demandes signées numériquement provenant du SP SAML.

  • Peut se connecter à l’IdP SAML à l’aide des mécanismes d’authentification basés sur 401 suivants : Negotiate, NTLM et Certificate.

  • Peut être configuré pour envoyer 16 attributs en plus de l’attribut NameID. Les attributs doivent être extraits du serveur d’authentification approprié. Pour chacun d’eux, vous pouvez spécifier le nom, l’expression, le format et un nom convivial dans le profil IdP SAML.

  • Si l’appliance Citrix ADC est configurée en tant que fournisseur d’identité SAML pour plusieurs SP SAML, un utilisateur peut accéder aux applications des différents SP sans s’authentifier explicitement à chaque fois. L’appliance Citrix ADC crée un cookie de session pour la première authentification, et chaque demande ultérieure utilise ce cookie pour l’authentification.

  • Peut envoyer des attributs à plusieurs valeurs dans une assertion SAML.

  • Prend en charge les liaisons de publication et de redirection. La prise en charge de la liaison d’artefacts est introduite dans Citrix ADC version 13.0 Build 36.27.

  • Peut spécifier la validité d’une assertion SAML.

    Si l’heure système sur le fournisseur d’identité SAML Citrix ADC et le SP SAML homologue n’est pas synchronisée, les messages peuvent être invalidés par l’une ou l’autre des parties. Pour éviter de tels cas, vous pouvez désormais configurer la durée pendant laquelle les assertions sont valides.

    Cette durée, appelée « temps d’inclinaison », indique le nombre de minutes pendant lesquelles le message doit être accepté. Le temps d’inclinaison peut être configuré sur le SP SAML et le fournisseur d’identité SAML.

  • Peut être configuré pour diffuser des assertions uniquement aux SP SAML préconfigurés sur l’IdP ou approuvés par celui-ci. Pour cette configuration, l’IdP SAML doit avoir l’ID de fournisseur de services (ou le nom de l’émetteur) des SP SAML concernés.

    Remarque

    Avant de continuer, assurez-vous que vous disposez d’un serveur virtuel d’authentification lié à un serveur d’authentification LDAP.

Pour configurer une appliance Citrix ADC en tant que fournisseur d’identité SAML à l’aide de l’interface de ligne de commande

  1. Configurez un profil IdP SAML.

    Exemple

    Ajout d’une appliance Citrix ADC en tant qu’IdP avec SiteMinder en tant que 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$#)

    Points à noter

    • Dans le profil IdP SAML, configurez AcSurlRule qui prend une expression de la liste des URL de fournisseurs de services applicables à cet IdP. Cette expression dépend du SP utilisé. Si Citrix ADC est configuré en tant que SP, l’URL ACS le sera https://<SP-domain_name>/cgi/samlauth. Citrix recommande d’avoir une URL complète dans l’expression pour correspondre.

    • SAML prend uniquement en charge le certificat RSA. Les autres certificats tels que HSM, FIPS, etc. ne sont pas pris en charge.

    • Vous devez spécifier le début du domaine avec le signe « ^ » (exemple : ^https) ainsi que le signe dollar « $ » à la fin de la chaîne (exemple : samlauth$).

    Pour plus de détails sur la commande, reportez-vous https://developer-docs.citrix.com/projects/citrix-adc-command-reference/en/latest/authentication/authentication-samlAction aux sections et https://support.citrix.com/article/CTX316577.

  2. Configurez la stratégie d’authentification SAML et associez le profil IdP SAML comme action de la stratégie.

    add authentication samlIdPPolicy samlIDPPol1 -rule true -action samlIDPProf1

  3. Liez la stratégie au serveur virtuel d’authentification.

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

    Pour plus de détails sur la commande, reportez-vous à la section https://developer-docs.citrix.com/projects/citrix-adc-command-reference/en/latest/authentication/authentication-samlIdPProfile.

Pour configurer une appliance Citrix ADC en tant qu’IdP SAML à l’aide de l’interface graphique

  1. Accédez à Sécurité>Stratégies AAA->Authentification>Stratégies avancées>IdP SAML.

  2. Sélectionnez l’onglet Serveurs, cliquez sur Ajouter, entrez des valeurs pour les paramètres suivants, puis cliquez sur Créer.

    Description du paramètre :

    URL Assertion Consumer Service - URL vers laquelle l’utilisateur authentifié sera redirigé.

    Nom du certificat IdP : paire de clés de certificat utilisée pour la page d’authentification.

    Nom du certificat SP - Certificat du fournisseur de services dans ce scénario, la clé n’est pas requise pour cela.

    Signer l’assertion : option permettant de signer l’assertion et la réponse lors de la redirection du client vers le fournisseur de services.

    Nom de l’émetteur : valeur de chaîne incluse dans l’assertion SAML émise par l’IdP.

    ID du fournisseur de services : identifiant unique spécifié sur le SP pour aider à identifier le fournisseur de services. L’ID peut être n’importe quoi et n’a pas besoin d’être l’URL spécifiée ci-dessous, mais doit être identique sur le profil SP et les profils IdP.

    Rejeter les demandes non signées - Option que vous pouvez spécifier pour garantir que seules les assertions signées avec le certificat SP sont acceptées.

    Algorithme de signature - Algorithme utilisé pour signer et vérifier les assertions entre l’IdP et le SP. Il doit être identique sur le profil IdP et le profil SP.

    Méthode Digest - Algorithme utilisé pour vérifier l’intégrité des assertions entre l’IdP et le SP, il doit être identique sur le profil IdP et le profil SP.

    Liaison SAML : identique à celle décrite dans le profil de fournisseur de services, elle doit être identique sur le SP et le fournisseur d’identité.

  3. Associez la stratégie IdP SAML à un serveur virtuel d’authentification.

    Accédez à Sécurité > AAA - Trafic d’applications > Serveurs virtuelset associez la stratégie IdP SAML au serveur virtuel d’authentification.