Guía de PoC: Acceso seguro a aplicaciones SaaS administradas por Azure y Citrix Secure Private Access

Overview

A medida que los usuarios acceden al contenido confidencial dentro de las aplicaciones SaaS, las organizaciones deben poder simplificar las operaciones de inicio de sesión de los usuarios mientras siguen aplicando los estándares de autenticación. Las organizaciones deben poder proteger las aplicaciones SaaS aunque existan más allá de los límites del centro de datos. Citrix Workspace proporciona a las organizaciones controles de seguridad mejorados para aplicaciones SaaS.

En este caso, un usuario se autentica en Citrix Workspace mediante Active Directory como directorio de usuario principal e inicia una aplicación SaaS administrada por Azure.

Active Directory y Azure SSO

Si Citrix Secure Private Access Service está asignado a la suscripción de Citrix, se aplican directivas de seguridad mejoradas, que van desde la aplicación de marcas de agua basadas en la pantalla, la restricción de las acciones de impresión y descarga, las restricciones de captura de pantalla, la ofuscación del teclado y la protección de los usuarios de los enlaces poco fiables, se aplican a parte superior de las aplicaciones SaaS.

La siguiente animación muestra a un usuario que accede a una aplicación SaaS con SSO proporcionado por Azure y protegido con Citrix Secure Private Access.

Demostración de Azure SSO

Esta demostración muestra un flujo de inicio de sesión inicio de sesión iniciado por el IDP en el que el usuario inicia la aplicación desde Citrix Workspace. Esta guía de PoC también admite un flujo de SSO iniciado por el SP en el que el usuario intenta acceder a la aplicación SaaS directamente desde su navegador preferido.

Supuestos:

  • Azure ya está configurado para proporcionar el SSO a una aplicación SaaS
  • Los usuarios pueden iniciar sesión correctamente en el portal de aplicaciones de Azure e iniciar la aplicación SaaS

Esta guía de prueba de concepto demuestra cómo:

  1. Configuración de Citrix Workspace
  2. Integrar un directorio de usuario principal
  3. Incorporar inicio de sesión único para aplicaciones SaaS
  4. Definir directivas de filtrado de sitios web
  5. Validar la configuración

Configuración de Citrix Workspace

Los pasos iniciales para configurar el entorno son preparar Citrix Workspace para la organización, que incluye

  1. Configuración de la URL del espacio de trabajo
  2. Habilitación de los servicios apropiados

Establecer dirección URL de espacio

  1. Conéctese a Citrix Cloud e inicie sesión como su cuenta de administrador
  2. En Citrix Workspace, acceda a Configuración de Workspace desde el menú superior izquierdo
  3. En la ficha Acceso, introduzca una URL única para la organización y seleccione Habilitado

URL del espacio de trabajo

Habilitar servicios

Desde la ficha Integración de servicios, habilite los siguientes servicios para permitir el acceso seguro a las aplicaciones SaaS.

  1. Secure Private Access
  2. Aislamiento remoto del explorador

Servicios de Workspace

Verificar

Citrix Workspace tarda unos minutos en actualizar los servicios y la configuración de URL. Desde un explorador web, compruebe que la URL personalizada del espacio de trabajo esté activa. Sin embargo, el inicio de sesión estará disponible una vez que se defina y configure un directorio de usuario principal.

Integración de un directorio de usuario principal

Para que los usuarios puedan autenticarse en Workspace, se debe configurar un directorio de usuarios principal. El directorio de usuarios principal es la única identidad que necesita el usuario, ya que todas las solicitudes de aplicaciones de Workspace utilizan el inicio de sesión único en identidades secundarias.

