Guía de implementación: aprenda a configurar Citrix Gateway para usar nFactor para autenticarse en un servidor RADIUS para MFA
可以看看general
Cómo configurar Citrix Gateway para usar nFactor para autenticarse en un servidor RADIUS para la autenticación multifactor (MFA).
En este artículo se explica cómo configurar Citrix ADC Gateway para usar la autenticación nFactor para la autenticación multifactor basada en LDAP y RADIUS y las técnicas generales de solución de problemas.
En este artículo, asumimos que su Citrix ADC tiene una implementación de Citrix Gateway y servidores RADIUS y LDAP.
En este artículo también se recomienda conectarse a los servidores RADIUS y LDAP mediante servidores virtuales de equilibrio de carga local, y se supone que los equilibradores de carga ya se han creado.Puede obtener más información sobre la creación de servidores virtuales de equilibrio de carga aquíy sobrecómo configurar la persistencia de RADIUS en un equilibrador de carga aquí.
Descripción general de la comunicación
El flujo de comunicación RADIUS comienza con un paquete de solicitud de acceso del cliente, en este caso el Citrix ADC. El servidor RADIUS valida el cliente y autentica las credenciales recibidas en Access-Request. Después de la validación, el servidor RADIUS responde con una opción de Aceptación de Acceso, Rechazo o Desafío en la que se solicitan más detalles al usuario.
Los servidores RADIUS tienen una lista de clientes válidos y un secreto compartido para cada uno. Un servidor RADIUS normalmente ignora las solicitudes de clientes no válidos, pero algunas implementaciones devuelven errores de autenticación. El secreto compartido cifra el componente de contraseña de las credenciales. Cuando el secreto compartido es incorrecto, el servidor siempre rechaza las contraseñas porque no se descifran con el valor correcto.
De forma predeterminada, Citrix ADC envía solicitudes de autenticación RADIUS desde el NSIP del nodo de alta disponibilidad activo y se dirige a un único servidor RADIUS.
En lugar de definir los NSIP de ambos ADC de un par de alta disponibilidad como clientes en los servidores RADIUS, Citrix recomienda que el ADC envíe solicitudes de autenticación a través de un servidor virtual de equilibrio de carga local. El servidor virtual de equilibrio de carga también agrega resistencia a la configuración.
Cuando Citrix ADC envía solicitudes RADIUS a través de un servidor virtual de equilibrio de carga local, las solicitudes salen del ADC a través de un SNIP. Los SNIP son direcciones IP flotantes y solo están disponibles en el nodo de alta disponibilidad principal actual.
Cuando se usa un servidor virtual de equilibrio de carga (LB), los NSIP de los nodos de alta disponibilidad principal y secundario realizan una solicitud a una VIP local. El LB VIP envía al servidor RADIUS mediante el SNIP del par HA.
Herramientas de solución de problemas
Si bien la mayoría de las implementaciones de RADIUS se realizan sin ella, puede resultar útil comprender las herramientas de solución de problemas más comunes.
El proceso de depuración de autenticación “/tmp/aaad.debug” en el Citrix ADC
Puede ver los eventos de autenticación en Citrix ADC ingresando al shell de BSH con “shell” y luego viendo el proceso aaad.debug con “cat /tmp/aaad.debug”.
Puede encontrar más información sobre “aaad.debug” aquí:https://support.citrix.com/article/CTX114999
Trading NTRad
NTRadPing es una herramienta de pruebas RADIUS de terceros que puede utilizar para generar solicitudes de autenticación RADIUS y ver la respuesta.Puede descargar NTRadPing aquí:
Con NTRadping, puede enviar solicitudes de autenticación RADIUS directamente desde su cliente al servidor RADIUS y asegurarse de que esté en pleno funcionamiento. En el servidor RADIUS, tendrá que definir la dirección IP de su cliente y un secreto compartido. También necesitará reglas de firewall para permitir que el cliente se comunique con el servidor RADIUS.
También puede usar NTRadPing para enviar solicitudes de autenticación al servidor virtual de LB en el ADC, que las retransmite al servidor RADIUS. Como estas solicitudes provienen del ADC, necesitarás el mismo secreto compartido en NTRadPing que el ADC. También necesitará reglas de firewall para permitir que el cliente se comunique con el servidor virtual RADIUS LB del ADC.
Al probar cada componente por separado, la prueba aislará dónde se produce una falla. Supongamos que puede enviar solicitudes satisfactorias manualmente mediante el RADIUS del ADC. En ese caso, sabe que el problema está en algo anterior, como la definición del servidor RADIUS en su ADC, y puede concentrar sus esfuerzos.
NTRadPing consta de dos archivos que se extraen en el mismo directorio desde su zip comprimido. En el lanzamiento, NTRadPing solicita:
- El servidor y el puerto RADIUS
- El secreto de RADIUS
- Un nombre de usuario y una contraseña
- El tipo de solicitud de autenticación
Según la prueba que realice, utilizará la dirección IP del servidor RADIUS o la del servidor virtual LB del ADC como destino. Por lo general, en el puerto 1812.
Establezca un secreto RADIUS para su cliente si va a enviar consultas directamente. Si envía consultas a través del servidor virtual LB del ADC para imitar las solicitudes de autenticación de Gateway, utilice el mismo secreto compartido que ha configurado para usar el ADC. Los campos de nombre de usuario y contraseña contienen las credenciales que espera que el ADC envíe al servidor RADIUS en su nombre. Por lo general, el campo “contraseña” contiene el valor del token de MFA del usuario.
Al hacer clic en “Enviar”, NTRadPing envía una solicitud de autenticación desde su equipo al destino especificado y muestra la respuesta (normalmente, Access-Accept o Access-Reject).
WireShark
Puede examinar la solicitud y la respuesta RADIUS dentro de WireShark si realiza un seguimiento de paquetes en Citrix ADC durante el proceso de autenticación.
WireShark es el analizador de protocolos de red más importante y ampliamente utilizado del mundo.WireShark es gratuito y está disponible sin aquí.
Puede encontrar los filtros RADIUS de WireShark aquí.
Puede encontrar los pasos para realizar un seguimiento de paquetes en un Citrix ADC aquí.
En WireShark, verá un paquete de solicitud de acceso seguido de una respuesta de aceptación de acceso, rechazo de acceso o desafío de acceso. Las respuestas faltantes a menudo indican un problema de comunicación, como la ausencia de reglas de firewall o que el servidor RADIUS no tiene una definición para el cliente.
Instrucciones de GUI
Suponiendo que la configuración de los servidores RADIUS ya esté completa, siga los siguientes pasos para la autenticación de MFA con Citrix Gateway:
Habilitar la función Autenticación, Autorización y Auditoría (AAA)
- Si la función AAA aún no está habilitada, vaya aSeguridad > AAA — Tráfico de aplicacionesy haga clic con el botón derecho para habilitarla.
Agregar servidores de autenticación
SeleccioneSeguridad > AAA: tráfico de aplicaciones, directivas, autenticación, políticas base, RADIUS.
Seleccione la pestaña Servidores y, a continuación, haga clic en “Agregar”.
Rellene los detalles de su servidor RADIUS
Citrix recomienda que no apunte a un servidor RADIUS individual, sino que apunte a su servidor virtual de equilibrio de carga. Por lo tanto, utilice el VIP de RADIUS LB como IP del servidor en esta página. La clave secreta debe coincidir con el valor del servidor RADIUS para el SNIP del ADC.SeleccioneSeguridad > AAA: tráfico de aplicaciones, directivas, autenticación, políticas base, LDAP. Luego, seleccione la pestaña “Servidores” y haga clic en “Agregar”.
Rellenar los detalles de su destino LDAP
Al igual que RADIUS, Citrix recomienda utilizar un servidor virtual de equilibrio de carga (LB) local como destino. Por lo tanto, utilice la VIP de su servidor virtual LDAP LB como la IP del servidor en esta página.
Agregar políticas de autenticación avanzadas
SeleccioneSeguridad > AAA: tráfico de aplicaciones, directivas, autenticación, políticas avanzadas, política. Luego, haga clic en “Agregar”.
Complete los detalles de la política como se muestra y, a continuación, haga clic en “Crear”.
Repita el paso para crear otra política para RADIUS y, a continuación, haga clic en “Crear”.
Creación de un servidor virtual AAA
Vaya aConfiguración > Seguridad > AAA - Tráfico de aplicaciones > Servidores virtuales.
- Introduzca la siguiente información y haga clic en Aceptar.
Haga clicen “Haga clic para seleccionar” para seleccionar el certificado de servidor
Haga clic en el botón de opción junto a un certificado para el servidor virtual AAA y, a continuación, haga clic en “Seleccionar”. El certificado elegido no importa porque no se puede acceder directamente a este servidor.
Haga clic en “Continuar” para cerrar la sección Certificado.
Haga clic en “Sin política de autenticación” dentro de “Directivas de autenticación avanzadas”.
Haga clicen “Haga clic para seleccionar” en el campo de “Seleccionar política”.
Seleccione la política “LDAP_pol” y haga clic en “Seleccionar”.
Haga clicen “Haga clic para seleccionar” en el campo de “Seleccionar factor siguiente”.
Haga clic en “Agregar” dentro de “Etiquetas de directiva de autenticación”.
Introduzca un nombre para la etiqueta de directiva que el ADC utiliza para activar la autenticación RADIUS y haga clic en “Continuar”.
Haga clicen “Haga clic para seleccionar” en el campo de “Seleccionar política”.
Seleccione la política “RADIUS_POL” y haga clic en “Seleccionar”.
Haga clic en “Vincular” en la parte inferior de la pantalla “Crear etiqueta de directiva de autenticación”.
Haga clic en “Listo” en la parte inferior de la pantalla “Etiqueta de directiva de autenticación”.
- Haga clic en “Bind” en la parte inferior de la pantalla “Policy Binding”.
Aplicar un esquema de inicio de sesión que presente al usuario un campo de nombre de usuario, contraseña y código de acceso
Haga clic en “Esquemas de inicio de sesión” en el menú “Configuración avanzada” del lado derecho.
Haga clic en “Sin esquema de inicio de sesión” para mostrar una ventana para seleccionar el esquema.
Haga clicen “Haga clic para seleccionar” en “Seleccionar política”.
Seleccione la política integrada “lschema_dual_factor_builtin” y haga clic en “Seleccionar”.
Haga clic en “Enlazar” y seleccione “Listo” para salir del menú de configuración del servidor virtual AAA.
Nota:La política “lschema_dual_factor_builtin” se agregó en el firmware de ADC 13.0. Si utilizas una versión anterior, necesitas crear una política.Puede encontrar instrucciones que explican cómo crear una política aquí.
Configure el servidor virtual Gateway para usar el nuevo servidor AAA
Seleccione “Citrix Gateway, Virtual Servers”, luego seleccione el servidor virtual Gateway y haga clic en”Modificar”.
Seleccione “Perfil de autenticación” en el menú “Configuración avanzada” del lado derecho.
Seleccione “Agregar” en la sección “Perfil de autenticación”.
Introduzca un nombre para el nuevo perfil de autenticación como se muestra y, a continuación, haga clicen “Haga clic para seleccionar” en “Servidor virtual de autenticación”.
Seleccione el servidor virtual AAA que creamos anteriormente y haga clic en “Seleccionar”.
Realizar pruebas
Ahora está listo para usar la autenticación multifactor en su servidor virtual de Citrix Gateway.
Si se encuentra con algún problema de autenticación, consulte la sección de solución de problemas de este documento.
Instrucciones de CLI
Si prefiere configurar el ADC mediante la CLI, el siguiente script de configuración completa todos los pasos necesarios.
# 1. Enable AAA en ns feature aaa # 2. Creating LDAP Server add authentication ldapAction LDAP_for_Gateway -serverIP LDAP_LB_IP -serverPort 636 -ldapBase "DC=citrix,DC=lab" -ldapBindDn readonly@citrix.lab -ldapBindDnPassword PASSWORD -ldapLoginName sAMAccountName -groupAttrName memberOf # 3. Creating LDAP Policy add authentication Policy LDAP_Pol -rule true -action LDAP_for_Gateway # 4. Creating RADIUS Server add authentication radiusAction RADIUS_Server -serverIP 192.168.1.100 -serverPort 1812 -radKey sharedsecret # 5. Create RADIUS Policy add authentication Policy RADIUS_Pol -rule true -action RADIUS_Server # 6. Create a PolicyLabel triggering the RADIUS Policy add authentication policylabel RADIUS_PolicyLabel -loginSchema LSCHEMA_INT bind authentication policylabel RADIUS_PolicyLabel -policyName RADIUS_Pol -priority 100 # 7. Create the AAA virtual server add authentication vserver nFactorAuthvServer SSL 0.0.0.0 # 8. Bind an SSL certificate to the AAA virtual server bind ssl vserver nFactorAuthvServer -certkeyName "Example Cert" # 9. Bind the LDAP policy and RADIUS PolicyLabel to the AAA virtual server bind authentication vserver nFactorAuthvServer -policy LDAP_Pol -priority 100 -nextFactor RADIUS_PolicyLabel -gotoPriorityExpression NEXT # 10. Bind the builtin Login Schema for dual factor authentication to the AAA virtual server bind authentication vserver nFactorAuthvServer -policy lschema_dual_factor_builtin -priority 100 -gotoPriorityExpression END # 11. Create an Authentication Profile attached to the AAA virtual server add authentication authnProfile MFA_Authentication_Profile -authnVsName nFactorAuthvServer # 12. Configure your existing Gateway virtual server to use the Authentication Profile set vpn vserver "Steven Demo Gateway" -authnprofile "MFA_Authentication_Profile"
En este artículo
- 可以看看general
- Descripción general de la comunicación
- Herramientas de solución de problemas
- Instrucciones de GUI
- Agregar políticas de autenticación avanzadas
- Creación de un servidor virtual AAA
- Aplicar un esquema de inicio de sesión que presente al usuario un campo de nombre de usuario, contraseña y código de acceso
- Configure el servidor virtual Gateway para usar el nuevo servidor AAA
- Realizar pruebas
- Instrucciones de CLI