Configurar SAML seguido de la autenticación de certificados o LDAP basada en la extracción de atributos SAML en la autenticación nFactor
En la siguiente sección se describe el caso de uso de la autenticación de certificados o LDAP basada en la extracción de atributos SAML en la autenticación nFactor.
Autenticación SAML en primer factor con extracción de atributos de la aserción SAML
Supongamos un caso de uso donde los administradores configuran la autenticación SAML en un primer factor con la extracción de atributos de la aserción SAML. En función de los atributos extraídos durante el primer factor, puede configurar los siguientes factores, que pueden tener autenticación LDAP o autenticación de certificado.
-
Una vez que accede al servidor virtual de administración de tráfico, se le redirige al IdP SAML externo para iniciar sesión (en este caso, Shibboleth, como se muestra en la ilustración). Introduzca sus credenciales de inicio de sesión. Si el inicio de sesión se realiza correctamente, el IdP de SAML envía la respuesta SAML que contiene los atributos.
-
Cuando se recibe la respuesta SAML en el dispositivo Citrix ADC, analiza y extrae los atributos según lo configurado en la acción SAML. Se verifica la afirmación SAML y pasas al segundo factor.
-
El segundo factor se configura como passthrough (no hay página de inicio de sesión para este factor) con 2 directivas NO_AUTHN. Según la evaluación de directivas, ha configurado un salto al factor de autenticación LDAP o al factor de autenticación de certificados.
Nota
La directiva NO_AUTHN significa que, en caso de que la regla configurada para esta directiva se evalúe como verdadera, el dispositivo Citrix ADC no realiza ninguna autenticación. Señala el siguiente factor que está configurado.
-
Por ejemplo, supongamos que la acción SAML está configurada para extraer el UPN como atributo1 y el valor de UPN es.
john@citrix.com
Ahora, una de las reglas de directiva NO_AUTHN está configurada para verificar la presencia de la cadena “citrix.com”. Si la directiva se evalúa como verdadera, puede configurar el salto al siguiente factor que tenga autenticación LDAP. Del mismo modo, la directiva se puede configurar para tener el siguiente factor como certificado. -
Cuando se selecciona el factor LDAP tras la autenticación SAML, se muestra la página de inicio de sesión.
Nota
El valor del nombre de usuario se rellena previamente con la expresión $ {http.req.user.name}, que extrae el nombre de usuario del primer factor. También se pueden personalizar otros campos, como etiquetas de nombre de usuario y contraseña.
-
En la imagen siguiente se muestra un ejemplo utilizado para esta representación del formulario de inicio de sesión.
Nota
Según el requisito, los administradores pueden modificar los valores del formulario de inicio de sesión.
-
Si se selecciona el factor certificado después de SAML, se muestra la página de selección de certificado.
Nota
La configuración también se puede crear a través del visualizador nFactor disponible en Citrix ADC versión 13.0 y posteriores.
Realice lo siguiente mediante la CLI
-
Configure el servidor virtual de administración del tráfico y el servidor de autenticación.
add lb vserver lb_ssl SSL 10.217.28.166 443 -persistenceType NONE -cltTimeout 180 -AuthenticationHost auth.nsi-test.com -Authentication ON -authnVsName avn
add authentication vserver avn SSL 10.217.28.167 443 -AuthenticationDomain nsi-test.com
-
Configure una directiva SAML con extracción de atributos vinculada al servidor virtual de autenticación.
add authentication samlAction shibboleth -samlIdPCertName shib-idp-242 -samlSigningCertName nssp-cert -samlRedirectUrl "https://idp.wi.int/idp/profile/SAML2/POST/SSO" -samlUserField samaccountname -samlRejectUnsignedAssertion OFF -samlIssuerName nssp.nsi-test.com -Attribute1 UserPrincipalName –Attribute2 department
add authentication Policy saml -rule true -action shibboleth
bind authentication vserver avn -policy saml -priority 1 -nextFactor label1 -gotoPriorityExpression NEXT
-
Configura un segundo factor.
add authentication loginSchema login2 -authenticationSchema noschema
add authentication Policy no_ldap -rule "http.req.user.attribute(1).contains(\"citrix.com\")" -action NO_AUTHN
add authentication Policy no_cert -rule "http.req.user.attribute(2).contains(\"Sales\")" -action NO_AUTHN
add authentication policylabel label1 -loginSchema login2
bind authentication policylabel label1 -policyName no_ldap -priority 1 -gotoPriorityExpression NEXT -nextFactor ldapfactor
bind authentication policylabel label1 -policyName no_cert -priority 2 -gotoPriorityExpression NEXT -nextFactor certfactor
-
Configure un factor de autenticación LDAP.
add authentication loginSchema login3 -authenticationSchema login1.xml
add authentication policylabel ldapfactor -loginSchema login3
bind authentication policylabel ldapfactor -policyName <LDAP Auth Policy> -priority 10 -gotoPriorityExpression END
-
Configurar una autenticación de factor de certificado.
add authentication loginSchema login4 -authenticationSchema noschema
add authentication policylabel certfactor -loginSchema login4
bind authentication policylabel certfactor -policyName <Certificate Auth Policy> -priority 10 -gotoPriorityExpression END
-
Enlazar el certificado raíz al servidor virtual y habilitar la autenticación de cliente.
bind ssl vserver avn -certkeyName <root cert name>-CA -ocspCheck Optional
set ssl vserver avn -clientAuth ENABLED -clientCert Optional
Configuración mediante nFactor Visualizer
-
Vaya a Seguridad > Tráfico de aplicaciones AAA > Visualizador de nFactor > Flujos de nFactor y haga clic en Agregar.
-
Haga clic en + para agregar el flujo de nFactor.
-
Agregue un factor. El nombre que introduzca es el nombre del flujo de nFactor.
-
No se necesita ningún esquema para la autenticación SAML. Haga clic en Agregar directiva para crear una directiva SAML para el primer factor.
Nota: Para obtener más información sobre SAML como SP, consulte Citrix ADC como SP SAML.
-
Agregue la directiva SAML.
-
Haga clic en verde + para agregar el siguiente factor.
-
Cree un cuadro de decisión para comprobar los atributos SAML.
-
Haga clic en Agregar directiva para crear una directiva.
-
Cree una directiva para comprobar el atributo “citrix.com” con la acción NO_AUTHN.
-
Seleccione la directiva creada anteriormente y haga clic en Agregar.
-
Haga clic en el signo + verde para agregar una segunda directiva.
-
Siga los pasos 9 y 10. Enlazar la directiva para comprobar si hay ventas de atributos.
-
Para agregar el segundo factor para el atributo “citrix.com”, haga clic en el signo + verde junto a la directiva no_ldap.
-
Cree un factor siguiente para la autenticación LDAP.
-
Haga clic en Agregar esquema para el segundo factor.
-
Cree un esquema de inicio de sesión de autenticación con el esquema “PrefilUserFormExpr.xml” para el segundo factor que tiene el nombre de usuario rellenado previamente.
-
Haga clic en Agregar directiva para agregar la directiva LDAP.
Nota
Para obtener más información sobre la creación de autenticación LDAP, consulte Para configurar la autenticación LDAP mediante la utilidad de configuración.
-
Siga el paso 13. Para agregar un segundo factor para las ventas de atributos, haga clic en el signo + verde junto a no_cert.
-
Cree un factor siguiente para la autenticación de certificados.
-
Siga los pasos 15, 16 y 17. Agregue un esquema para la autenticación de certificados y Agregar directiva de autenticación de certificados.
Nota
Para obtener más información sobre la autenticación de certificados, consulte Configuración y vinculación de una directiva de autenticación de certificados de cliente.
-
Haga clic en Listo para guardar la configuración.
-
Para enlazar el flujo nFactor creado a un servidor virtual de autenticación, autorización y auditoría, haga clic en Vincular al servidor de autenticación y, a continuación, en Crear.
Nota
Enlazar y desvincular el flujo nFactor a través de la opción dada en nFactor Flow en Mostrar enlaces solamente.
Desvincular el flujo nFactor
-
Seleccione el flujo nFactor y haga clic en Mostrar enlaces.
-
Seleccione el servidor virtual de autenticación y haga clic en Desvincular.