Cumplimiento del protocolo de integración de proxy de servicio de federación de Active Directory (vista previa técnica)

Nota La compatibilidad con el Protocolo de integración de proxy de servicio de federación de Active Directory está en la versión de vista previa técnica.

¿Qué es ADFS y por qué necesitamos un proxy ADFS?

Servicios de federación de Active Directory (ADFS) es un servicio de Microsoft que permite la experiencia de inicio de sesión único (SSO) para clientes autenticados de Active Directory a recursos fuera del centro de datos de la empresa. Una granja de servidores ADFS permite a los usuarios internos acceder a servicios externos alojados en la nube. Pero en el momento en que los usuarios externos entran en la mezcla, se les debe dar una forma de conectarse de forma remota y acceder a servicios basados en la nube a través de la identidad federada. La mayoría de las empresas no prefieren mantener el servidor ADFS expuesto en la DMZ, por lo tanto, el proxy ADFS desempeña un papel fundamental en la conectividad de usuarios remotos y el acceso a aplicaciones.

¿Qué hay en él para Citrix ADC?

Citrix ADC ha estado desempeñando funciones similares: conectividad de usuarios remotos y acceso a aplicaciones durante más de una década. Citrix ADC cuenta con la tecnología adecuada para habilitar la conectividad segura, la autenticación y el manejo de la identidad federada, por lo que se convierte en la solución preferida para reemplazar un proxy ADFS existente o admitir una nueva implementación de ADFS. La mayoría de las empresas desean reducir el espacio en la DMZ y, por lo tanto, aprecian el hecho de que, además de sus funciones tradicionales, Citrix ADC puede servir como proxy ADFS. Este enfoque evita la necesidad de implementar un componente adicional en la DMZ.

¿Por qué ADFSPIP?

Si se van a utilizar proxies de terceros en lugar del proxy de aplicación web, deben admitir el protocolo MS-ADFSPIP que especifica las reglas de integración ADFS y WAP. ADFSPIP integra los Servicios de federación de Active Directory con un proxy de autenticación y aplicación para permitir el acceso a los servicios ubicados dentro de los límites de la red corporativa para los clientes que se encuentran fuera de ese límite.

Imagen localizada

Requisitos previos

Para establecer correctamente la confianza entre el servidor proxy y la granja de ADFS, revise la siguiente configuración en el dispositivo Citrix ADC:

  • Cree un perfil SSL para back-end y habilite SNI en el perfil SSL. Deshabilite SSLv3/TLS1. En el símbolo del sistema, escriba el siguiente comando:

     add ssl profile <new SSL profile> -sniEnable ENABLED -ssl3 DISABLED -tls1 DISABLED -commonName <FQDN of ADFS>
    
  • Inhabilite SSLv3/TLS1 para el servicio. En el símbolo del sistema, escriba el siguiente comando:

     set ssl service <adfs service name> -sslProfile ns_default_ssl_profile_backend
    
  • Habilite la extensión SNI para los apretones de manos del servidor back-end. En el símbolo del sistema, escriba el siguiente comando::

     set vpn parameter –backendServerSni ENABLED
    
     set ssl parameter -denySSLReneg NONSECURE
    

Mecanismo de autenticación

A continuación se muestra el flujo de eventos de alto nivel para la autenticación.

  1. Establecer confianza con el servidor ADFS: El servidor Citrix ADC establece la confianza con el servidor ADFS registrando un certificado de cliente. Una vez establecida la confianza, el dispositivo Citrix ADC restablece la confianza después de reiniciar sin intervención del usuario.

    Al expirar el certificado, debe restablecer la confianza quitando y agregando de nuevo el perfil proxy ADFS.

  2. Insertar encabezados en las solicitudes de cliente: Cuando el dispositivo Citrix ADC túnel las solicitudes de cliente, los encabezados HTTP relacionados con ADFSPIP se agregan en el paquete mientras se envían al servidor ADFS. Puede implementar el control de acceso en el servidor ADFS basándose en estos valores de encabezado. Se admiten los siguientes encabezados.
    • Proxy X-MS-X
    • X-MS-Endpoint Absolute-Path
    • X-MS-IP de cliente reenviado-IP
    • Proxy X-MS-X
    • X-MS-Target Rol
    • X-MS-ADFS-Proxy-Cliente-IP
  3. Administrar el tráfico del usuario final: el tráfico del usuario final se enruta de forma segura a los recursos deseados.

    Nota: El dispositivo Citrix ADC utiliza autenticación basada en formularios.

Configurar Citrix ADC para que funcione con el servidor ADFS