Una organización puede usar cualquiera de los siguientes directorios de usuarios principales:

  • Active Directory: para habilitar la autenticación de Active Directory, se debe implementar un conector de nube en el mismo centro de datos que un controlador de dominio de Active Directory siguiendo la guía de instalación de Cloud Connector.
  • Active Directory con contraseña de un solo uso basada en tiempo: la autenticación basada en Active Directory también puede incluir autenticación multifactor con una contraseña de un solo uso basada en tiempo (TOTP). Esta guía detalla los pasos necesarios para habilitar esta opción de autenticación.
  • Azure Active Directory: los usuarios pueden autenticarse en Citrix Workspace con una identidad de Azure Active Directory. Esta guía detalla los pasos necesarios para habilitar esta opción de autenticación.

    Nota

    Si utiliza AAD como directorio de autenticación principal, no puede federar el dominio principal (dominio de inicio de sesión del usuario) porque esto crea un bucle. En esos casos, debe federar un dominio nuevo.

    Las cuentas de usuario de AAD deben tener el atributo immutableIDestablecido; de lo contrario, la autenticación falla y aparece el mensaje de error: AADSTS51004
    Las cuentas sincronizadas de Azure AD Connect obtienen este conjunto de atributos automáticamente.

  • Citrix Gateway: las organizaciones pueden usar un Citrix Gateway local para actuar como proveedor de identidades para Citrix Workspace. Esta guía proporciona detalles sobre la integración.
  • Okta: Las organizaciones pueden usar Okta como directorio de usuarios principal de Citrix Workspace. En esta guía se proporcionan instrucciones para configurar esta opción.

Creación de una aplicación SaaS

Para crear correctamente el SaaS con Citrix Workspace, el administrador debe hacer lo siguiente:

  • Configurar una aplicación SaaS
  • Autorizar la aplicación SaaS

Configurar una aplicación SaaS

Con la aplicación SaaS configurada en Azure, la aplicación SaaS se puede configurar en Citrix Workspace.

  • En Azure, seleccione Azure Active Directory
  • Seleccionar aplicaciones empresariales

Configurar la aplicación SaaS 01

  • Dentro de la lista, seleccione la aplicación SaaS, que muestra la descripción general de la aplicación
  • Seleccionar propiedades

Configurar la aplicación SaaS 02

  • Copie la URL de acceso de usuario y recuerde para su uso posterior
  • En Citrix Cloud, seleccione Administrar en el mosaico de Secure Private Access.

Configurar la aplicación SaaS 03

  • En el menú Acceso privado seguro, selecciona Aplicaciones
  • En la sección Aplicación, seleccione Agregar una aplicación

Aplicaciones: Plantilla

  • En el asistente Elegir una plantilla, busque la plantilla correcta. En este ejemplo, seleccione Humanity

Configurar la aplicación SaaS 04

  • Seleccionar Siguiente

Aplicaciones: Detalles de la aplicación

  • En la pantalla Detalles de la aplicación, reemplace la dirección URL por la URL de acceso de usuario copiada de Azure.
  • Al final de la URL , agrega lo siguiente: &whr=federated_domain en lugar de federated_domain por el dominio asociado a la identidad del usuario (información después del inicio de sesión @ en el correo electrónico del usuario). La entrada de dominio federado informa a Azure para redirigir a la configuración correcta del dominio federado. La información del dominio federado se configura en Azure en una próxima sección.

Configurar la aplicación SaaS 05

*Nota: También puede redirigir el tráfico a través del Connector Appliance implementado en su centro de datos. Por lo tanto, debe cambiar de “Fuera de mi red corporativa” a “Dentro de mi red corporativa”.*

  • Seleccionar Siguiente

Aplicaciones: Single Sign-On

  • En la ventana Inicio de sesión único, establezca la URL de afirmación en https://login.microsoftonline.com/login.srf (1)
  • Establecer la audiencia que se va a urn:Federation: Microsoft Online (2)
  • Verifique el GUID de nombre Format=Persistent y el ID de nombre=Active Directory (3)
  • Seleccione la casilla denominada Iniciar la aplicación con la URL especificada (iniciada por SP). (4)
    Una vez autenticado, el usuario es redirigido automáticamente a la aplicación SaaS en lugar del portal de aplicaciones de Azure.
  • En Atributos avanzados, compruebe el nombre del atributo = IDPEmail, el formato del atributo = Sin especificar y el valor del atributo = correo electrónico (5)

