Configurar SAML seguido de la autenticación LDAP o certificado 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 LDAP o autenticación de certificados basada en la extracción de atributos SAML en la autenticación nFactor.
Autenticación SAML en el primer factor con extracción de atributos de 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 certificados.
-
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 tal y como se configuran en la acción SAML. Se verifica la aserción SAML y se mueve 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. En función de la evaluación de directivas, ha configurado un salto al factor de autenticación LDAP o al factor de autenticación de certificados.
Nota Ladirectiva
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 que 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 true, puede configurar salto al siguiente factor que tiene autenticación LDAP. Del mismo modo, la directiva se puede configurar para tener el siguiente factor como certificado.
-
Cuando se selecciona el factor LDAP después de 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 para el nombre de usuario y la contraseña.
-
La imagen siguiente 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 el factor de certificado se selecciona 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 posterior.
Realice lo siguiente mediante la CLI
-
Configure el servidor virtual de administración de 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
-
Configure 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
-
Configure 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 el visualizador nFactor
-
Vaya a Seguridad > Tráfico de aplicaciones AAA > Visualizador 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 buscar 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 las ventas de atributos.
-
Para agregar el segundo factor para el atributo “citrix.com”, haga clic en el signo verde + junto a no_ldap policy.
-
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 de nFactor creado a un servidor virtual de autenticación, autorización y auditoría, haga clic en Vincular al servidor de autenticación y haga clic en Crear.
Nota
Enlazar y desvincular el flujo de nFactor a través de la opción dada en NFactor Flow en Mostrar enlacessolamente.
Desenlazar el flujo de nFactor
-
Seleccione el flujo nFactor y haga clic en Mostrar enlaces.
-
Seleccione el servidor virtual de autenticación y haga clic en Desenlazar.