NetScaler como SP SAML
El proveedor de servicios SAML (SP) es una entidad de 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 identidades (IdP) de SAML.
El SP también valida las aserciones SAML que se reciben del IDP.
Cuando el dispositivo NetScaler se configura como SP, un servidor virtual de administración del tráfico (equilibrio de carga o cambio de contenido) recibe todas las solicitudes de usuario asociadas a la acción de SAML correspondiente.
El dispositivo NetScaler también admite enlaces POST y Redirect durante el cierre de sesión.
Nota
Se puede utilizar un dispositivo NetScaler como SP de SAML en una implementación en la que el IDP de SAML esté configurado en el dispositivo o en cualquier IDP de SAML externo.
Cuando se usa como SP SAML, un dispositivo NetScaler:
Puede extraer la información del usuario (atributos) del token SAML. A continuación, esta información se puede utilizar en las directivas configuradas en el dispositivo NetScaler. Por ejemplo, si desea extraer los atributos GroupMember yemailaddress, en SamlAction, especifique el parámetroAttribute2como GroupMember y el parámetroAttribute3comoemailaddress.
Nota
Los atributos predeterminados, como el nombre de usuario, la contraseña y la URL de cierre de sesión, no se deben extraer de 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.
Admite enlaces de publicaciones, redirecciones y artefactos.
Nota
没有utilice el de redireccionamiento para gr捆扎andes cantidades de datos cuando la afirmación después de inflar o decodificar sea superior a 10 K.
Puede descifrar afirmaciones.
Puede extraer atributos con varios valores de una aserción de SAML. Estos atributos se envían en etiquetas XML anidadas, como:
Value1 Value2 \Nota
A partir de la versión 63.x de NetScaler 13.0 y versiones posteriores, se aumentó la longitud máxima individual de los atributos SAML para permitir un máximo de 40 000 bytes. El tamaño de todos los atributos no debe superar los 40 000 bytes.
Cuando se le presenta el XML anterior, el dispositivo NetScaler puede extraer tanto el Value1 como el Value2 como valores de un atributo determinado, a diferencia del firmware anterior, que extraía solo el Value1.
Puede especificar la validez de una aserción SAML.
Si la hora del sistema en el IDP SAML de NetScaler 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 sesgo”, especifica el número de minutos durante los que se puede aceptar el mensaje. El tiempo de inclinación se puede configurar en el SP de SAML y en el IDP de SAML.
Puede enviar un atributo adicional llamado ‘forceAuth’ en la solicitud de autenticación a un IdP externo (proveedor de identidades). De forma predeterminada, ForceAuthn se establece en “False”. Se puede configurar en “Verdadero” para sugerir al IdP que fuerce la autenticación a pesar del contexto de autenticación existente. Además, NetScaler SP realiza una solicitud de autenticación en el parámetro de consulta cuando se configura con enlace de artefactos.
Configurar el dispositivo NetScaler como SP SAML mediante la CLI
Configure una acción de SAML SP.
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 que tener en cuenta
- El certificado previsto
-samlIdPCertName
en el comando SAMLAction debe coincidir con el certificado correspondiente del proveedor de identidades para que la verificación de la firma se realce correctamente. - SAML solo admite el certificado RSA. No se admiten otros certificados, como HSM y FIPS.
- Se recomienda tener un nombre de dominio completo con una “/” al final de la expresión.
- Los administradores deben configurar una expresión paraRelaysStateRuleen 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.
Nota:
Si hay varias directivas de SAML como parte de una cadena de IDP, basta con configurar una regla de estado de retransmisión solo en la primera directiva de SAML.
Para obtener más información sobre el comando, consultehttps://developer-docs.citrix.com/projects/citrix-adc-command-reference/en/latest/authentication/authentication-samlActionyhttps://support.citrix.com/article/CTX316577.
- El certificado previsto
Configure la directiva SAML.
Ejemplo
El siguiente comando define una directiva de SAML que aplica la acción SAML definida anteriormente a todo el tráfico.
add authentication policy SamlSPPol1 -rule true -action SamlSPAct1
Vincule la directiva SAML al servidor virtual de autenticación.
Ejemplo
El siguiente comando enlaza la directiva SAML a un servidor virtual de autenticación denominado “av_saml”.
bind authentication vserver av_saml -policy SamlSPPol1
Vincule el servidor虚拟de autenticacion servidor virtual de administración del tráfico correspondiente.
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 información sobre el comando, consultehttps://developer-docs.citrix.com/projects/citrix-adc-command-reference/en/latest/authentication/authentication-samlAction.
Configurar un dispositivo NetScaler como SP SAML mediante la GUI
Vaya aSeguridad>Directivas AAA>Autenticación>Directivas básicas>SAML.
Seleccione la fichaServidores, haga clic enAgregar, introduzca valores para los siguientes parámetros y haga clic enCrear.
Descripciones de parámetros:
Nombre: Nombre del servidor.
URL de redirección: URL con la que los usuarios se autentican. Algunos IDP tienen URL especiales a las que no se puede acceder a menos que estén en una configuración de SAML.
URL de cierre de对话unica: URL especificada para que el NetScaler pueda reconocer cuándo enviar el cliente de vuelta al IDP para completar el proceso de cierre de sesión. No lo usaremos en esta sencilla implementación.
Enlace a SAML: mecanismo que se utiliza para transportar los mensajes del solicitante y el respondedor de SAML entre el SP y el IDP. Cuando NetScaler actúa como SP, admite los enlaces Post, Redirect y Artifact. El método de enlace predeterminado es POST.
Nota:
Para vincular artefactos, el mecanismo de transporte del SP y el IdP debe ser el mismo.
Enlace de cierre de sesión: especifica el mecanismo de transporte de los mensajes de cierre de sesión de SAML. El mecanismo de enlace predeterminado es Post.
Nombre del certificado de IDP: Certificado IdPCert (Base64) presente en el certificado de firma de SAML.
Campo de usuario: Sección del formulario de autenticación SAML del IDP que contiene el nombre de usuario del SP para extraerlo si es necesario.
Nombre del certificado de firma: seleccione el certificado SP SAML (con clave privada) que NetScaler utiliza para firmar las solicitudes de autenticación al proveedor de identidades. El mismo certificado (sin clave privada) debe importarse al proveedor de identidades para que el proveedor de identidades pueda verificar la firma de la solicitud de autenticación. La mayoría de los IDP no requieren el nombre del certificado de firma.
issuerName: Identificador. ID único que se especifica tanto en el SP como en el IdP para ayudar a identificar al proveedor de servicios entre sí.
- Rechazar unaafirmación sin firmar: opción que puede especificar si necesita que se firmen las afirmaciones del IdP. De forma predeterminada, está activado.
- ACTIVADO: rechaza las afirmaciones sin firma
- ESTRICTO: garantiza que tanto la respuesta como la afirmación estén firmadas
- DESACTIVADO: Permite aserciones sin firmar
Audiencia: audiencia a la que se aplica una afirmación enviada por IDP. Suele ser un nombre de entidad o una URL que representa al proveedor de servicios.
Algoritmo de firma: algoritmo que se utilizará para firmar/verificar las transacciones de SAML. El valor predeterminado es RSA-SHA256.
Método de resumen: algoritmo que se utilizará para calcular/verificar el resumen de las transacciones de SAML. El valor predeterminado es SHA256.
Grupo de autenticación predeterminado: el grupo predeterminado que se elige cuando la autenticación se realiza correctamente, además de los grupos extraídos.
Campo de nombre de grupo: nombre de la etiqueta en una aserción que contiene grupos de usuarios.
- Tiempo de sesgo (minutos): esta opción especifica el sesgo del reloj en minutos que el proveedor de servicios NetScaler permite en una afirmación entrante. Por ejemplo, si establece el tiempo de sesgo en 10 minutos a las 16:00, la afirmación SAML es válida entre las 15:50 y las 16:10, es decir, 20 minutos en total. El tiempo de sesgo predeterminado es de 5 minutos.
Cree la directiva SAML correspondiente.
Vaya aSeguridad > Tráfico de aplicaciones AAA > Directivas > Autenticación > Directivas avanzadas > Directivay haga clic enAgregar.
En la páginade autenticacion Crear directiva SAML, proporcione los siguientes detalles:
- Nombre: Especifique un nombre para la directiva SAML.
- Tipo de acción: seleccioneSAMLcomo tipo de acción de autenticación.
- Acción: seleccione el perfil del servidor SAML al que desea vincular la directiva de SAML.
- Expresión: Muestra el nombre de la regla o expresión que la directiva SAML utiliza para determinar si el usuario debe autenticarse con el servidor SAML. En el cuadro de texto, defina el valor “rule = true” para que la directiva de SAML entre en vigor y se ejecute la acción de SAML correspondiente.
Vincule la directiva SAML al servidor virtual de autenticación.
Vaya aSeguridad > AAA: Tráfico de aplicaciones > Servidores virtualesy asocie la directiva SAML con el servidor virtual de autenticación.
Asocie el servidor de autenticación al servidor virtual de administración del tráfico correspondiente.
Vaya aAdministración del tráfico > Equilibrio de carga(oContent Switching) >Servidores virtuales, seleccione el servidor virtual y asocie el servidor virtual de autenticación con él.