Citrix ADC

Citrix ADC como proveedor de identidades SAML

El IdP de SAML (proveedor de identidad) es una entidad SAML que se implementa en la red del cliente. El IdP recibe solicitudes del SP SAML y redirige a los usuarios a una página de inicio de sesión, donde deben introducir sus credenciales. El IdP autentica estas credenciales con el directorio activo (servidor de autenticación externo, como LDAP) y, a continuación, genera una aserción SAML que se envía al SP.

El SP valida el token y el usuario obtiene acceso a la aplicación protegida solicitada.

Cuando el dispositivo Citrix ADC se configura como un IdP, todas las solicitudes se reciben en un servidor virtual de autenticación que está asociado con el perfil de IdP de SAML relevante.

Nota

Un dispositivo Citrix ADC se puede utilizar como IdP en una implementación en la que el SP SAML esté configurado en el dispositivo o en cualquier SP SAML externo.

Cuando se utiliza como proveedor de identidades SAML, un dispositivo Citrix ADC:

  • Admite todos los métodos de autenticación que admite para los inicios de sesión tradicionales.

  • Firma afirmaciones digitalmente.

  • Admite la autenticación de un solo factor y de dos factores. SAML no debe configurarse como el mecanismo de autenticación secundario.

  • Puede cifrar aserciones mediante la clave pública del SP SAML. Esto se recomienda cuando la afirmación incluye información confidencial.

  • Puede configurarse para aceptar solo solicitudes firmadas digitalmente desde SAML SP.

  • Puede iniciar sesión en el IdP de SAML mediante los siguientes mecanismos de autenticación basados en 401: Negociar, NTLM y Certificate.

  • Se puede configurar para enviar 16 atributos además del atributo nameID. Los atributos se deben extraer del servidor de autenticación apropiado. Para cada uno de ellos, puede especificar el nombre, la expresión, el formato y un nombre descriptivo en el perfil del IdP de SAML.

  • Si el dispositivo Citrix ADC está configurado como un IdP SAML para varios SP SAML, un usuario puede obtener acceso a las aplicaciones en los diferentes SPs sin autenticarse explícitamente cada vez. El dispositivo Citrix ADC crea una cookie de sesión para la primera autenticación y cada solicitud posterior utiliza esta cookie para la autenticación.

  • Puede enviar atributos con varios valores en una aserción SAML.

  • Admite enlaces posteriores y redireccionamientos. La compatibilidad con el enlace de artefactos se introduce en la versión 13.0 compilación 36.27 de Citrix ADC.

  • Puede especificar la validez de una aserción SAML.

    Si la hora del sistema en el IdP SAML de Citrix ADC y el SP SAML del mismo par no están sincronizados, es posible que cualquiera de las partes invalide los mensajes. Para evitar estos casos, ahora puede configurar la duración de tiempo para la cual las afirmaciones son válidas.

    Esta duración, denominada “tiempo de desviación”, especifica el número de minutos durante los que se debe aceptar el mensaje. El tiempo de inclinación se puede configurar en el SP de SAML y en el IdP de SAML.

  • Se puede configurar para entregar aserciones solo a los SP SAML preconfigurados o confiables por el IdP. Para esta configuración, el IdP SAML debe tener el ID del proveedor de servicios (o el nombre del emisor) de los SP SAML relevantes.

    Nota

    Antes de continuar, asegúrese de que tiene un servidor virtual de autenticación que esté vinculado a un servidor de autenticación LDAP.

