Guía de prueba de concepto: NFactor para autenticación de Citrix Gateway con OTP de correo electrónico

Introducción

Implementar la autenticación multifactor es una de las mejores maneras de verificar la identidad y mejorar la postura de seguridad. Email OTP es una manera conveniente de implementar otro factor mediante el sistema de correo electrónico fácilmente disponible. Permite a los usuarios recibir, copiar y pegar códigos de validación de autenticación, en su formulario de autenticación de puerta de enlace, desde su cliente de correo electrónico en cualquier dispositivo.

Citrix Gateway admite la autenticación OTP por correo electrónico y puede proporcionar autenticación para varios servicios, incluidos servicios web, VPN y Citrix Virtual Apps and Desktops. En esta Guía de POC, demostramos su uso para la autenticación en un entorno Citrix Virtual Apps and Desktops.

Correo electrónico OTP

Información general

Esta guía muestra cómo implementar un entorno de prueba de concepto mediante la autenticación de dos factores con Citrix Gateway. La guía utiliza LDAP para validar las credenciales de Active Directory como primer factor y utilizar Email OTP como segundo factor. Utiliza un escritorio virtual publicado por Citrix Virtual Apps and Desktops para validar la conectividad.

Se hacen suposiciones sobre la instalación y configuración completadas de los siguientes componentes:

  • Citrix Gateway instalado, licenciado y configurado con un servidor virtual accesible externamente enlazado a un certificado comodín
  • Citrix Gateway integrado con un entorno Citrix Virtual Apps and Desktops que utiliza LDAP para la autenticación
  • Acceso al servidor SMTP con la capacidad de iniciar sesión con nombre de usuario y contraseña para originar correos electrónicos
  • Endpoint con la aplicación Citrix Workspace instalada
  • Active Directory (AD) está disponible en el entorno

Consulte la documentación de Citrix para obtener la versión más reciente del producto y los requisitos de licencia: Autenticación OTP de correo

Citrix Gateway

Primero, iniciaremos sesión en la CLI en nuestra puerta de enlace e ingresaremos las acciones de autenticación y las directivas asociadas para LDAP y correo electrónico respectivamente. Luego iniciaremos sesión en nuestra GUI para construir nuestro flujo nFactor en la herramienta visualizadora y completar la configuración de autenticación multifactor.

Directivas de autenticación

Creamos la acción LDAP y la directiva que hace referencia a ella, que es el primer factor de autenticación. Luego creamos la acción Correo electrónico y la directiva que hace referencia a ella, que es el segundo factor de autenticación.

Primero conéctese a la CLI abriendo una sesión SSH la dirección NSIP de Citrix ADC e inicie sesión como administrador nsroot.

Acción LDAP

Rellene los campos siguientes para crear la acción LDAP y pegue la cadena completada en la CLI:

  • ldapAction: Introduzca el nombre de la acción. Entramos authAct_LDAP_eotp
  • serverIP: Introduzca el servidor de dominio/s FQDN o la dirección IP. Entramos 192.0.2.50 para la dirección IP privada del servidor de dominio en nuestro entorno
  • serverPort: Introduzca el puerto LDAP. Entramos 636 para el puerto LDAP seguro
  • ldapBase: Introduzca la cadena de objetos de dominio y contenedores donde los usuarios pertinentes se almacenan en su directorio. Entramos "OU=Team M,OU=Team Accounts,OU=Demo Accounts,OU=Workspaces Users,DC=workspaces,DC=wwco,DC=net"
  • ldapBindDn: Introduzca la cuenta de servicio utilizada para consultar a los usuarios del dominio. Entramos workspacessrv@workspaces.wwco.net
  • ldapBindDnPassword: Introduzca la contraseña de su cuenta de servicio. La contraseña está cifrada por Citrix ADC de forma predeterminada
  • ldapLoginName: Introduzca el tipo de objeto de usuario. Entramos userPrincipalName
  • groupAttrName: Introduzca el nombre del atributo del grupo. Entramos memberOf
  • subAttributeName: Introduzca el nombre del subatributo. Entramos cn
  • secType - introduzca el tipo de seguridad. Entramos SSL
  • ssoNameAttribute: Introduzca el atributo de nombre de inicio de sesión único. Entramos userPrincipalName
  • defaultAuthenticationGroup: Introduzca el grupo de autenticación predeterminado. Entramos Email-OTP
  • alternateEmailAttr: Introduzca el atributo de objeto de dominio de usuario donde se puede recuperar su dirección de correo electrónico. Entramos otherMailbox

Una vez que haya construido la cadena completa para su entorno cópielo y péguelo en la CLI: add authentication ldapAction authAct_LDAP_eotp -serverIP 192.0.2.50 -serverPort 636 -ldapBase "OU=Team M,OU=Team Accounts,OU=Demo Accounts,OU=Workspaces Users,DC=workspaces,DC=wwco,DC=net" -ldapBindDn workspacessrv@workspaces.wwco.net -ldapBindDnPassword your_service_account_password -ldapLoginName userPrincipalName -groupAttrName memberOf -subAttributeName cn -secType SSL -ssoNameAttribute userPrincipalName -defaultAuthenticationGroup Email-OTP -alternateEmailAttr otherMailbox

