Citrix ADC

Citrix ADC como IdP de 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 Active Directory (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 está configurado como IdP, todas las solicitudes son recibidas por un servidor virtual de autenticación asociado al perfil de IdP SAML correspondiente.

Nota

Un dispositivo Citrix ADC se puede utilizar como IdP en una implementación donde 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 inicios de sesión tradicionales.

  • Firma digitalmente las afirmaciones.

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

  • Puede cifrar aserciones mediante la clave pública del SP SAML. Esto se recomienda cuando la aserció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: Negotiate, NTLM y Certificate.

  • Se puede configurar para enviar 16 atributos además del atributo NameID. Los atributos deben extraerse 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 IdP de SAML.

  • Si el dispositivo Citrix ADC está configurado como IdP SAML para varios SP SAML, un usuario puede obtener acceso a aplicaciones en los diferentes SP 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 de varios valores en una aserción SAML.

  • Soporta enlaces de publicación y redireccionamiento. La compatibilidad con el enlace de artefactos se presenta en Citrix ADC versión 13.0, compilación 36.27.

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

    Si la hora del sistema en Citrix ADC SAML IdP y el SP SAML del mismo nivel no está sincronizada, cualquiera de las partes podría invalidar los mensajes. Para evitar estos casos, ahora puede configurar la duración de tiempo para la que las aserciones son válidas.

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

  • Se puede configurar para servir aserciones solo a los SPs SAML que están preconfigurados o confiados por el IdP. Para esta configuración, el IdP de SAML debe tener el ID del proveedor de servicios (o nombre del emisor) de los SPs SAML relevantes.

    Nota

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

Para configurar un dispositivo Citrix ADC como IdP 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é mediante. Si Citrix ADC está configurado como SP, la URL de ACS lo 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: identificador. ID único que se especifica tanto en el SP como en el proveedor de servicios para ayudar a identificar el proveedor de servicios entre sí.

    ID de proveedor de servicios: ID único que se especificará tanto en el SP como en el IdP para ayudar a identificar al proveedor de servicios entre sí. Esto puede ser cualquier cosa y no necesita ser la URL que se especifica a continuación, pero tiene que ser igual tanto en los perfiles SP como en el 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, este debe ser el mismo en los perfiles de IdP y SP.

    Método de resumen: algoritmo utilizado para verificar la integridad de las afirmaciones entre el IdP y el SP, este debe ser el mismo en los perfiles de IdP y SP.

    Enlace SAML: Igual que se describe en el perfil SP, debe ser el mismo tanto en el SP como en el proveedor de identidad.

  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.