Para configurar un dispositivo Citrix ADC como IdP de SAML mediante la interfaz de línea de comandos

  1. Configure un perfil de IdP SAML.

    Ejemplo

    Agregar un dispositivo Citrix ADC como IdP con SiteMinder como SP.

    add authentication samlIdPProfile samlIDPProf1 -samlSPCertName siteminder-cert -encryptAssertion ON -samlIdPCertName ns-cert -assertionConsumerServiceURL http://sm-proxy.nsi-test.com:8080/affwebservices/public/saml2assertionconsumer -rejectUnsignedRequests ON -signatureAlg RSA-SHA256 -digestMethod SHA256 –acsUrlRule AAA.LOGIN.SAML_REQ_ACS_URL.REGEX_MATCH(re#^https://example2\.com/cgi/samlauth$#)

    Puntos a tener en cuenta

    • En el perfil de IdP de SAML, configure acsurlRule que toma una expresión de la lista de URL de proveedor de servicios aplicables para este IdP. Esta expresión depende del SP que se esté usando. Si Citrix ADC está configurado como SP, la URL de ACS será https://<SP-domain_name>/cgi/samlauth. Citrix recomienda tener una URL completa en la expresión para coincidir.

    • SAML solo admite certificado RSA. No se admiten otros certificados como HSM, FIPS, etc.

    • Debe especificar el inicio del dominio con el signo “^” (ejemplo: ^https) junto con el signo de dólar “$” al final de la cadena (ejemplo: samlauth$).

    Para obtener más información sobre el comando, consulte https://developer-docs.citrix.com/projects/citrix-adc-command-reference/en/latest/authentication/authentication-samlAction y https://support.citrix.com/article/CTX316577.

  2. Configure la directiva de autenticación SAML y asocie el perfil de IdP de SAML como acción de la directiva.

    add authentication samlIdPPolicy samlIDPPol1 -rule true -action samlIDPProf1

  3. Enlazar la directiva al servidor virtual de autenticación.

    bind authentication vserver saml-auth-vserver -policy samlIDPPol1 -priority 100

    Para obtener más información sobre el comando, consulte https://developer-docs.citrix.com/projects/citrix-adc-command-reference/en/latest/authentication/authentication-samlIdPProfile.

Para configurar un dispositivo Citrix ADC como IdP SAML mediante la interfaz gráfica de usuario

  1. Vaya a Seguridad>Directivas AAA>Autenticación>Directivas avanzadas>IdP SAML.

  2. Seleccione la ficha Servidores, haga clic en Agregar, introduzca valores para los siguientes parámetros y haga clic en Crear.

    Descripción del parámetro:

    URL de servicio al consumidor de aserción: URL a la que se redirigirá el usuario autenticado.

    Nombre de certificado de IdP: par de claves de certificado utilizado para la página de autenticación.

    Nombre del certificado SP: certificado del proveedor de servicios en este caso, la clave no es necesaria para ello.

    Firmar aserción: la opción de firmar la afirmación y la respuesta al redirigir al cliente de nuevo al proveedor de servicios.

    Nombre del emisor: un valor de cadena incluido en la aserción SAML emitida por el IdP.

    ID del proveedor de servicios: ID único que se especifica en el SP para ayudar a identificar al proveedor de servicios. El identificador puede ser cualquier cosa y no necesita ser el URL que se especifica a continuación, sino que debe ser el mismo en el perfil SP y en los perfiles del IdP.

    Rechazar solicitudes sin firmar: opción que puede especificar para garantizar que solo se acepten las afirmaciones firmadas con el certificado SP.

    Algoritmo de firma: algoritmo utilizado para firmar y verificar las afirmaciones entre el IdP y el SP, debe ser el mismo en el perfil del IdP y el perfil del SP.

    Método de resumen: algoritmo utilizado para verificar la integridad de las afirmaciones entre el IdP y el SP, esto debe ser igual en el perfil del IdP y el perfil del SP.

    Vinculación SAML: igual que se describe en el perfil de SP, debe ser igual en el SP y el IdP.

  3. Asocie la directiva IdP de SAML con un servidor virtual de autenticación.

    Vaya a Seguridad > AAA: Tráfico de aplicaciones > Servidores virtuales y asocie la directiva IdP SAML con el servidor virtual de autenticación.