Citrix ADC

Cumplimiento Active Directory protocolo de integración de proxy de servicio de federación

Puede usar proxies de terceros en lugar del proxy de aplicaciones web. En tales casos, asegúrese de que el proxy de terceros admita el protocolo MS-ADFSPIP. Este protocolo especifica las reglas de integración de ADFS y WAP. ADFSPIP integra los servicios de federación de Active Directory con un proxy de autenticación y aplicación. Esta integración permite a los clientes ubicados fuera de la red corporativa acceder a los servicios.

Diagrama ADFSPIP

Requisitos previos

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

  • Cree un perfil SSL para el back-end y habilite el SNI en el perfil SSL. Inhabilite 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>
     <!--NeedCopy-->
    
  • 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
     <!--NeedCopy-->
    
  • 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
     <!--NeedCopy-->
    

Importante:

Para casos de Home Realm Discovery (HRD) en los que la autenticación debe descargarse en el servidor ADFS, Citrix recomienda inhabilitar tanto la autenticación como el SSO en el dispositivo Citrix ADC.

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 confianza con el servidor ADFS al registrar un certificado de cliente. Una vez que se establece la confianza, el dispositivo Citrix ADC restablece la confianza después del reinicio sin la intervención del usuario. Al expirar el certificado, debe restablecer la confianza eliminando y agregando un perfil de proxy ADFS de nuevo.

  2. Puntos finales publicados: El dispositivo Citrix ADC obtiene automáticamente la lista de puntos finales publicados en el establecimiento de confianza posterior al servidor ADFS. Estos puntos finales publicados filtran las solicitudes reenviadas al servidor ADFS.

  3. Insertar encabezados en las solicitudes de los clientes: Cuando el dispositivo Citrix ADC tuneliza las solicitudes de los clientes, los encabezados HTTP relacionados con ADFSPIP se agregan al paquete mientras se envían al servidor ADFS. Puede implementar el control de acceso en el servidor ADFS en función de estos valores de encabezado. Se admiten los siguientes encabezados.

    • Proxy
    • Ruta absoluta del punto final de X-MS
    • IP de cliente reenviada de X-MS
    • Proxy
    • Función de destino de X-MS
    • x-ms-adfs-cliente-proxy-ip
  4. Administrar el tráfico de los usuarios finales: el tráfico de los usuarios finales se enruta de forma segura a los recursos requeridos.

    Nota

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

Configure el dispositivo Citrix ADC para que admita el servidor ADFS

Requisitos previos

  • Configure el servidor Context Switching (CS) como front-end con el servidor de autenticación, autorización y auditoría detrás de la conmutación de contexto. 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
     <!--NeedCopy-->
    
     add cs action <action name1> -targetLBVserver <lb vserver name>
     <!--NeedCopy-->
    
    
     add cs action <action name2> -targetLBVserver <lb vserver name>
     <!--NeedCopy-->
    
     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>
     <!--NeedCopy-->
    
     add cs policy <policy name2> -rule "HTTP.REQ.URL.CONTAINS("/adfs/ls")" -action <action name2>
     <!--NeedCopy-->
    
     bind cs vserver <cs vserver name> -policyName <policy name1> -priority 100
     <!--NeedCopy-->
    
     bind cs vserver <cs vserver name> -policyName <policy name2> -priority 110
     <!--NeedCopy-->
    
     bind cs vserver <cs vserver name> -lbvserver <lb vserver name>
     <!--NeedCopy-->
    
  • Agregue el servicio ADFS. En el símbolo del sistema, escriba:

     add service <adfs service name> <adfs server ip> SSL 443
     <!--NeedCopy-->
    
     set ssl service <adfs service name> -sslProfile ns_default_ssl_profile_backend
     <!--NeedCopy-->
    
  • 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
     <!--NeedCopy-->
    
     set ssl vserver <lb vserver name> -sslProfile ns_default_ssl_profile_frontend
     <!--NeedCopy-->
    
  • Enlaza el servicio al servidor con equilibrio de carga. En el símbolo del sistema, escriba:

     bind lb vserver <lb vserver name> <adfs service name>
     <!--NeedCopy-->
    

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

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

Cree un certificado SSL con clave privada para usarlo con el perfil de proxy ADFS

En el símbolo del sistema, escriba:

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

