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.

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

Avant de configurer l’appliance NetScaler en tant que proxy ADFS, vérifiez les points suivants :

  • Active Directory.
  • Certificat SSL de domaine.
  • Le certificat SSL NetScaler et le certificat de signature du 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 NetScaler lorsqu’il est configuré en tant que proxy ADFS et WS-Federation IdP

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

Fonctionnalités Configurer l’appliance NetScaler en tant que proxy ADFS NetScaler en tant qu’IdP WS-Federation NetScaler en tant qu’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 NetScaler 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 NetScaler en tant qu’IdP WS-Federation

Configurez NetScaler 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.

WS-Federation IdP

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

Remarque

La prise en charge de l’IdP WS-Federation est assurée de manière native via l’appliance NetScaler par rapport à l’équilibreur de charge F5 Networks.

Configurer l’appliance NetScaler en tant qu’IdP WS-Federation (IDP SAML) à l’aide de l’interface de ligne de commande

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 que les utilisateurs du domaine puissent se connecter à l’appliance NetScaler à l’aide de leur adresse e-mail d’entreprise, vous devez configurer les éléments suivants :

  • Configurez le serveur et la stratégie d’authentification LDAP sur l’appliance NetScaler.
  • 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 NetScaler en tant qu’IdP 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-->