Nota

La segunda opción de atributo avanzado se agrega automáticamente para suprimir la solicitud de autenticación de MFA cuando el usuario ya ha introducido la MFA durante la autenticación de usuario en Citrix Workspace.

Nombre de atributo: http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod
Formato de atributo: Unspecified
Valor de atributo: Custom value
Valor personalizado: http://schemas.microsoft.com/claims/multipleauthn

Para que Azure AD acepte esta afirmación, debemos agregar un parámetro -SupportsMfa $true al configurar la federación de dominios.

Nota: Los pasos (6), (7) y (8) solo son necesarios para la primera aplicación.

  • Seleccione Descargar para capturar el certificado basado en CRT. (6)
  • Junto a la URL de iniciode sesión, seleccione el botón Copiar para capturar la URL de inicio de sesión. Esta URL se utilizará más adelante. (7)
  • Seleccione el enlace de metadatos SAML (8)

Configurar la aplicación SaaS 06

  • En el archivo de metadatos SAML, busque EntityID. Copia la URL completa y guárdala para usarla más adelante. Una vez capturado, el archivo de metadatos SAML se puede cerrar.

Configurar la aplicación SaaS 07

  • Seleccionar Siguiente

Aplicaciones: Conectividad de aplicaciones

  • En la ventana Conectividad de aplicaciones, verifique cómo debe redirigirse el tráfico (en este caso, directamente del cliente a la aplicación SaaS).

Configurar la aplicación SaaS 08

  • Seleccionar Siguiente
  • Seleccione Finalizar para completar la configuración de las aplicaciones SaaS de Humanity.

Autorizar la aplicación SaaS y configura una seguridad mejorada

  • En el menú Acceso privado seguro, seleccione Políticas de acceso
  • En la sección Directiva de acceso, seleccione Crear directiva.

Autorizar la aplicación SaaS 01

  • Introduzca el nombre de la directiva y una breve descripción de la directiva.
  • En la lista desplegable Aplicaciones, busque “Humanidad” y selecciónela.

Nota

Puede crear varias reglas de acceso y configurar diferentes condiciones de acceso para diferentes usuarios o grupos de usuarios dentro de una única directiva. Estas reglas se pueden aplicar por separado para las aplicaciones HTTP/HTTPS y TCP/UDP, todo ello dentro de una única directiva. Para obtener más información sobre las reglas de acceso múltiple, consulte Configurar una directiva de acceso con varias reglas.

  • Haga clic en Crear regla para crear reglas para la directiva.

Autorizar la aplicación SaaS 02

  • Introduzca el nombre de la regla y una breve descripción de la regla y haga clic en Siguiente.

Autorizar la aplicación SaaS 03

  • Agregue los usuarios/grupos apropiados que estén autorizados a iniciar la aplicación y haga clic en Siguiente.

Nota

Haga clic en + para añadir varias condiciones en función del contexto.

Autorizar la aplicación SaaS 04

  • Especifique si se puede acceder a la aplicación HTTP/HTTPS con o sin restricciones.
    La captura de pantalla anterior tiene configuradas las marcas de agua y la restricción de impresión.
    Si no se necesita una seguridad mejorada, cambie “Permitir acceso con restricciones” por “Permitir acceso”.
  • Especifique la acción de las aplicaciones TCP/UDP.
    La captura de pantalla anterior niega el acceso a las aplicaciones TCP/UDP.
  • Haga clic en Siguiente.

Autorizar la aplicación SaaS 05

  • La página Resumen muestra los detalles de la regla de directiva.
    Compruebe los detalles y haga clic en Finalizar .

Autorizar la aplicación SaaS 06

  • En el cuadro de diálogo Crear directiva, compruebe que esté marcada la casilla Habilitar directiva al guardar y haga clic en Guardar.