Existen diversas herramientas que se pueden utilizar para rellenar atributos de objeto de usuario de Active Directory. Para el POC utilizamos la edición ADSI, desde ‘Administrador del Servidor> Herramientas’, para agregar manualmente una dirección de correo electrónico para usuario1 a su atributo ‘OtherMailBox’.

Correo electrónico OTP

Directiva LDAP

Rellene los campos siguientes para crear la acción LDAP y pegue la cadena completada en la CLI:

  • Policy: Introduzca el nombre de la directiva. Entramos authPol_LDAP_eotp
  • action - introduzca el nombre de la acción de correo electrónico que hemos creado anteriormente. Entramos authAct_LDAP_eotp

Una vez que haya construido la cadena completa para su entorno cópiela y péguela en la CLI: add authentication Policy authPol_LDAP_eotp -rule true -action authAct_LDAP_eotp LDAP Para obtener más información, consulte Directivas de autenticación LDAP

Acción por correo electrónico

Rellene los campos siguientes para crear la acción Correo electrónico y pegue la cadena completada en la CLI:

  • emailAction: Introduzca el nombre de la acción. Entramos authAct_Email_eotp
  • userName: Introduzca el usuario, o cuenta de servicio, que iniciará sesión en el servidor de correo. Entramos workspacessrv@workspaces.wwco.net
  • password: Introduzca la contraseña de su cuenta de servicio para iniciar sesión en el servidor de correo. Citrix ADC cifrará la contraseña de forma predeterminada
  • serverURL: Introduzca el FQDN o la dirección IP del servidor de correo. Entramos "smtps://192.0.2.40:587"
  • content - introduzca el mensaje de usuario junto al campo para introducir el código de correo electrónico. Entramos "Your OTP is $code"
  • time out - introduzca el número de segundos en que el código de correo electrónico es válido. Entramos 60
  • emailAddress: Introduzca el objeto LDAP que quiere consultar para la dirección de correo electrónico del usuario. Entramos "aaa.user.attribute(\"alternate_mail\")"

Una vez que haya construido la cadena completa para su entorno cópielo y péguelo en la CLI: add authentication emailAction authAct_Email_eotp -userName workspacessrv@workspaces.wwco.net -password your_service_account_password -serverURL "smtps://192.0.2.40:587" -content "Your OTP is $code" -timeout 60 -emailAddress "aaa.user.attribute(\"alternate_mail\")"

Directiva de correo electrónico

Rellene los campos siguientes para crear la directiva de correo electrónico y pegue la cadena completada en la CLI:

  • Policy: Introduzca el nombre de la directiva. Entramos authPol_Email_eotp
  • action - introduzca el nombre de la acción de correo electrónico que hemos creado anteriormente. Entramos authAct_Email_eotp

Una vez que haya construido la cadena completa para su entorno cópiela y péguela en la CLI: add authentication Policy authPol_Email_eotp -rule true -action authAct_Email_eotp Correo electrónico Para obtener más información, consulte Directivas de autenticación de correo electrónico

Factor nFactor

  1. Inicie sesión en la interfaz de usuario de Citrix ADC
  2. Vaya a Administración de Tráfico > SSL> Certificados > Todos los certificados para comprobar que tiene instalado el certificado de dominio. En este ejemplo POC utilizamos un certificado comodín correspondiente a nuestro dominio de Active Directory. Consulte Certificados SSL de Citrix ADC para obtener más información.
  3. A continuación, vaya a Security > AAA - Application Traffic > nFactor Visualizer > nFactor Flows
  4. Seleccione Agregar y seleccione el signo más en el cuadro Factor
  5. Introduzca nFactor_EmailOTP y seleccione crear Correo electrónico OTP
  6. Seleccione Agregar esquema y vuelva a agregar junto a Seleccionar directiva.
  7. Introduzca lschema_SingleAuth
  8. En Esquema de autenticación, seleccione el icono de lápiz para modificar la selección de esquema
  9. En Archivos de esquema, seleccione LoginSchema y desplácese hasta LoginSchema y seleccione SingleAuth.xml
  10. Seleccione el botón de selección azul, seguido de Crear, seguido de Aceptar Correo electrónico OTP
  11. En el mismo cuadro, seleccione Agregar directiva
  12. Seleccione la directiva LDAP que hemos creado. Usamos authPol_LDAP_eotp
  13. Seleccione Agregar
  14. Seleccione el signo más verde junto a la authPol_LDAP_eotp directiva para crear un factor
  15. Introduzca factor_Email este factor utilizará el código de correo electrónico para realizar la autenticación de segundo factor
  16. Seleccione Crear
  17. En el mismo cuadro, seleccione Agregar directiva
  18. Seleccione la directiva de correo electrónico que hemos creado. Usamos authPol_Email_eotp
  19. En Ir a expresión, seleccione END
  20. Seleccione Agregar
  21. Ahora hemos completado la configuración del flujo de nFactor y podemos hacer clic en Listo Correo electrónico OTP

