Citrix ADC

Citrix ADC en tant qu’IdP SAML

L’IdP SAML (Identity Provider) est une entité SAML déployée sur le réseau client. L’IdP reçoit des 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 avec Active Directory (serveur d’authentification externe, tel que LDAP), puis génère une assertion SAML 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 qu’IdP, toutes les demandes sont reçues par un serveur virtuel d’authentification associé au profil IdP SAML approprié.

Remarque

Une appliance Citrix ADC peut être utilisée comme IdP dans un déploiement où le SP SAML est configuré sur l’appliance ou sur n’importe quel SP SAML externe.

Lorsqu’il est utilisé en tant qu’IdP SAML, une appliance Citrix ADC :

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

  • Signature numérique des assertions.

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

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

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

  • Vous pouvez vous 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 qu’IdP SAML pour plusieurs SP SAML, un utilisateur peut accéder aux applications sur les 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 requête ultérieure utilise ce cookie pour l’authentification.

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

  • Prend en charge les liaisons de poste et de redirection. La prise en charge de la liaison d’artefact 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 Citrix ADC SAML IdP et le SP SAML homologue n’est pas synchronisée, les messages peuvent être invalidés par l’une ou l’autre partie. Pour éviter de tels cas, vous pouvez maintenant configurer la durée pendant laquelle les assertions sont valides.

    Cette durée, appelée « temps d’inclinaison », spécifie le nombre de minutes pour lesquelles le message doit être accepté. Le temps d’inclinaison peut être configuré sur le SP SAML et l’IdP SAML.

  • Peut être configuré pour servir des assertions uniquement aux SP SAML préconfigurés sur ou approuvés par l’IdP. Pour cette configuration, l’IdP SAML doit avoir l’ID du 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 qu’IdP 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 - Identifiant. ID unique spécifié sur le SP et l’IdP pour aider à identifier le fournisseur de services entre eux.

    ID du fournisseur de services - ID unique qui sera spécifié à la fois sur le SP et l’IdP pour aider à identifier le fournisseur de services entre eux. Il peut s’agir de n’importe quoi et ne doit pas nécessairement correspondre à l’URL spécifiée ci-dessous, mais doit être la même sur les profils SP et 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, ce qui doit être le même pour les profils IdP et SP.

    Méthode Digest - Algorithme utilisé pour vérifier l’intégrité des assertions entre l’IdP et le SP, ce qui doit être le même pour les profils IdP et SP.

    Liaison SAML : identique à celle décrite dans le profil SP, elle doit être la même sur le SP et sur l’IdP.

  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.