ADC

Protocole Web Services Federation

Web Services Federation (WS-Federation) est un protocole d’identité qui permet à un service de jeton de sécurité (STS) d’un domaine de confiance de fournir des informations d’authentification à un STS d’un autre domaine d’approbation lorsqu’il existe une relation d’approbation entre les deux domaines.

Avantages de WS-Federation

WS-Federation prend en charge les clients actifs et passifs tandis que le fournisseur d’identité SAML ne prend en charge que les clients passifs.

  • Les clients actifs sont des clients natifs Microsoft tels que Outlook et des clients Office (Word, PowerPoint, Excel et OneNote).
  • Les clients passifs sont des clients basés sur un navigateur tels que Google Chrome, Mozilla Firefox et Internet Explorer.

Prérequis pour utiliser Citrix ADC en tant que WS-Federation

Avant de configurer l’appliance Citrix ADC en tant que proxy ADFS, passez en revue les points suivants :

  • Active Directory.
  • Certificat SSL de domaine.
  • Le certificat SSL Citrix ADC et le certificat de signature de jeton ADFS sur le serveur ADFS doivent être identiques.

Important

IDP SAML est désormais capable de gérer le protocole WS-Federation. Par conséquent, pour configurer l’IdP WS-Federation, vous devez configurer le fournisseur d’identité SAML. Aucune interface utilisateur ne mentionne explicitement WS-Federation.

Fonctionnalités prises en charge par Citrix ADC lorsqu’il est configuré en tant que proxy ADFS et IdP WS-Federation

Le tableau suivant répertorie les fonctionnalités prises en charge par l’appliance Citrix ADC lorsqu’elle est configurée en tant que proxy ADFS et fournisseur d’identité WS-Federation.

Fonctionnalités Configurer l’appliance Citrix ADC en tant que proxy ADFS Citrix ADC en tant que fournisseur d’identité WS-Federation Citrix ADC en tant que ADFSPIP
Équilibrage de charge Oui Oui Oui
Résiliation SSL Oui Oui Oui
Limitation de débit Oui Oui Oui
Consolidation (réduit l’empreinte du serveur DMZ et sauvegarde l’adresse IP publique) Oui Oui Oui
Pare-feu applicatif Web (WAF) Oui Oui Oui
Déchargement de l’authentification vers l’appliance Citrix ADC Oui Oui (clients actifs et passifs) Oui
Authentification unique (SSO) Oui Oui (clients actifs et passifs) Oui
Authentification multifacteur (nFactor) Non Oui (clients actifs et passifs) Oui
Authentification multifacteur Azure Non Oui (clients actifs et passifs) Oui
La batterie de serveurs ADFS peut être évitée Non Oui Oui

Configurer l’appliance Citrix ADC en tant que fournisseur d’identité WS-Federation

Configurez Citrix ADC en tant que fournisseur d’identité WS-Federation (IdP SAML) dans une zone DMZ. Le serveur ADFS est configuré avec le contrôleur de domaine AD dans le back-end.

WS-Federation IdP

  1. La demande du client adressée à Microsoft Office365 est redirigée vers l’appliance Citrix ADC.
  2. L’utilisateur saisit les informations d’identification pour l’authentification multifacteur.
  3. Citrix ADC valide les informations d’identification auprès d’AD et génère un jeton nativement sur l’appliance Citrix ADC. Les informations d’identification sont transmises à Office365 pour y accéder.

Remarque

La prise en charge de l’IdP WS-Federation est effectuée en mode natif via l’appliance Citrix ADC par rapport à l’équilibreur de charge F5 Networks.

Configurer l’appliance Citrix ADC en tant que fournisseur d’identité WS-Federation (IdP SAML) à l’aide de l’interface de ligne

Les sections suivantes sont classées en fonction de la nécessité d’effectuer les étapes de configuration.

Pour configurer l’authentification LDAP et ajouter une stratégie

Important

Pour les utilisateurs de domaine, pour se connecter à l’appliance Citrix ADC à l’aide de leurs adresses e-mail d’entreprise, vous devez configurer les éléments suivants :

  • Configurez le serveur et la stratégie d’authentification LDAP sur l’appliance Citrix ADC.
  • Liez-la à votre adresse IP virtuelle d’authentification, d’autorisation et d’audit (l’utilisation d’une configuration LDAP existante est également prise en charge).
add authentication ldapAction <Domain_LDAP_Action> -serverIP <Active Directory IP> -serverPort 636 -ldapBase "cn=Users,dc=domain,dc=com" -ldapBindDn "cn=administrator,cn=Users,dc=domain,dc=com" -ldapBindDnPassword <administrator password> -encrypted -encryptmethod ENCMTHD_3 -ldapLoginName sAMAccountName -groupAttrName memberOf -subAttributeName cn -secType SSL -ssoNameAttribute UserPrincipalName -followReferrals ON -Attribute1 mail -Attribute2 objectGUID

add authentication Policy <Domain_LDAP_Policy> -rule true -action <Domain_LDAP_Action>
<!--NeedCopy-->