Servidor virtual de autenticación, autorización y auditoría de Citrix ADC (Citrix ADC AAA)

  1. A continuación, vaya a Seguridad > AAA - Tráfico de aplicaciones > Servidores virtuales y seleccione Agregar
  2. Introduzca los siguientes campos y haga clic en Aceptar:
    • Nombre: Un valor único. Entramos ‘Emailotp_AuthvServer’
    • Tipo de dirección IP - Non Addressable
  3. Seleccione Sin certificado de servidor, seleccione el certificado de dominio, haga clic en Seleccionar, Enlazar y Continuar
  4. Seleccionar sin nFactor de flujo
  5. En Seleccionar nFactor de flujo, haga clic en la flecha derecha, seleccione el nFactor_EmailOTP flujo creado anteriormente
  6. Haga clic en Seleccionar, seguido de Enlazar CORREO ELECTRÓNICO OTP
  7. Haga clic en Continuar, seguido de Listo

Citrix Gateway: Servidor virtual

  1. A continuación, vaya a Citrix Gateway > Servidores virtuales
  2. Seleccione el servidor virtual existente que proporcione acceso proxy al entorno de Citrix Virtual Apps and Desktops
  3. Seleccione Modificar
  4. Si actualmente tiene una directiva LDAP enlazada, navegue bajo Autenticación básica - Autenticación primaria, seleccione Directiva LDAP. A continuación, compruebe la directiva, seleccione Desenlazar, seleccione Sí para confirmar y seleccione Cerrar
  5. En el menú Configuración avanzada de la derecha seleccione Perfil de autenticación
  6. Seleccione Agregar
  7. Escriba un nombre. Entramos EmailOTP_auth_profile
  8. En Servidor virtual Autenticación, haga clic en la flecha derecha y seleccione el servidor virtual Citrix ADC AAA que hemos creado EmailOTP_Auth_Vserver
  9. Haga clic en Seleccionar y Crear
  10. Haga clic en Aceptar y compruebe que el servidor virtual tiene seleccionado un perfil de autenticación mientras se ha quitado la directiva de autenticación básica. Autenticación OTP de correo
  11. Haga clic en Hecho

Endpoint de usuario

Ahora probamos Email OTP mediante la autenticación en nuestro entorno Citrix Virtual Apps and Desktops.

  1. Abra un explorador y navegue hasta el FQDN de dominio administrado por Citrix Gateway. Usamos https://gateway.workspaces.wwco.net
  2. Después de que su explorador sea redirigido a una pantalla de inicio de sesión, introduzca el usuario UserPrincipalName y la contraseña Correo electrónico OTP
  3. Abra el cliente de correo electrónico del usuario y copie el código OTP Correo electrónico OTP
  4. Vuelva al explorador donde se ha rellenado el nombre de usuario, pegue el código y haga clic en Aceptar Correo electrónico OTP
  5. Verifique que las aplicaciones virtuales de los usuarios y los escritorios estén enumerados, e inicie una vez que haya iniciado sesión Correo electrónico OTP

Solución de problemas

Servidor SMTP

Citrix Gateway debe poder autenticarse en un servidor de correo con un nombre de usuario y una contraseña para poder originar el correo electrónico del cliente con el código OTP. Si Citrix Gateway no puede enviar el correo electrónico, la finalización del primer factor se agotará después de que el usuario envíe su nombre de usuario y contraseña.

  • Si el servidor de Exchange está configurado únicamente para NTLM, de forma predeterminada, Citrix Gateway no podrá autenticarse. Citrix Gateway debe poder iniciar sesión con un nombre de usuario y contraseña para redactar y enviar un correo electrónico con el código OTP. Para verificar, SSH a Citrix Gateway o acceda a la consola.
  • También puede usar servidores públicos de correo electrónico como Gmail. Al configurar la directiva OTP de correo electrónico, introduzca smtps://smtp.gmail.com:587 en el campo servidor de correo electrónico. Sin embargo, debe configurar los firewalls para permitir SMTP saliente en el puerto TCP 587.

Resumen

Con Citrix Workspace y Citrix Gateway, las empresas pueden mejorar su postura de seguridad implementando la autenticación multifactor sin complicar la experiencia del usuario. Los usuarios pueden obtener acceso a todos sus recursos de Workspaces introduciendo su usuario y contraseña de dominio estándar y simplemente confirmando su identidad con Email OTP enviado a su cliente de correo electrónico.

Referencias

Para obtener más información, consulte otras opciones de autenticación de nFactor:

Correo electrónico OTP — Email OTP se introduce con Citrix ADC 12.1 compilación 51.x

Guía de prueba de concepto: NFactor para autenticación de Citrix Gateway con OTP de correo electrónico