Requisitos previos

  • Configure el servidor de conmutación de contexto (CS) como front-end con un servidor de autenticación, autorización y auditoría detrás de CS. En el símbolo del sistema, escriba:

     add cs vserver <cs vserver name> SSL 10.220.xxx.xx 443
     -cltTimeout 180 -AuthenticationHost <adfs server hostname> -Authentication OFF -persistenceType NONE
    
     add cs action <action name1> -targetLBVserver <lb vserver name>
    
    
     add cs action <action name2> -targetLBVserver <lb vserver name>
    
     add cs policy <policy name1> -rule " http.req.url.contains("/adfs/services/trust") || http.req.url.contains("federationmetadata/2007-06/federationmetadata.xml")" -action <action name1>
    
     add cs policy <policy name2> -rule "HTTP.REQ.URL.CONTAINS("/adfs/ls")" -action <action name2>
    
     bind cs vserver <cs vserver name> -policyName <policy name1> -priority 100
    
     bind cs vserver <cs vserver name> -policyName <policy name2> -priority 110
    
     bind cs vserver <cs vserver name> -lbvserver <lb vserver name>
    
  • Agregar servicio ADFS. En el símbolo del sistema, escriba:

     add service <adfs service name> <adfs server ip> SSL 443
    
     set ssl service <adfs service name> -sslProfile ns_default_ssl_profile_backend
    
  • Agregue un servidor virtual con equilibrio de carga. En el símbolo del sistema, escriba:

     add lb vserver <lb vserver name> SSL 0.0.0.0 0
    
     set ssl vserver <lb vserver name> -sslProfile ns_default_ssl_profile_frontend
    
  • Enlace el servicio al servidor con equilibrio de carga. En el símbolo del sistema, escriba:

     bind lb vserver <lb vserver name> <adfs service name>
    

Para configurar Citrix ADC para que funcione con el servidor ADFS, debe hacer lo siguiente:

  1. Crear una clave de perfil SSL CertKey para usarla con el perfil proxy ADFS
  2. Crear un perfil proxy ADFS
  3. Asociar el perfil proxy ADFS al servidor virtual LB

Crear un certificado SSL con clave privada para usar con el perfil proxy ADFS

En el símbolo del sistema, escriba:

    add ssl certkey <certkeyname> –cert <certificate path> -key <keypath>

Nota: El archivo de certificado y el archivo de clave deben estar presentes en el dispositivo Citrix ADC. Crear un perfil proxy ADFS mediante CLI

En el símbolo del sistema, escriba:

add authentication adfsProxyProfile  <profile name> -serverUrl <https://<server FQDN or IP address>/> -username <adfs admin user name> -password <password for admin user> -certKeyName <name of the CertKey profile created above>

Donde;

Nombre del perfil — Nombre del perfil proxy AFDS que se va a crear

ServerURL: nombre de dominio completo del servicio ADFS, incluidos el protocolo y el puerto. Por ejemplo: https://adfs.citrix.com

Nombre de usuario — Nombre de usuario de una cuenta de administrador que existe en el servidor ADFS

Contraseña — Contraseña de la cuenta de administrador utilizada como nombre de usuario

certKeyName — Nombre del perfil SSL CertKey creado previamente

Asociar el perfil proxy ADFS al servidor virtual de equilibrio de carga mediante CLI

En la implementación de ADFS, hay dos servidores virtuales de equilibrio de carga, uno para el tráfico del cliente y otro para el intercambio de metadatos. El perfil proxy ADFS debe estar asociado con el servidor virtual de equilibrio de carga que está finalizando el servidor ADFS.

En el símbolo del sistema, escriba:

set lb vserver <adfs-proxy-lb> -adfsProxyProfile <name of the ADFS proxy profile>

Autenticación basada en certificados de cliente en el servidor ADFS

A partir de Windows Server 2016, Microsoft introdujo una nueva forma de autenticar a los usuarios cuando se accede a ADFS a través de servidores proxy. Ahora, los usuarios finales pueden iniciar sesión con sus certificados evitando así el uso de la contraseña.

Los usuarios finales suelen acceder a ADFS a través de un proxy, especialmente cuando no están en las instalaciones. Por lo tanto, los servidores proxy ADFS son necesarios para admitir la autenticación de certificados de cliente a través del protocolo ADFSPIP.

Cuando ADFS se equilibra la carga mediante un dispositivo Citrix ADC, para admitir la autenticación basada en certificados en el servidor ADFS, los usuarios deben iniciar sesión en el dispositivo Citrix ADC utilizando también el certificado. Esto permite a Citrix ADC pasar un certificado de usuario a ADFS para proporcionar SSO al servidor ADFS.

El siguiente diagrama muestra el flujo de autenticación de certificados de cliente.

Imagen localizada

Configurar SSO para el servidor ADFS mediante certificado de cliente

Para configurar SSO para el servidor ADFS mediante certificado de cliente, primero debe configurar la autenticación del certificado de cliente en el dispositivo Citrix ADC. A continuación, debe vincular la directiva de autenticación de certificados al servidor virtual de autenticación, autorización y auditoría.

En el símbolo del sistema, escriba;

add authentication certAction <action name>

add authentication Policy <policy name> -rule <expression> -action <action name>

add authentication policylable <label Name>

bind authentication policylabel <label Name> -policyName <name of the policy> -priority<integer>

Ejemplo:

add authentication certAction adfsproxy-cert

add authentication Policy cert1 -rule TRUE -action adfsproxy-cert

add authentication policylable certfactor

bind authentication policylabel certfactor –policyName cert1 –priority 100

Para obtener información sobre la configuración del certificado de cliente en el dispositivo Citrix ADC, consulte [Configurar la autenticación de certificados de cliente mediante directivas avanzadas.