Exemple

add authentication ldapAction CTXTEST_LDAP_Action -serverIP 3.3.3.3 -serverPort 636 -ldapBase "cn=Users,dc=ctxtest,dc=com" -ldapBindDn "cn=administrator,cn=Users,dc=ctxtest,dc=com" -ldapBindDnPassword xxxxxxxxxxx -encrypted -encryptmethod ENCMTHD_3 -ldapLoginName sAMAccountName -groupAttrName memberOf -subAttributeName cn -secType SSL -ssoNameAttribute UserPrincipalName -followReferrals ON -Attribute1 mail -Attribute2 objectGUID

add authentication Policy CTXTEST_LDAP_Policy -rule true -action CTXTEST_LDAP_Action
<!--NeedCopy-->

Pour configurer Citrix ADC en tant que fournisseur d’identité WS-Federation ou IdP SAML

Créez une action et une stratégie WS-Federation IdP (SAML IdP) pour la génération de jetons. Liez-le au serveur virtuel d’authentification, d’autorisation et d’audit ultérieurement.

add authentication samlIdPProfile <Domain_SAMLIDP_Profile> -samlIdPCertName <SSL_CERT> -assertionConsumerServiceURL "https://login.microsoftonline.com/login.srf" -samlIssuerName <Issuer Name for Office 365 in ADFS Server> -rejectUnsignedRequests OFF -audience urn:federation:MicrosoftOnline -NameIDFormat persistent -NameIDExpr "HTTP.REQ.USER.ATTRIBUTE(2).B64ENCODE" -Attribute1 IDPEmail -Attribute1Expr "HTTP.REQ.USER.ATTRIBUTE(1)"

add authentication samlIdPPolicy <Domain_SAMLIDP_Policy> -rule "HTTP.REQ.HEADER("referer").CONTAINS("microsoft") || true" -action <Domain_SAMLIDP_Profile>
<!--NeedCopy-->

Exemple

add authentication samlIdPProfile CTXTEST_SAMLIDP_Profile -samlIdPCertName ctxtest_newcert_2019 -assertionConsumerServiceURL "https://login.microsoftonline.com/login.srf" -samlIssuerName "http://ctxtest.com/adfs/services/trust/" -rejectUnsignedRequests OFF -audience urn:federation:MicrosoftOnline -NameIDFormat persistent -NameIDExpr "HTTP.REQ.USER.ATTRIBUTE(2).B64ENCODE" -Attribute1 IDPEmail -Attribute1Expr "HTTP.REQ.USER.ATTRIBUTE(1)"

add authentication samlIdPPolicy CTXTEST_SAMLIDP_Policy -rule "HTTP.REQ.HEADER("referer").CONTAINS("microsoft") || true" -action CTXTEST_SAMLIDP_Profile
<!--NeedCopy-->

Pour configurer un serveur virtuel d’authentification, d’autorisation et d’audit afin d’authentifier les employés qui se connectent à Office365 à l’aide des informations d’identification de l’entreprise

add authentication vserver <Domain_AAA_VS> SSL <IP_address>`
<!--NeedCopy-->

Exemple

add authentication vserver CTXTEST_AAA_VS SSL 192.168.1.0

bind authentication vserver CTXTEST_AAA_VS -portaltheme RfWebUI
<!--NeedCopy-->

Pour lier le serveur virtuel d’authentification et la stratégie

bind authentication vserver <Domain_AAA_VS> -policy <Domain_SAMLIDP_Policy> -priority 100 -gotoPriorityExpression NEXT

bind authentication vserver <Domain_AAA_VS> -policy <Domain_LDAP_Policy> -priority 100 -gotoPriorityExpression NEXT
<!--NeedCopy-->

Exemple

bind authentication vserver CTXTEST_AAA_VS -policy CTXTEST_SAMLIDP_Policy -priority 100 -gotoPriorityExpression NEXT

bind authentication vserver CTXTEST_AAA_VS -policy CTXTEST_LDAP_Policy -priority 100 -gotoPriorityExpression NEXT

bind ssl vserver CTXTEST_AAA_VS -certkeyName ctxtest_newcert_2019
<!--NeedCopy-->

Pour configurer le changement de contenu

add cs action <Domain_CS_Action> -targetVserver <Domain_AAA_VS>

add cs policy <Domain_CS_Policy> -rule "is_vpn_url || http.req.url.contains("/adfs/ls") || http.req.url.contains("/adfs/services/trust") || -action <Domain_CS_Action>
<!--NeedCopy-->

Exemple

add cs action CTXTEST_CS_Action -targetVserver CTXTEST_AAA_VS

add cs policy CTXTEST_CS_Policy -rule "is_vpn_url || http.req.url.contains("/adfs/ls") || http.req.url.contains("/adfs/services/trust") || -action CTXTEST_CS_Action
<!--NeedCopy-->

Pour lier le contenu commutant de serveur virtuel à une stratégie

bind cs vserver CTXTEST_CSVS -policyName CTXTEST_CS_Policy -priority 100
<!--NeedCopy-->