*Nota: Para las pruebas iniciales de SSO, siempre es una buena idea configurar la seguridad mejorada con la opción “Abrir en un explorador web remoto” configurada.*

Federar la autenticación de Azure en Citrix Workspace

Para federar correctamente la aplicación SaaS con Citrix Workspace, el administrador debe hacer lo siguiente:

  • Verificar dominio de autenticación
  • Configurar federación de dominios

Verificar dominio de autenticación

Azure debe verificar el nombre de dominio completo para federar la autenticación en Citrix Workspace. En Azure Portal, haga lo siguiente:

  • Acceder a Azure Active Directory
  • Seleccionar nombres de dominio personalizados en la ventana de navegación
  • Seleccione Agregar dominio personalizado
  • Introduzca el nombre de dominio completo

Verificación de dominio 01

  • Seleccione Agregar dominio
  • Azure proporciona registros para incorporarlos al registrador de nombres de dominio. Una vez hecho esto, selecciona Verificar.

Verificación de dominio 02

  • Una vez completado, el dominio incluye una marca verificada

Verificación de dominio 03

Configurar federación de dominios

La configuración final consiste en que Azure use Citrix Workspace como autoridad federada para el dominio verificado. La configuración de la federación debe realizarse con PowerShell.

  • Iniciar PowerShell
  • Agregue los módulos apropiados con los siguientes comandos
Install-Module AzureAD -Force
Import-Module AzureAD -Force
Install-Module MSOnline -Force
Import-module MSOnline -Force
<!--NeedCopy-->
  • Conéctese a Microsoft Online a través de PowerShell y autentíquese con una cuenta en la nube de Microsoft (por ejemplo,admin.user@onmicrosoft.com)
Connect-MSOLService
<!--NeedCopy-->
  • Verifique que el dominio esté actualmente configurado como Administrado en Azure ejecutando el siguiente comando de PowerShell
Get-MsolDomain
<!--NeedCopy-->

Federación de dominios 01

  • Utilice el siguiente código en un script de PowerShell para convertir este dominio Federado cambiando las variables para que se alineen con su entorno
 $dom = "workspaces.wwco.net" # The fully qualified domain name verified within Azure
 $fedBrandName = "CitrixWorkspaceSAMLIdP" # A name to help remember the configuration purpose
 $uri = "https://app.netscalergateway.net/ngs/[entityID]/saml/login?APPID=[APPID]" # The Login URL from the Humanity app configuration
 $logoffuri = "https://app.netscalergateway.net/cgi/logout" # Standard entry for all. Do not change
 $cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("<location of certificate downloaded from Citrix Secure Private Access service/filename.crt>") # Path to the downloaded certificate file from Humanity app configuration (e.g., C:\temp\filename.crt)
 $certData = [system.convert]::tobase64string($cert.rawdata)
 $IssuerUri = "https://citrix.com/[entityID]" # The entityID taken from the Office365 app configuration SAML Metadata file

 Set-MsolDomainAuthentication `
     -DomainName $dom `
     federationBrandName $fedBrandName `
     -Authentication Federated `
     -PassiveLogOnUri $uri `
     -LogOffUri $logoffuri `
     -SigningCertificate $certData `
     -IssuerUri $IssuerUri `
     -PreferredAuthenticationProtocol SAMLP

