Citrix ADC

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 una sola vez es una opción altamente segura para autenticar servidores seguros ya que el número o el código de acceso generado es aleatorio. Anteriormente, las empresas especializadas, como RSA con dispositivos específicos que generan números aleatorios ofrecían los OTP. Este sistema debe estar en comunicación constante con el cliente para generar un número esperado por el servidor.

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

Dado que ya no se necesitan servidores de terceros, el administrador de Citrix ADC tiene que configurar una interfaz para administrar y validar los dispositivos de usuario.

El usuario debe estar registrado con un servidor virtual Citrix ADC para utilizar la solución OTP. El registro solo se requiere una vez por dispositivo único y puede restringirse a ciertos 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 soporte para OTP nativos

  • Reduce el coste operativo 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 del usuario final

Importante: Puede omitir el proceso de registro si utiliza soluciones de terceros o administra otros dispositivos aparte del dispositivo Citrix ADC. La cadena final que agregue debe estar en el formato especificado por Citrix ADC.

La siguiente ilustración muestra el flujo de registro del dispositivo para registrar un nuevo dispositivo para recibir OTP.

Flujo de trabajo 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.

La siguiente ilustración muestra la verificación de OTP a través del dispositivo registrado.

Flujo de trabajo de verificación OTP

En la siguiente ilustración se muestra el flujo de administración y registro de dispositivos.

Registro y administración de dispositivos

En la siguiente ilustración se muestra el flujo de usuario final para la función OTP nativo.

Flujo de trabajo del usuario final

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 de edición avanzada o Premium está instalada en Citrix Gateway.
  • Citrix ADC se configura 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 AAA
  • 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 OTP nativo.

Asegúrese también de lo siguiente para Active Directory:

  • Una 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 atributo debe ser Unicode, si el nombre del dispositivo está en caracteres no ingleses.
  • El administrador de Citrix ADC LDAP debe tener acceso de escritura al atributo AD seleccionado.
  • El dispositivo Citrix ADC y el equipo cliente deben sincronizarse con un servidor de hora de red común.

Configurar OTP nativo mediante la GUI

El registro OTP nativo no es solo una autenticación de factor único. Las siguientes secciones le ayudan a configurar la autenticación de factor único y segundo.

Crear esquema de inicio de sesión para el primer factor

  1. Vaya a Seguridad AAA > Tráfico de aplicaciones > Esquema de inicio de sesión.
  2. Vaya a Perfiles y haga clic en Agregar.
  3. 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.
  4. Haga clic en la carpeta LoginSchema.
  5. Desplácese hacia abajo para seleccionar SingleAuth.xml y haga clic en Seleccionar.
  6. Haga clic en Crear.
  7. Haga clic en Directivas y haga clic en Agregar.
  8. 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

  1. Vaya a Seguridad > AAA: Tráfico de aplicaciones > Servidores virtuales de autenticación. Haga clic aquí para modificar el servidor virtual existente. Para obtener más información, consulte AAA

  2. Haga clic en el icono + situado junto a Esquemas de inicio de sesión en Configuración avanzada en el panel derecho.
  3. Seleccione Sin esquema de inicio de sesión.
  4. Haga clic en la flecha y seleccione la directiva lpol_single_auth_manage_otp_by_url, haga clic en Seleccionary, a continuación, en Vincular.
  5. Desplácese hacia arriba y seleccione 1 Directiva de autenticación en Directiva de autenticación avanzada.
  6. 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.
  7. Haga clic en la flecha situada en Seleccionar siguiente factor, para seleccionar una configuración existente o haga clic en Agregar para crear un nuevo factor.
  8. 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 iniciode sesión: Lschema_Int

  9. 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.

  10. En la pantalla Crear directiva de autenticación, escriba lo siguiente:

    Nombre: auth_pol_ldap_native_otp

  11. Seleccione el tipo de acción como LDAP mediante la lista Tipo de acción .
  12. 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.

  13. En la página Crear servidor LDAP de autenticación, seleccione el botón de opción IP del servidor, anule la selección de la casilla de verificación 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ñaxxxxx

    Create a policy for OTP .

  14. En la pantalla Crear directiva de autenticación, escriba lo siguiente:

    Nombre: auth_pol_ldap_otp_action

  15. Seleccione el tipo de acción como LDAP mediante la lista Tipo de acción .
  16. 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.

  17. En la página Crear servidor LDAP de autenticación, seleccione el botón de opción IP del servidor, anule la selección de la casilla de verificación 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ñaxxxxx

  18. 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.
  19. Utilice el menú desplegable para seleccionar Atributo de nombre de SSO como Nuevo y escriba userprincipalname.
  20. Introduzca “UserParameters” en el campo OTP Secret y haga clic en Más.
  21. Introduzca los siguientes atributos.

    Atributo 1 = mail Atributo 2 = ObjectGUID Atributo 3 = ImmutableID

  22. Haga clic en Aceptar.
  23. En la página Crear directiva de autenticación, establezca la expresión en true y haga clic en Crear.
  24. En la página Crear etiqueta de directiva de autenticación, haga clic en Vincular y haga clic en Listo.
  25. En la página Enlace de directivas, haga clic en Vincular.
  26. En la página Directiva de autenticación, haga clic en Cerrar y haga clic en Listo.

    Create OTP for OTP verification.

  27. En la pantalla Crear directiva de autenticación, escriba lo siguiente:

    Nombre: auth_pol_ldap_otp_verify

  28. Seleccione el tipo de acción como LDAP mediante la lista Tipo de acción .
  29. En el campo Acción, haga clic en Agregar para crear una acción.

    Create the third LDAP action to verify OTP.

  30. En la página Crear servidor LDAP de autenticación, seleccione el botón de opción IP del servidor, anule la selección de la casilla de verificación 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ñaxxxxx

  31. 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.
  32. Utilice el menú desplegable para seleccionar Atributo de nombre de SSO como Nuevo y escriba userprincipalname.
  33. Introduzca “UserParameters” en el campo OTP Secret y haga clic en Más.
  34. Introduzca los siguientes atributos.

    Atributo 1 = mail Atributo 2 = ObjectGUID Atributo 3 = ImmutableID

  35. Haga clic en Aceptar.
  36. En la página Crear directiva de autenticación, establezca la expresión en true y haga clic en Crear.
  37. En la página Crear etiqueta de directiva de autenticación, haga clic en Vincular y haga clic en Listo.
  38. En la página Enlace de directivas, haga clic en Vincular.
  39. 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 enlazado al tema del portal RFWebUI. Enlazar 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 el segundo factor OTP

  1. Vaya a Seguridad > AAA: Tráfico de aplicaciones > Servidores virtuales. Seleccione el servidor virtual que quiere modificar.
  2. Desplácese hacia abajo y seleccione 1 Esquema de inicio de sesión.
  3. Haga clic en Agregar enlace.
  4. En la sección Vinculación de directivas, haga clic en Agregar para agregar una directiva.
  5. En la página Crear directiva de esquema de inicio de sesión de autenticación, escriba Nombre como OTP y haga clic en Agregar para crear un perfil.
  6. En la página Crear esquema de inicio de sesión de autenticación, escriba Nombre como OTP y haga clic en el icono de lápiz junto a noschema.
  7. Haga clic en la carpeta LoginSchema, seleccione DualAuthManageOTP.xmly, a continuación, haga clic en Seleccionar.
  8. Haga clic en Más y desplázate abajo
  9. En el campo Índice de credenciales de contraseña, escriba 1. Esto hace que nFactor guarde la contraseña del usuario en el atributo AAA #1, que se puede utilizar más adelante en una directiva de tráfico para iniciar sesión único en StoreFront. Si no lo hace, Citrix Gateway intenta utilizar el código de acceso para autenticarse en StoreFront, lo que no funciona.
  10. Haga clic en Crear.
  11. En la sección Regla, escriba True. Haga clic en Crear.
  12. Haga clic en Vincular.
  13. Observe los dos factores de autenticación. Haga clic en Cerrar y haga clic en Listo.

