Protocole Web Services Federation

Web Services Federation (WS-Federation) est un protocole d’identité qui permet à un service de jeton de sécurité (STS) dans un domaine d’approbation de fournir des informations d’authentification à un STS dans 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 où comme IdP SAML ne prend en charge que les clients passifs.

  • Les clients actifs sont des clients natifs Microsoft tels que Outlook et 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.

Conditions préalables à l’utilisation de Citrix ADC en tant que WS-Federation

Avant de configurer l’appliance Citrix ADC en tant que proxy ADFS, vérifiez 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 réellement configurer l’IdP SAML. Vous ne voyez aucune interface utilisateur mentionnant 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’elles sont configurées en tant que proxy ADFS et IdP de fédération WS-.

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 qu’ADFSPIP
Équilibrage de charge Oui Oui Oui
Terminaison SSL Oui Oui Oui
Limitation de taux Oui Oui Oui
Consolidation (réduction de l’encombrement des serveurs DMZ et sauvegarde des adresses IP publiques) Oui Oui Oui
Pare-feu d’application Web (WAF) Oui Oui Oui
Déchargement de l’authentification vers l’appliance Citrix ADC Non Oui (Clients actifs et passifs) Oui
Connexion unique (SSO) Non Oui (Clients actifs et passifs) Oui
Authentification multifactorielle 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 qu’IdP WS-Federation (IdP SAML) dans une zone DMZ. Le serveur ADFS est configuré avec le contrôleur de domaine AD dans le back-end.

IdP WS-Federation

  1. La demande client vers 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 avec 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 des 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 qu’IdP de fédération WS-( IdP SAML) à l’aide de l’interface de ligne de commande

Les sections suivantes sont catégorisé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 ouvrir une session à l’appliance Citrix ADC à l’aide de leurs adresses de messagerie d’entreprise, vous devez configurer les éléments suivants :

  • Configurez le serveur d’authentification LDAP et la stratégie sur l’appliance Citrix ADC.
  • Liez-la à votre authentification, autorisation et adresse IP virtuelle 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>

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

Pour configurer Citrix ADC en tant qu’IdP de fédération WS-ou IdP SAML

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

  • 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>

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

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

add authentication vserver <Domain_AAA_VS> SSL <IP_address>

Exemple

  • add authentication vserver CTXTEST_AAA_VS SSL 192.168.1.0
  • bind authentication vserver CTXTEST_AAA_VS -portaltheme RfWebUI

Pour lier un serveur virtuel d’authentification et une 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

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

Pour configurer la commutation 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>

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

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

bind cs vserver CTXTEST_CSVS -policyName CTXTEST_CS_Policy -priority 100