Compatibilidad con OTP nativa para la autenticación
Citrix ADC admite contraseñas de un solo uso (OTP) sin tener que usar un servidor de terceros. La contraseña de un solo uso es una opción muy segura para autenticarse en servidores seguros, ya que el número o código de acceso generado es aleatorio. Anteriormente, firmas especializadas, como RSA con dispositivos específicos que generan números aleatorios, ofrecían los OTP.
Además de reducir los gastos de capital y operativos, esta función mejora el control del administrador al mantener toda la configuración en el dispositivo Citrix ADC.
Nota:
Como ya no se necesitan servidores de terceros, el administrador de Citrix ADC debe configurar una interfaz para administrar y validar los dispositivos de los usuarios.
El usuario debe estar registrado con un servidor virtual Citrix ADC para utilizar la solución OTP. El registro solo es necesario una vez por dispositivo único y se puede restringir a determinados entornos. La configuración y validación de un usuario registrado es similar a la configuración de una directiva de autenticación adicional.
Ventajas de tener función de OTP nativa
- Reduce los costes operativos al eliminar la necesidad de tener una infraestructura adicional en un servidor de autenticación además de Active Directory.
- Consolida la configuración solo en el dispositivo Citrix ADC, lo que ofrece un gran control a los administradores.
- Elimina la dependencia del cliente de un servidor de autenticación adicional para generar un número esperado por los clientes.
flujo de trabajo OTP nativo
La solución OTP nativa es un proceso doble y el flujo de trabajo se clasifica de la siguiente manera:
- Registro de dispositivos
- Inicio de sesión de usuario final
Importante:
Puede omitir el proceso de registro si utiliza soluciones de terceros o administra otros dispositivos además del dispositivo Citrix ADC. La cadena final que agregue debe tener el formato especificado por Citrix ADC.
En la siguiente ilustración se muestra el flujo de registro de dispositivos para registrar un nuevo dispositivo para recibir OTP.
Nota: El registro del dispositivo se puede realizar mediante cualquier número de factores. El factor único (como se especifica en la ilustración anterior) se utiliza como ejemplo para explicar el proceso de registro del dispositivo.
En la siguiente ilustración se muestra la verificación de OTP a través del dispositivo registrado.
En la siguiente ilustración se muestra el flujo de administración y registro de dispositivos.
En la siguiente ilustración se muestra el flujo de usuario final de la función OTP nativa.
Requisitos previos
Para utilizar la función OTP nativa, asegúrese de que se cumplen los siguientes requisitos previos.
- La versión de la función Citrix ADC es 12.0, compilación 51.24 y versiones posteriores.
- La licencia Advanced o Premium Edition está instalada en Citrix Gateway.
- Citrix ADC está configurado con IP de administración y se puede acceder a la consola de administración mediante un explorador y una línea de comandos.
- Citrix ADC está configurado con un servidor virtual de autenticación, autorización y auditoría para autenticar a los usuarios. Para obtener más información, consulte Servidor virtual de autenticación.
- El dispositivo Citrix ADC se configura con Unified Gateway y el perfil de autenticación, autorización y auditoría se asigna al servidor virtual Gateway.
- La solución OTP nativa está restringida al flujo de autenticación nFactor. Se requieren directivas avanzadas para configurar la solución. Para obtener más información, consulte Configuración de la autenticación nFactor.
Asegúrese también de lo siguiente para Active Directory:
- Longitud mínima de atributo de 256 caracteres.
- El tipo de atributo debe ser ‘DirectoryString’, como UserParameters. Estos atributos pueden contener valores de cadena.
- El tipo de cadena de atributos debe ser Unicode, si el nombre del dispositivo no está escrito en inglés.
- El administrador LDAP de Citrix ADC debe tener acceso de escritura al atributo AD seleccionado.
- El dispositivo Citrix ADC y la máquina cliente deben sincronizarse con un servidor horario de red común.
Configurar OTP nativo mediante la GUI
El registro OTP nativo no es solo una autenticación de un solo factor. Las siguientes secciones le ayudan a configurar la autenticación de un solo factor y de segundo factor.
Crear esquema de inicio de sesión para el primer factor
- Vaya a Seguridad > Tráfico de aplicaciones AAA > Esquema de inicio de sesión.
- Vaya a Perfiles y haga clic en Agregar.
- En la página Crear esquema de inicio de sesión de autenticación, escriba lschema_single_auth_manage_otp en el campo Nombre y haga clic en Modificar junto a noschema.
- Haga clic en la carpeta LoginSchema.
- Desplácese hacia abajo para seleccionar SingleAuthManageOTP.xml y haga clic en Seleccionar.
- Haga clic en Crear.
- Haga clic en Directivas y haga clic en Agregar.
-
En la pantalla Crear directiva de esquema de inicio de sesión de autenticación, introduzca los siguientes valores.
Nombre: lpol_single_auth_manage_otp_by_url
Perfil: Seleccione lschema_single_auth_manage_otp de la lista.
Regla: HTTP.REQ.COOKIE.VALUE (“NSC_TASS”).EQ (“manageotp”)
Configurar el servidor virtual de autenticación, autorización y auditoría
-
Vaya a Seguridad > AAA — Tráfico de aplicaciones > Servidores virtuales de autenticación. Haga clic para modificar el servidor virtual existente. Para obtener más información, consulte Servidor virtual de autenticación.
- Haga clic en el icono + situado junto a Esquemas de inicio de sesión en Configuración avanzada en el panel derecho.
- Seleccione Esquema sin inicio de sesión.
- Haga clic en la flecha y seleccione la directiva lpol_single_auth_manage_otp_by_url, haga clic en Seleccionar y, a continuación, en Vincular.
- Desplácese hacia arriba y seleccione 1 Directiva de autenticación en Directiva de autenticación avanzada.
- Haga clic con el botón derecho en la directiva nFactor y seleccione Modificar enlace. Haga clic con el botón derecho en la directiva de nFactor ya configurada o consulte nFactor para crear una y seleccionar Modificar enlace.
- Haga clic en la flecha de Seleccionar siguiente factor para seleccionar una configuración existente o haga clic en Agregar para crear un factor.
-
En la pantalla Crear etiqueta de directiva de autenticación, escriba lo siguiente y haga clic en Continuar:
Nombre: manage_otp_flow_label
Esquema de inicio de sesión: Lschema_Int
-
En la pantalla Etiqueta de directiva de autenticación, haga clic en Agregar para crear una directiva.
Create a policy for a normal LDAP server.
-
En la pantalla Crear directiva de autenticación, introduzca lo siguiente:
Nombre: auth_pol_ldap_native_otp
- Seleccione el tipo de acción como LDAP mediante la lista Tipo de acción.
-
En el campo Acción, haga clic en Agregar para crear una acción.
Create the first LDAP action with authentication enabled to be used for single factor.
-
En la página Crear servidor LDAP de autenticación, seleccione el botón de opción IP del servidor, desmarque la casilla situada junto a Autenticación, introduzca los siguientes valores y seleccione Probar conexión. A continuación se muestra un ejemplo de configuración.
Nombre: ldap_native_otp
Dirección IP: 192.168.xx.xx
DN base: DC = formación, DC = laboratorio
Administrador: Administrator@training.lab
Contraseña:
xxxxx
Create a policy for OTP .
-
En la pantalla Crear directiva de autenticación, introduzca lo siguiente:
Nombre: auth_pol_ldap_otp_action
- Seleccione el tipo de acción como LDAP mediante la lista Tipo de acción.
-
En el campo Acción, haga clic en Agregar para crear una acción.
Create the second LDAP action to set OTP authenticator with OTP secret configuration and authentication unchecked.
-
En la página Crear servidor LDAP de autenticación, seleccione el botón de opción IP del servidor, desmarque la casilla situada junto a Autenticación, introduzca los siguientes valores y seleccione Probar conexión. A continuación se muestra un ejemplo de configuración.
Nombre: ldap_otp_action
Dirección IP: 192.168.xx.xx
DN base: DC = formación, DC = laboratorio
Administrador: Administrator@training.lab
Contraseña:
xxxxx
- Desplácese hacia abajo hasta la sección Otros ajustes. Utilice el menú desplegable para seleccionar las siguientes opciones. Atributo de nombre de inicio de sesión del servidor como nuevo y escriba userprincipalname.
- Utilice el menú desplegable para seleccionar Atributo de nombre de SSO como Nuevo y escriba userprincipalname.
- Introduzca “UserParameters” en el campo OTP Secret y haga clic en Más.
-
Introduzca los siguientes atributos.
Atributo 1 = mail Atributo 2 = Atributo objectGUID 3 = immutableID
- Haga clic en Aceptar.
- En la página Crear directiva de autenticación, establezca la expresión en true y haga clic en Crear.
- En la página Crear etiqueta de directiva de autenticación, haga clic en Vincular y haga clic en Listo.
- En la página Enlace de directivas, haga clic en Vincular.
-
En la página Directiva de autenticación, haga clic en Cerrar y haga clic en Listo.
Create OTP for OTP verification.
-
En la pantalla Crear directiva de autenticación, introduzca lo siguiente:
Nombre: auth_pol_ldap_otp_verify
- Seleccione el tipo de acción como LDAP mediante la lista Tipo de acción.
-
En el campo Acción, haga clic en Agregar para crear una acción.
Create the third LDAP action to verify OTP.
-
En la página Crear servidor LDAP de autenticación, seleccione el botón de opción IP del servidor, desmarque la casilla situada junto a Autenticación, introduzca los siguientes valores y seleccione Probar conexión. A continuación se muestra un ejemplo de configuración.
Nombre: ldap_verify_otp
Dirección IP: 192.168.xx.xx
DN base: DC = formación, DC = laboratorio
Administrador: Administrator@training.lab
Contraseña:
xxxxx
- Desplácese hacia abajo hasta la sección Otros ajustes. Utilice el menú desplegable para seleccionar las siguientes opciones. Atributo de nombre de inicio de sesión del servidor como nuevo y escriba userprincipalname.
- Utilice el menú desplegable para seleccionar Atributo de nombre de SSO como Nuevo y escriba userprincipalname.
- Introduzca “UserParameters” en el campo OTP Secret y haga clic en Más.
-
Introduzca los siguientes atributos.
Atributo 1 = mail Atributo 2 = Atributo objectGUID 3 = immutableID
- Haga clic en Aceptar.
- En la página Crear directiva de autenticación, establezca la expresión en true y haga clic en Crear.
- En la página Crear etiqueta de directiva de autenticación, haga clic en Vincular y haga clic en Listo.
- En la página Enlace de directivas, haga clic en Vincular.
- En la página Directiva de autenticación, haga clic en Cerrar y haga clic en Listo.
Probablemente no tenga una directiva de autenticación avanzada para su servidor LDAP normal. Cambie el tipo de acción a LDAP. Seleccione su servidor LDAP normal, que es el que tiene la autenticación habilitada. Introduzca true como expresión. Utiliza la sintaxis predeterminada en lugar de la sintaxis clásica. Haga clic en Crear.
Nota:
El servidor virtual de autenticación debe estar vinculado al tema del portal RFWebUI. Enlace un certificado de servidor al servidor. La IP del servidor ‘1.2.3.5’ debe tener un FQDN correspondiente, es decir, otpauth.server.com, para su uso posterior.
Crear esquema de inicio de sesión para OTP de segundo factor
- Vaya a Seguridad > Tráfico de aplicaciones AAA > Servidores virtuales. Seleccione el servidor virtual que va a modificar.
- Vaya hacia abajo y seleccione 1 esquema de inicio de sesión.
- Haga clic en Add Binding.
- En la sección Vinculación de directivas, haga clic en Agregar para agregar una directiva.
- En la página Crear directiva de esquema de inicio de sesión de autenticación, introduzca un nombre y haga clic en Agregar.
- En la página Crear esquema de inicio de sesión de autenticación, introduzca el nombre y haga clic en el icono del lápiz situado junto a noschema.
- Haga clic en la carpeta LoginSchema, seleccione DualAuthManageOTP.xmly, a continuación, haga clic en Seleccionar.
- Haga clic en Más y desplácese hacia abajo.
- En el campo Índice de credenciales de contraseña, escriba 1. Esto hace que nFactor guarde la contraseña del usuario en el atributo n.º 1 de autenticación, autorización y auditoría, que se puede utilizar más adelante en una directiva de tráfico para iniciar sesión con Single Sign-On en StoreFront. Si no lo hace, Citrix Gateway intenta utilizar el código de acceso para autenticarse en StoreFront, lo que no funciona.
- Haga clic en Crear.
- En la sección Regla, escriba True. Haga clic en Crear.
- Haga clic en Bind.
- Observe los dos factores de autenticación. Haga clic en Cerrar y haga clic en Listo.
Directiva de tráfico para Single Sign-On
- Vaya a Citrix Gateway > Directivas > Tráfico.
- En la ficha Perfiles de tráfico, haga clic en Agregar.
- Introduzca el nombre del perfil de tráfico.
-
Desplácese hacia abajo, en el cuadro Expresión de contraseña de SSO, introduzca lo siguiente y haga clic en Crear. Aquí es donde usamos el atributo de contraseña del esquema de inicio de sesión especificado para el segundo factor OTP.
AAA.USER.ATTRIBUTE(1)
-
En la ficha Directiva de tráfico, haga clic en Agregar.
-
En el campo Nombre, introduzca un nombre para la directiva de tráfico.
-
En el campo Solicitud de perfil, seleccione el perfil de tráfico que ha creado.
-
En el cuadro Expresión, escriba True. Si su servidor virtual de Citrix Gateway permite una VPN completa, cambie la expresión a la siguiente.
http.req.method.eq(post)||http.req.method.eq(get) && false
-
Haga clic en Crear.
-
Enlace la directiva de tráfico a un servidor virtual VPN.
- Vaya a Seguridad > AAA: Tráfico de aplicaciones > Perfil de autenticación.
- Configure el perfil de autenticación seleccionando el servidor virtual NetScaler Gateway y, a continuación, haga clic en Aceptar.
- Vaya a Citrix Gateway > Servidores virtuales de Citrix Gateway y seleccione el servidor virtual de Citrix Gateway. Aparece la página Servidor virtual VPN.
- En la sección Directivas, haga clic en el icono +.
- Seleccione el tipo de directiva como Tráfico y haga clic en Continuar.
- Seleccione la directiva de tráfico y haga clic en Vincular.
- Haga clic en Listo.
Configurar la directiva de cambio de contenido para administrar OTP
Las siguientes configuraciones son necesarias si utiliza Unified Gateway.
-
Vaya a Administración del tráfico > Cambio de contenido > Directivas. Seleccione la directiva de cambio de contenido, haga clic con el botón derecho y seleccione Modificar.
-
Modifique la expresión para evaluar la siguiente instrucción OR y haga clic en Aceptar:
is_vpn_url || HTTP.REQ.URL.CONTAINS("manageotp")
Configurar OTP nativo mediante la CLI
Debe disponer de la siguiente información para configurar la página de administración de dispositivos OTP:
- IP asignada al servidor virtual de autenticación
- FQDN correspondiente a la IP asignada
- Certificado de servidor para servidor virtual de autenticación
Nota:
La OTP nativa es solo una solución basada en web.
Para configurar la página de registro y administración de dispositivos OTP
Crear servidor virtual de autenticación
```
add authentication vserver authvs SSL 1.2.3.5 443
bind authentication vserver authvs -portaltheme RFWebUI
bind ssl vserver authvs -certkeyname otpauthcert
<!--NeedCopy--> ```
Nota:
El servidor virtual de autenticación debe estar enlazado al tema del portal RFWebUI. Enlace un certificado de servidor al servidor. La IP del servidor ‘1.2.3.5’ debe tener un FQDN correspondiente, es decir, otpauth.server.com, para su uso posterior.
Para crear una acción de inicio de sesión LDAP
add authentication ldapAction <LDAP ACTION NAME> -serverIP <SERVER IP> - serverPort <SERVER PORT> -ldapBase <BASE> -ldapBindDn <AD USER> -ldapBindDnPassword <PASSWO> -ldapLoginName <USER FORMAT>
Ejemplo:
add authentication ldapAction ldap_logon_action -serverIP 1.2.3.4 -serverPort 636 -ldapBase "OU=Users,DC=server,DC=com" -ldapBindDn administrator@ctxnsdev.com -ldapBindDnPassword PASSWORD -ldapLoginName userprincipalname
Para agregar la directiva de autenticación para el inicio de sesión de LDAP
add authentication Policy auth_pol_ldap_logon -rule true -action ldap_logon_action
Para presentar la interfaz de usuario a través de LoginSchema
Mostrar campo de nombre de usuario y campo de contraseña a los usuarios al iniciar sesión
add authentication loginSchema lschema_single_auth_manage_otp -authenticationSchema "/nsconfig/loginschema/LoginSchema/SingleAuthManageOTP.xml"
Mostrar la página de registro y administración de dispositivos
Citrix recomienda dos formas de mostrar la pantalla de registro y administración del dispositivo: URL o nombre de host.
Nota:
Actualmente, el registro y la administración del dispositivo solo se pueden realizar mediante un explorador web.
-
Uso de URL
Cuando la URL contiene ‘/manageotp’
add authentication loginSchemaPolicy lpol_single_auth_manage_otp_by_url -rule "http.req.cookie.value("NSC_TASS").contains("manageotp")" -action lschema_single_auth_manage_otp
bind authentication vserver authvs -policy lpol_single_auth_manage_otp_by_url -priority 10 -gotoPriorityExpression END
-
Uso del nombre de host
Cuando el nombre de host es ‘alt.server.com’
add authentication loginSchemaPolicy lpol_single_auth_manage_otp_by_host -rule "http.req.header("host").eq("alt.server.com")" -action lschema_single_auth_manage_otp
bind authentication vserver authvs -policy lpol_single_auth_manage_otp_by_host -priority 20 -gotoPriorityExpression END
Para configurar la página de inicio de sesión de usuario mediante la CLI
Debe disponer de la siguiente información para configurar la página Inicio de sesión de usuario:
- IP de un servidor virtual de equilibrio de carga
- FQDN correspondiente para el servidor virtual de equilibrio de carga
-
Certificado de servidor para el servidor virtual de equilibrio de carga
bind ssl vserver lbvs_https -certkeyname lbvs_server_cert <!--NeedCopy-->
El servicio back-end en el equilibrio de carga se representa de la siguiente manera:
```
add service iis_backendsso_server_com 1.2.3.210 HTTP 80
bind lb vserver lbvs_https iis_backendsso_server_com
<!--NeedCopy--> ```
Para crear una acción de validación de código de acceso OTP
add authentication ldapAction <LDAP ACTION NAME> -serverIP <SERVER IP> -serverPort <SERVER PORT> -ldapBase <BASE> -ldapBindDn <AD USER> -ldapBindDnPassword <PASSWORD> -ldapLoginName <USER FORMAT> -authentication DISABLED -OTPSecret <LDAP ATTRIBUTE>
<!--NeedCopy-->
Ejemplo:
add authentication ldapAction ldap_otp_action -serverIP 1.2.3.4 -serverPort 636 -ldapBase "OU=Users,DC=server,DC=com" -ldapBindDn administrator@ctxnsdev.com -ldapBindDnPassword PASSWORD -ldapLoginName userprincipalname -authentication DISABLED -OTPSecret userParameters
<!--NeedCopy-->
Importante:
La diferencia entre el inicio de sesión LDAP y la acción OTP es la necesidad de inhabilitar la autenticación e introducir un parámetro nuevo
OTPSecret
. No utilice el valor del atributo AD.
Para agregar directiva de autenticación para la validación de código de acceso OTP
add authentication Policy auth_pol_otp_validation -rule true -action ldap_otp_action
Para presentar la autenticación de dos factores a través de LoginSchema
Agregue la interfaz de usuario para la autenticación de dos factores.
add authentication loginSchema lscheme_dual_factor -authenticationSchema "/nsconfig/loginschema/LoginSchema/DualAuth.xml"
add authentication loginSchemaPolicy lpol_dual_factor -rule true -action lscheme_dual_factor
Para crear un factor de validación de código de acceso mediante la etiqueta de directiva
Crear una etiqueta de directiva de flujo OTP de administración para el siguiente factor (el primer factor es inicio de sesión LDAP)
add authentication loginSchema lschema_noschema -authenticationSchema noschema
add authentication policylabel manage_otp_flow_label -loginSchema lschema_noschema
Para enlazar la directiva OTP a la etiqueta de directiva
bind authentication policylabel manage_otp_flow_label -policyName auth_pol_otp_validation -priority 10 -gotoPriorityExpression NEXT
Para enlazar el flujo de la interfaz de usuario
Enlazar el inicio de sesión LDAP seguido de la validación OTP con el servidor virtual de autenticación.
bind authentication vserver authvs -policy auth_pol_ldap_logon -priority 10 -nextFactor manage_otp_flow_label -gotoPriorityExpression NEXT
bind authentication vserver authvs -policy lpol_dual_factor -priority 30 -gotoPriorityExpression END
Para crear una directiva de tráfico para Single Sign-On y vincularla a un servidor virtual VPN
add vpn trafficAction vpn_html_pol http -userExpression aaa.user.attribute(1) -passwdExpression aaa.user.attribute(2)
add vpn trafficpolicy tf1 'http.req.method.eq(post)||http.req.method.eq(get) && false' vpn_html_pol
bind vpn vserver vpn1 -policy tf1 -priority 10
<!--NeedCopy-->
Registre su dispositivo con Citrix ADC
- En el explorador web, navegue hasta su FQDN de Citrix ADC (primera IP orientada al público), con el sufijo /manageotp. Por ejemplo, inicie sesión en https://otpauth.server.com/manageotp con credenciales de usuario.
-
Haga clic en el ícono + para agregar un dispositivo.
- Introduzca el nombre de un dispositivo y presione Ir. Aparece un código de barras en la pantalla.
- Haga clic en Iniciar configuración y luego haga clic en Escanear código de barras
-
Coloque la cámara del dispositivo sobre el código QR. Si quiere, puede introducir el código.
Nota:
El código QR que se muestra es válido durante 3 minutos.
-
Una vez escaneado correctamente, se le presenta un código sensible al tiempo de 6 dígitos que se puede utilizar para iniciar sesión.
- Para realizar la prueba, haga clic en Listo en la pantalla QR y, a continuación, haga clic en la marca de verificación verde de la derecha.
- Seleccione su dispositivo en el menú desplegable e introduzca el código de Google Authenticator (debe ser azul, no rojo) y haga clic en Ir.
- Asegúrate de cerrar la sesión mediante el menú desplegable de la esquina superior derecha de la página.
Inicie sesión en Citrix ADC mediante la OTP
- Vaya a su primera URL pública e introduzca su OTP de Google Authenticator para iniciar sesión.
-
Autenticación en la página inicial de Citrix ADC.
En este artículo
- Ventajas de tener función de OTP nativa
- flujo de trabajo OTP nativo
- Requisitos previos
- Configurar OTP nativo mediante la GUI
- Configurar OTP nativo mediante la CLI
- Mostrar la página de registro y administración de dispositivos
- Registre su dispositivo con Citrix ADC
- Inicie sesión en Citrix ADC mediante la OTP