Directiva de tráfico para inicio de sesión único

  1. Vaya a Citrix Gateway > Directivas > Tráfico
  2. En la ficha Perfiles de tráfico, haga clic en Agregar.
  3. Introduzca un nombre para el perfil de tráfico de OTP.
  4. Desplázate 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.

    http.REQ.USER.ATTRIBUTE(1)

  5. En la ficha Directivas de tráfico, haga clic en Agregar.

  6. En el campo Nombre, introduzca un nombre para la directiva de tráfico.

  7. En el campo Solicitud de perfil, seleccione el perfil de tráfico que ha creado.

  8. En el cuadro Expresión, escriba True. Si su servidor virtual Citrix Gateway permite una VPN completa, cambie la expresión a la siguiente.

    http.req.method.eq(post)||http.req.method.eq(get) && false

  9. Haga clic en Crear.

Configurar la directiva de cambio de contenido para administrar OTP

Las siguientes configuraciones son necesarias si utiliza Unified Gateway.

  1. 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.

  2. Modifique la expresión para evaluar la siguiente instrucción OR y haga clic en Aceptar:

IS_VPN_URL||HTTP.req.url.Contiene (“manageotp”)

Configurar OTP nativo mediante la CLI

Debe tener 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: Native OTP es una solución basada únicamente en la 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

Nota: El servidor virtual de autenticación debe estar enlazado al tema del portal RFWebUI. Enlazar 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 directiva de autenticación para el inicio de sesión 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 administración y registro del dispositivo: URL o nombre de host.

  • 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
  • Usar 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 tener la siguiente información para configurar la página Inicio de sesión de usuario:

  • IP para 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

    enlazar ssl vserver lbvs_https -certkeyname lbvs_server_cert

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

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>`

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

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 nuevo parámetro 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

Registre su dispositivo con Citrix ADC

  1. Desplácese hasta su Citrix ADC FQDN (primera IP pública), con un sufijo /manageotp. Por ejemplo,https://otpauth.server.com/manageotp Iniciar sesión con credenciales de usuario.
  2. Haga clic en el icono + para agregar un dispositivo.

    Página de inicio de sesión de gateway

  3. Introduzca un nombre de dispositivo y pulse Ir. Aparecerá un código de barras en la pantalla.
  4. Haga clic en Iniciar configuración y, a continuación, haga clic en Escanear código de
  5. Coloque el cursor sobre la cámara del dispositivo sobre el código QR. Opcionalmente, puede introducir el código de 16 dígitos.

    Código QR

    Nota: El código QR mostrado es válido durante 3 minutos.

  6. Cuando el escaneo se realiza correctamente, se le presenta un código sensible al tiempo de 6 dígitos que se puede utilizar para iniciar sesión.

    Mensaje de éxito de inicio de sesión

  7. Para probar, haga clic en Listo en la pantalla QR y, a continuación, haga clic en la marca de verificación verde a la derecha.
  8. Seleccione su dispositivo en el menú desplegable, introduzca el código de Google Authenticator (debe ser azul, no rojo) y haga clic en Ir.
  9. Asegúrate de cerrar sesión mediante el menú desplegable situado en la esquina superior derecha de la página.

Inicie sesión en Citrix ADC mediante el OTP

  1. Navegue a la primera URL pública e introduzca su OTP desde Google Authenticator para iniciar sesión.
  2. Autenticar en la página de presentación de Citrix ADC.

    Página Autenticación de ADC