ADC

Protocolo de federación de servicios web

La federación de servicios web (WS-Federation) es un protocolo de identidad que permite que un servicio de token de seguridad (STS) de un dominio de confianza proporcione información de autenticación a un STS de otro dominio de confianza cuando hay una relación de confianza entre los dos dominios.

Ventajas de WS-Federation

WS-Federation admite clientes activos y pasivos, mientras que el IdP SAML solo admite clientes pasivos.

  • Los clientes activos son clientes nativos de Microsoft, como los clientes de Outlook y Office (Word, PowerPoint, Excel y OneNote).
  • Los clientes pasivos son clientes basados en explorador, como Google Chrome, Mozilla Firefox e Internet Explorer.

Requisitos previos para usar NetScaler ADC como WS-Federation

Antes de configurar el dispositivo NetScaler ADC como proxy ADFS, revise lo siguiente:

  • Active Directory
  • Certificado SSL de dominio.
  • El certificado SSL de NetScaler ADC y el certificado de firma de token de ADFS en el servidor ADFS deben ser los mismos.

Importante

IdP de SAML ahora es capaz de gestionar el protocolo WS-Federation. Por lo tanto, para configurar el IdP de WS-Federation, debe configurar realmente el IdP de SAML. No ve ninguna interfaz de usuario que mencione explícitamente WS-Federation.

Funciones admitidas por NetScaler ADC cuando se configuran como proxy ADFS e IdP de WS-Federation

En la siguiente tabla se enumeran las funciones admitidas por el dispositivo NetScaler ADC cuando se configura como proxy ADFS e IdP de WS-Federation.

Funciones Configurar el dispositivo NetScaler ADC como proxy ADFS NetScaler ADC como proveedor de identidad de WS-Federation NetScaler ADC como ADFSPIP
Equilibrio de carga
Terminación de SSL
Limitación de velocidad
Consolidación (reduce el espacio del servidor DMZ y ahorra IP pública)
Firewall de aplicaciones web (WAF)
Descarga de autenticación al dispositivo NetScaler ADC Sí (clientes activos y pasivos)
Single Sign-On (SSO) Sí (clientes activos y pasivos)
Autenticación de varios factores (nFactor) No Sí (clientes activos y pasivos)
Autenticación multifactor Azure No Sí (clientes activos y pasivos)
Se puede evitar la comunidad de servidores ADFS No

Configurar el dispositivo NetScaler ADC como proveedor de identidad de WS-Federation

Configure NetScaler ADC como IdP de WS-Federation (IdP de SAML) en una zona DMZ. El servidor ADFS se configura junto con el controlador de dominio de AD en el back-end.

Proveedor de identidad de WS-Federation

  1. La solicitud del cliente a Microsoft Office365 se redirige al dispositivo NetScaler ADC.
  2. El usuario introduce las credenciales para la autenticación multifactor.
  3. NetScaler ADC valida las credenciales con AD y genera un token de forma nativa en el dispositivo NetScaler ADC. Las credenciales se pasan a Office365 para obtener acceso.

Nota

La compatibilidad con el proveedor de identidades de WS-Federation se realiza de forma nativa a través del dispositivo NetScaler ADC en comparación con el equilibrador de carga de F5 Networks.

Configurar el dispositivo NetScaler ADC como IdP de WS-Federation (IdP de SAML) mediante la CLI

Las siguientes secciones se clasifican según el requisito de completar los pasos de configuración.

Para configurar la autenticación LDAP y agregar una directiva

Importante

Para los usuarios de dominio, para iniciar sesión en el dispositivo NetScaler ADC con sus direcciones de correo electrónico corporativas, debe configurar lo siguiente:

  • Configure el servidor y la directiva de autenticación LDAP en el dispositivo NetScaler ADC.
  • Enlácela a la dirección IP virtual de autenticación, autorización y auditoría (también se admite el uso de una configuración LDAP existente).
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-->

Ejemplo

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

Para configurar NetScaler ADC como IdP de WS-Federation o IdP de SAML

Crear una acción y una directiva de IdP de WS-Federation (IdP SAML) para la generación de tokens. Más adelante, vincúlela al servidor virtual de autenticación, autorización y auditoría.

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

Ejemplo

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

Para configurar un servidor virtual de autenticación, autorización y auditoría para autenticar a los empleados que inician sesión en Office365 con credenciales corporativas

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

Ejemplo

add authentication vserver CTXTEST_AAA_VS SSL 192.168.1.0

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

Para vincular el servidor virtual de autenticación y la directiva

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

Ejemplo

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

Para configurar el cambio de contenido

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

Ejemplo

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

Para enlazar el servidor virtual de conmutación de contenido a la directiva

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