Nota: El archivo de certificado y el archivo de clave deben estar presentes en el dispositivo Citrix ADC. Crear un perfil de proxy ADFS mediante la 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>
<!--NeedCopy-->

Dónde;

profile name — Nombre del perfil de proxy de 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

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

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

certKeyName — Nombre del perfil SSL CertKey creado anteriormente

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

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

En el símbolo del sistema, escriba:

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

Apoyo a la renovación del fideicomiso para ADFS

Puede renovar la confianza de los certificados existentes que están a punto de caducar o si el certificado existente no es válido. La renovación de confianza de los certificados se realiza solo cuando se establece la confianza entre el dispositivo Citrix ADC y el servidor ADFS. Para renovar la confianza del certificado, debe proporcionar el nuevo certificado.

En el siguiente ejemplo se enumeran los pasos involucrados en la renovación de la confianza del certificado:

  1. El dispositivo Citrix ADC envía los certificados antiguos (SerializedTrustCertificate) y los nuevos (SerializedReplacementCertificate) en la solicitud POST al servidor ADFS para la renovación de la confianza.
  2. El servidor ADFS responde con un éxito de 200 OK si la confianza se renueva correctamente.
  3. El dispositivo Citrix ADC actualiza el estado como “ESTABLISHED_RENEW_SUCCESS” si la renovación de la confianza se realiza correctamente. Si la renovación de la confianza falla, el estado se actualiza como “ESTABLISHED_RENEW_FAILED”. El dispositivo Citrix ADC luego usa el certificado anterior.

Nota

No puede actualizar la clave del certificado si la clave del certificado está enlazada a un perfil de proxy ADFS.

Para configurar la renovación de confianza de certificados mediante la CLI

En el símbolo del sistema, escriba:

set authentication adfsProxyProfile <name> [-CertKeyName <string>]
<!--NeedCopy-->

Ejemplo:

set authentication adfsProxyProfile adfs_2 –CertKeyName ca_cert1
<!--NeedCopy-->

Renovación de nuevos certificados de confianza

Se requiere intervención manual cuando se necesita la renovación del fideicomiso. La renovación de la confianza es necesaria cuando un certificado está a punto de caducar o el administrador quiere cambiar los certificados. Estos certificados pueden ser certificados autofirmados o certificados generados por el administrador con los mismos detalles que los certificados anteriores. Para crear un certificado, siga los pasos que se indican a continuación.

  1. Cree una clave de perfil SSL CertKey para usarla con el perfil de proxy ADFS.
  2. Cree un perfil de proxy de ADFS.
  3. Asocie el perfil de proxy ADFS al servidor virtual de equilibrio de carga.

    Para obtener más información, consulte Crear una solicitud de firma de certificado y usar certificados SSL en un dispositivo Citrix ADC.

Después de crear el certificado, puede configurarlo mediante el siguiente comando de la CLI.

set authentication adfsProxyProfile <name> [-CertKeyName <string>]
<!--NeedCopy-->

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. Los usuarios finales pueden iniciar sesión con sus certificados y no con contraseña.

Los usuarios finales a menudo acceden a ADFS a través de un proxy, especialmente cuando están fuera de la red corporativa. Los servidores proxy ADFS son necesarios para admitir la autenticación de certificados de cliente a través del protocolo ADFSPIP.

Cuando se equilibra la carga de ADFS mediante un dispositivo Citrix ADC, los usuarios también deben iniciar sesión en el dispositivo Citrix ADC con el certificado. El usuario debe iniciar sesión para admitir la autenticación basada en certificados en el servidor ADFS. A continuación, el dispositivo Citrix ADC pasa el certificado de usuario a ADFS para proporcionar un inicio de sesión único en el servidor ADFS.

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

Flujo de autenticación de certificados de cliente

Configurar el SSO para el servidor ADFS mediante el certificado de cliente

Para configurar el SSO para el servidor ADFS mediante el certificado de cliente, primero debe configurar la autenticación del certificado de cliente en el dispositivo Citrix ADC. A continuación, vincule 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>

<!--NeedCopy-->

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

<!--NeedCopy-->

Para obtener información sobre la configuración del certificado de cliente, consulte Configurar la autenticación de certificados de cliente mediante directivas avanzadas.

Cumplimiento Active Directory protocolo de integración de proxy de servicio de federación