To suppress an MFA authentication request when the user has already entered the MFA during user authentication to Citrix Workspace, use the following command:

 Set-MsolDomainAuthentication `
     -DomainName $dom `
     federationBrandName $fedBrandName `
     -Authentication Federated `
     -PassiveLogOnUri $uri `
     -LogOffUri $logoffuri `
     -SigningCertificate $certData `
     -IssuerUri $IssuerUri `
     -PreferredAuthenticationProtocol SAMLP `
     -SupportsMfa $true
<!--NeedCopy-->
  • Verifique que el dominio esté actualmente configurado como Federado en Azure ejecutando el siguiente comando de PowerShell
Get-MsolDomain
<!--NeedCopy-->

Federación de dominios 02

  • Compruebe la configuración de federación en Azure ejecutando el siguiente comando de PowerShell
Get-MsolDomainFederationSettings -DomainName $dom
<!--NeedCopy-->

Federación de dominios 03

Nota

Si es necesario eliminar la configuración de la federación, ejecute el siguiente comando de PowerShell:
Set-MsolDomainAuthentication -DomainName $dom -Authentication Managed

Validar

Validación iniciada por IDP

  • Inicie sesión en Citrix Workspace como usuario
  • Seleccione la aplicación SaaS
  • Observe la URL para verla redirigirse brevemente a través de Azure
  • El portal SaaS se lanza con éxito

Validación iniciada por SP

  • Iniciar un explorador
  • Vaya a la URL definida por la empresa para la aplicación SaaS
  • El explorador web redirige a Azure Active Directory y, a continuación, a Citrix Workspace para la autenticación.
  • Una vez que el usuario se autentica con el directorio de usuario principal, la aplicación SaaS se inicia con Citrix proporcionando inicio de sesión único

Definir sitios web no autorizados

Los sitios web no autorizados son las aplicaciones que no están configuradas en la configuración de Secure Private Access, pero a las que se puede acceder desde Citrix Enterprise Browser. Puede configurar reglas para estos sitios web no autorizados. Por ejemplo, un enlace dentro de una aplicación SaaS puede apuntar a un sitio web malicioso. Con estas reglas, un administrador puede tomar una URL específica de un sitio web o una categoría de sitio web y permitir el acceso, bloquear el acceso o redirigir la solicitud a una instancia de explorador web alojada y segura, lo que ayuda a prevenir los ataques por explorador web.

  • Desde Citrix Cloud, administre dentro del mosaico Secure Private Access

Citrix Secure Private Access 1

  • Si se siguió esta guía, los pasos Configurar la autenticación de usuario final y Configurar el acceso del usuario final a SaaS, aplicaciones web y virtuales están completos.
  • En el menú Acceso privado seguro, selecciona Configuración
  • Cambia a la ficha Sitios web no autorizados
  • Seleccione Modificar
  • Habilite la opción Filtrar listas de sitios web.

Citrix Secure Private Access 2

  • Haga clic en Agregar en la sección correspondiente para bloquear sitios web, permitir sitios web o redirigir al usuario a un navegador seguro (aislamiento remoto del navegador)
  • Por ejemplo, para bloquear sitios web en la sección de categorías bloqueadas, haz clic en Agregar
  • Introduzca un sitio web al que los usuarios no puedan acceder y haga clic en Agregar
  • Haga clic en Guardar para que los cambios surtan efecto

Validar la configuración

Validación iniciada por IDP

  • Inicie sesión en Citrix Workspace como usuario
  • Selecciona la aplicación SaaS.
    Si la seguridad mejorada está inhabilitada, la aplicación se inicia en el explorador web local. De lo contrario, se utiliza el navegador empresarial.
  • El usuario inicia sesión automáticamente en la aplicación
  • Se aplican las directivas de seguridad mejoradas adecuadas
  • Si está configurado, seleccione una URL dentro de la aplicación SaaS que esté en las URL bloqueadas, permitidas y redirigidas
  • La aplicación SaaS se inicia con éxito

Validación iniciada por SP

  • Iniciar un explorador
  • Vaya al sitio web de la aplicación SaaS e inicie sesión. Si hay una opción para realizar el SSO, seleccione la opción.
  • El explorador redirige el explorador a Citrix Workspace para la autenticación
  • Introduzca el nombre de usuario.
  • Una vez que el usuario se autentica en el directorio de usuarios principal, Office 365 se inicia en el explorador local si la seguridad mejorada está deshabilitada.
    Si se habilita la seguridad mejorada, una instancia de Explorador seguro inicia la aplicación SaaS.

Manténgase conectado

En la configuración predeterminada, Azure Active Directory muestra un cuadro de diálogo durante el proceso de inicio de sesión que permite a los usuarios seguir iniciando sesión.

Inicio de sesión persistente 01

Esta es una configuración de Azure que se puede cambiar fácilmente haciendo lo siguiente:

  • En Azure, seleccione Azure Active Directory
  • Seleccionar marca de empresa
  • Seleccione la configuración regional habilitada
  • En el panel Modificar marca de empresa, seleccione No en la opción Mostrar para seguir iniciando sesión.

Inicio de sesión persistente 01

  • Seleccione Guardar

Solución de problemas

La cuenta de usuario no existe en el directorio

Al intentar iniciar Microsoft 365, es posible que el usuario reciba el siguiente error:
AADSTS51004: The user account "account name" does not exist in the "GUID" directory. To sign into this application, the account must be added to the directory.

Solución de problemas de cuentas de usuario 01

Las siguientes son sugerencias sobre cómo resolver este problema:

  • Compruebe que el usuario esté autorizado a usar la aplicación SaaS en Azure Active Directory
  • Compruebe que la dirección de correo electrónico identificada en el error coincida con el directorio de usuarios principal, Azure Active Directory y la aplicación SaaS.
  • Compruebe que el atributo immutableId esté establecido en el objeto de usuario.
    (Este no es el caso en entornos de AAD puros)
    immutableId se puede calcular y configurar fácilmente mediante los siguientes comandos de PowerShell:

     $userUPN="john.doh@company.com"  #change the userPricipalName before executing
     Install-Module AzureAD -Force
     Import-Module AzureAD -Force
     Install-Module MSOnline -Force
     Import-module MSOnline -Force
     Connect-MsolService
     $userObjectID=(Get-MsolUser -UserPrincipalName $userUPN).objectId
     $userImmutableId=[System.Convert]::ToBase64String([System.Guid]::New($userObjectID).ToByteArray())
     Set-MsolUser -UserPrincipalName $userUPN -ImmutableId $userImmutableId
     <!--NeedCopy-->
    

Objeto Dominio de Federación

Durante la validación, un usuario puede recibir el siguiente error:
AADSTS50107: The requested federation realm object 'https://<ADFShostname>/adfs/services/trust' does not exist.

Solución de problemas del reino de federación 01

Esto suele deberse a que el dominio no se verifica o se ha federado correctamente. Revise las siguientes secciones de la guía de PoC:

Falla de directivas de seguridad mejoradas

Los usuarios pueden experimentar un error en la directiva de seguridad mejorada (marca de agua, impresión o acceso al portapapeles). Normalmente, esto sucede porque la aplicación SaaS utiliza varios nombres de dominio. Dentro de los ajustes de configuración de la aplicación SaaS, había una entrada para Dominios Relacionados.

Configurar la aplicación SaaS 02

Las directivas de seguridad mejoradas se aplican a los dominios relacionados. Para identificar nombres de dominio que faltan, un administrador puede acceder a la aplicación SaaS con un explorador local y hacer lo siguiente:

  • Vaya a la sección de la aplicación en la que fallan las directivas
  • En Google Chrome y Microsoft Edge (versión Chromium), selecciona los tres puntos en la parte superior derecha del explorador para mostrar una pantalla de menú.
  • Seleccione Más herramientas.
  • Seleccionar herramientas de desarrollador
  • Dentro de las herramientas de desarrollador, seleccione Fuentes. Proporciona una lista de nombres de dominio de acceso para esa sección de la aplicación. Para habilitar las directivas de seguridad mejoradas para esta parte de la aplicación, esos nombres de dominio deben introducirse en el campo dominios relacionados dentro de la configuración de la aplicación. Los dominios relacionados se agregan como los siguientes *.domain.com

Solución de problemas de seguridad mejorada 01