Citrix ADC

Citrix ADC como SP SAML

El proveedor de servicios SAML (SP) es una entidad SAML implementada por el proveedor de servicios. Cuando un usuario intenta acceder a una aplicación protegida, el SP evalúa la solicitud del cliente. Si el cliente no está autenticado (no tiene una cookie NSC_TMAA o NSC_TMAS válida), el SP redirige la solicitud al proveedor de identidad (IdP) SAML.

El SP también valida las aserciones SAML que se reciben del IdP.

Cuando el dispositivo Citrix ADC está configurado como SP, un servidor virtual de administración de tráfico recibe todas las solicitudes de usuario (equilibrio de carga o conmutación de contenido) asociado a la acción SAML pertinente.

El dispositivo Citrix ADC también admite enlaces POST y Redirect durante el cierre de sesión.

Nota

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

Cuando se utiliza como un SP SAML, un dispositivo Citrix ADC:

  • Puede extraer la información de usuario (atributos) del token SAML. Esta información se puede utilizar en las directivas configuradas en el dispositivo Citrix ADC. Por ejemplo, si quiere extraer los atributos GroupMember y emailaddress, en SamlAction, especifique el parámetro Attribute2 como GroupMember y el parámetro Attribute3 como emailaddress.

    Nota

    Los atributos predeterminados, como nombre de usuario, contraseña y dirección URL de cierre de sesión, no se deben extraer en los atributos 1 a 16, ya que se analizan y almacenan implícitamente en la sesión.

  • Puede extraer nombres de atributos de hasta 127 bytes de una aserción SAML entrante. El límite anterior era de 63 bytes.

  • Soporta enlaces de publicaciones, redireccionamiento y artefactos.

    Nota

    El enlace de redirección no se debe utilizar para una gran cantidad de datos, cuando la aserción después de inflar o decodificar es mayor que 10K.

  • Puede descifrar aserciones.

  • Puede extraer atributos de varios valores de una aserción SAML. Estos atributos se envían son etiquetas XML anidadas tales como:

    <AttributeValue> <AttributeValue>Value1</AttributeValue> <AttributeValue>Value2</AttributeValue> </AttributeValue>

    Nota

    Desde Citrix ADC 13.0 Build 63.x y superior, se ha aumentado la longitud máxima individual de los atributos SAML para permitir un máximo de 40k bytes. El tamaño de todos los atributos no debe exceder los 40k bytes.

    Cuando se presenta con XML anterior, el dispositivo Citrix ADC puede extraer Value1 y Value2 como valores de un atributo determinado, a diferencia del firmware antiguo que solo extrae Value1.

  • 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, denominada “tiempo de sesgo”, especifica el número de minutos para los que debe aceptarse el mensaje. El tiempo de inclinación se puede configurar en el SP SAML y en el IdP de SAML.

  • Puede enviar un atributo adicional llamado ‘ForceAuth’ en la solicitud de autenticación al IdP externo (proveedor de identidad). De forma predeterminada, ForceAuthN se establece en ‘False’. Se puede establecer en ‘True’ para sugerir al IdP que forzar la autenticación a pesar del contexto de autenticación existente. Además, Citrix ADC SP realiza la solicitud de autenticación en el parámetro de consulta cuando se configura con enlace de artefactos.

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

  1. Configure una acción del SP SAML.

    Ejemplo

    El siguiente comando agrega una acción SAML que redirige las solicitudes de usuario no autenticadas.

    add authentication samlAction SamlSPAct1 -samlIdPCertName nssp -samlSigningCertName nssp –samlRedirectUrl https://auth1.example.com -relaystateRule "AAA.LOGIN.RELAYSTATE.EQ(\"https://lb.example1.com/\")"

    Puntos a tener en cuenta

    • El certificado previsto -samlIdPCertName en el comando SAMLAction debe coincidir con el certificado correspondiente del proveedor de identidad para que la verificación de la firma se realce correctamente.
    • SAML solo admite certificado RSA. No se admiten otros certificados como HSM, FIPS, etc.
    • Citrix recomienda tener un nombre de dominio completo con ‘/’ final en la expresión.
    • Los administradores deben configurar una expresión para RelaysStateRule en el comando SAMLAction. La expresión debe contener la lista de dominios publicados a los que se conecta el usuario antes de ser redirigido al servidor virtual de autenticación. Por ejemplo, la expresión debe contener los dominios del servidor virtual front-end (VPN, LB o CS) que utilizan esta acción SAML para la autenticación.

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

    Ejemplo

    El siguiente comando define una directiva SAML que aplica la acción SAML definida anteriormente a todo el tráfico.

    add authentication policy SamlSPPol1 -rule true -action SamlSPAct1

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

    Ejemplo

    El siguiente comando vincula la directiva SAML a un servidor virtual de autenticación denominado “av_saml”.

    bind authentication vserver av_saml -policy SamlSPPol1

  4. Enlazar el servidor virtual de autenticación al servidor virtual de administración de tráfico adecuado.

    Ejemplo

    El siguiente comando agrega un servidor virtual de equilibrio de carga denominado “lb1_ssl” y asocia el servidor virtual de autenticación denominado “av_saml” al servidor virtual de equilibrio de carga. add lb vserver lb1_ssl SSL 10.217.28.224 443 -persistenceType NONE -cltTimeout 180 -AuthenticationHost auth1.example.com -Authentication ON -authnVsName av_saml

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

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

  1. Vaya a Seguridad>Directivas AAA>Autenticación>Directivas básicas>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:

    Nombre: nombre del servidor

    URL de redirección: URL contra la que los usuarios se autenticarán. Algunos IdP tienen URL especiales a las que no se puede acceder a menos que se encuentre en la configuración de SAML.

    URL de cierre de sesión única: URL especificada para que Citrix ADC pueda reconocer cuándo debe devolver el cliente al IdP para completar el proceso de cierre de sesión. No lo usaremos en esta sencilla implementación.

    Enlace SAML: método que se utiliza para mover el cliente del SP al proveedor de identidades. Esto debe ser el mismo en el proveedor de identidad para que comprenda cómo se conectará el cliente a él. Cuando Citrix ADC actúa como SP, admite enlaces POST, REDIRECT y ARTIFACT.

    Enlace de cierre de sesión - REDIRECT

    Nombre del certificado IDP - Certificado IDPCert (Base64) presente bajo Certificado de firma SAML.

    Campo de usuario: sección del formulario de autenticación SAML del IdP que contiene el nombre de usuario para que SP lo extraiga si es necesario.

    Nombre del certificado de firma: seleccione el certificado SP SAML (con clave privada) que Citrix ADC utiliza para firmar las solicitudes de autenticación al proveedor de identidad. El mismo certificado (sin clave privada) debe importarse al proveedor de identidad para que el proveedor de identidad pueda verificar la firma de la solicitud de autenticación. La mayoría de los desplazados internos no necesitan este campo.

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

    Rechazar afirmación sin firmar: opción que puede especificar si requiere que se firmen las afirmaciones del proveedor de identidad. Puede asegurarse de que solo se debe firmar (ON) la Afirmación (ON) o que sea necesario firmar la Afirmación y la Respuesta del IdP (ESTRICTA).

    Audiencia: audiencia a la que se aplica la afirmación enviada por IdP. Normalmente se trata de un nombre de entidad o URL que representa ServiceProvider.

    Algoritmo de firma - RSA-SHA256

    Método de resumen - SHA256

    Grupo de autenticación predeterminado: grupo predeterminado que se elige cuando la autenticación se realiza correctamente, además de los grupos extraídos.

    Campo Nombre de grupo: nombre de la etiqueta en la afirmación que contiene grupos de usuarios.

    Tiempo de sesgo (minutos): esta opción especifica el sesgo del reloj permitido en número de minutos que Citrix ADC ServiceProvider permite en una aserción entrante.

  3. De forma similar, cree una directiva SAML correspondiente y enlazarla al servidor virtual de autenticación.

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

  4. Asocie el servidor de autenticación con el servidor virtual de administración de tráfico adecuado.

    Vaya a Administración del tráfico > Equilibrio de carga (o Content Switching) > Servidores virtuales, seleccione el servidor virtual y asocie el servidor virtual de autenticación con él.