Citrix Gateway

Compatibilidad con OTP nativa para la autenticación

Citrix Gateway 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. 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:

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 en un servidor virtual de Citrix Gateway 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 la 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 distintos 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.

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.

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

Flujo de trabajo de verificación OTP

Requisitos previos

Para utilizar la función OTP nativa, asegúrese de que se cumplan 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 Gateway 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.
  • 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 el artículo CTX222713.

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

  1. Vaya a Seguridad AAA > Tráfico de aplicaciones > Esquema de iniciode 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 valores siguientes.

    Nombre: lpol_single_auth_manage_otp_by_url Perfil: Seleccione lpol_single_auth_manage_otp_by_url en 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 para modificar el servidor virtual existente.
  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.
  5. Seleccione la directiva lpol_single_auth_manage_otp_by_url y haga clic en Seleccionar.
  6. Haga clic en Vincular.
  7. Desplácese hacia arriba y selecciona 1 Directiva de autenticación en Directiva de autenticación avanzada.
  8. Haga clic con el botón derecho en la directiva nFactor y seleccione Modificar enlace.
  9. Haga clic en el icono + presente en Seleccionar factor siguiente, cree un factor siguiente y haga clic en Vincular.
  10. En la pantalla Crear autenticación PolicyLabel, introduzca lo siguiente y haga clic en Continuar:

    Nombre: manage_otp_flow_label

    Esquema de iniciode sesión: Lschema_Int

  11. En la pantalla Etiqueta de directiva de autenticación, haga clic en el icono + para crear una directiva.

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

    Nombre: auth_pol_ldap_otp_action

  13. Seleccione el tipo de acción mediante la lista Tipo de acción.
  14. En el campo Acción, haga clic en el icono + para crear una Acción.
  15.  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 valores siguientes y seleccione Probar conexión.

    Nombre: ldap_otp_action

    Dirección IP: 192.168.10.11

    DN base: DC = formación, DC = laboratorio

    Administrador: Administrator@training.lab

    Contraseña: xxxxx

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

    Atributo 1 = mail Atributo 2 = Atributo objectGUID 3 = immutableID

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

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

  1. Vaya a Seguridad > Tráfico de aplicaciones AAA > Servidores virtuales. Seleccione el servidor virtual que va a modificar.
  2. Vaya 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 el icono + 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 el icono + 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 situado junto a noschema.
  7. Haga clic en la carpeta LoginSchema, seleccione DualAuthManageOTP.xmly, a continuación, haga clic en Seleccionar.
  8. Haga clic en Crear.
  9. En la sección Regla, escriba True. Haga clic en Crear.
  10. Haga clic en Vincular.
  11. Observe los dos factores de autenticación. Haga clic en Cerrar y haga clic en Listo.

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:

es_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>
<!--NeedCopy-->

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
<!--NeedCopy-->

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
<!--NeedCopy-->

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"
<!--NeedCopy-->

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.

  • 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
<!--NeedCopy-->

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
<!--NeedCopy-->

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
<!--NeedCopy-->

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
<!--NeedCopy-->

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
<!--NeedCopy-->

Registre su dispositivo con Citrix ADC

  1. Vaya a el FQDN de Citrix ADC (primera IP pública), con el sufijo /manageotp. Por ejemplo, inicie sesión en https://otpauth.server.com/manageotp con credenciales de usuario.
  2. Haga clic en el ícono + para agregar un dispositivo.

    Página de inicio de sesión de gateway

  3. Introduzca el nombre de un dispositivo y presione Ir. Aparece un código de barras en la pantalla.
  4. Haga clic en Iniciar configuración y luego haga clic en Escanear código de barras
  5. Coloque la cámara del dispositivo sobre el código QR. Si quiere, puede introducir el código.

    Código QR

    Nota:

    El código QR que se muestra es válido durante 3 minutos.

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

    Mensaje de inicio de sesión correcto

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

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

    página Autenticación ADC

Compatibilidad con OTP nativa para la autenticación