StoreFront

Proteger la implementación de StoreFront

En este artículo se muestran las áreas que pueden afectar la seguridad del sistema durante la implementación y la configuración de StoreFront.

Comunicación entre usuarios finales y StoreFront

Citrix recomienda proteger la comunicación entre los dispositivos de los usuarios y StoreFront mediante HTTPS. Esto garantiza el cifrado de contraseñas y otros datos que se envíen entre el cliente y StoreFront. Además, las conexiones HTTP simples pueden verse comprometidas por varios ataques, como los ataques del tipo “Man in the middle”, especialmente cuando las conexiones se realizan desde ubicaciones no seguras, como puntos de acceso Wi-Fi públicos. Sin una configuración de IIS adecuada, StoreFront utiliza HTTP para las comunicaciones.

Según la configuración, los usuarios pueden acceder a StoreFront a través de una puerta de enlace o un equilibrador de carga. Puede cerrar la conexión HTTPS en la puerta de enlace o en el equilibrador de carga. Sin embargo, en este caso, Citrix sigue recomendando proteger las conexiones entre la puerta de enlace o el equilibrador de carga y StoreFront mediante HTTPS.

Para habilitar HTTPS, inhabilitar HTTP y habilitar HSTS, consulte Proteger StoreFront con HTTPS.

Comunicaciones de StoreFront con los servidores de Citrix Virtual Apps and Desktops

Citrix recomienda usar el protocolo HTTPS para proteger los datos que pasan entre StoreFront y los Delivery Controllers de Citrix Virtual Apps and Desktops. Consulte Instalar certificados de servidor TLS en los Controllers. Como alternativa, también puede configurar Windows para proteger la comunicación entre los servidores mediante IPSec.

Puede configurar el Delivery Controller y StoreFront para garantizar que solo los servidores de confianza de StoreFront puedan comunicarse con el Delivery Controller (consulte Administrar claves de seguridad).

Comunicaciones de StoreFront con Citrix Desktops as a Service

Citrix recomienda usar el protocolo HTTPS para proteger los datos que pasan entre StoreFront y los Cloud Connectors. Consulte Configuración HTTPS. Como alternativa, también puede configurar Windows para proteger la comunicación entre los servidores mediante IPSec.

Puede configurar el Delivery Controller y StoreFront para garantizar que solo los servidores de confianza de StoreFront puedan comunicarse con el Delivery Controller (consulte Administrar claves de seguridad).

Acceso remoto

Citrix no recomienda exponer el servidor de StoreFront directamente a Internet. Citrix recomienda utilizar un dispositivo Citrix Gateway para proporcionar autenticación y acceso a usuarios remotos.

Refuerzo de Microsoft Internet Information Services (IIS)

StoreFront puede configurarse con una configuración restringida de IIS. Esta no es la configuración predeterminada de IIS.

Extensiones de nombre de archivo

Puede usar el filtrado de solicitudes para configurar una lista de extensiones de archivo permitidas y no permitir las extensiones de nombre de archivo que no figuren en la lista. Consulte la documentación de IIS.

StoreFront requiere estas extensiones de nombre de archivo:

  • . (extensión en blanco)
  • .appcache
  • .aspx
  • .cr
  • .css
  • .dtd
  • .gif
  • .htm
  • .html
  • .ica
  • .ico
  • .jpg
  • .js
  • .png
  • .svg
  • .txt
  • .xml

Si la descarga o la actualización de la versión de la aplicación Citrix Workspace está habilitada para el sitio web de un almacén, StoreFront también requiere estas extensiones de nombre de archivo:

  • .dmg
  • .exe

Si la aplicación Citrix Workspace para HTML5 está habilitada, StoreFront también requiere estas extensiones de nombre de archivo:

  • .eot
  • .ttf
  • .woff
  • .wasm

Verbos

Puede usar el filtrado de solicitudes para configurar una lista de verbos permitidos y no permitir los verbos no listados. Consulte la documentación de IIS.

  • GET
  • POST
  • HEAD

Caracteres que no son ASCII en las URL

Si se asegura de que el nombre del almacén y el nombre del sitio web solo usen caracteres ASCII, las URL de StoreFront no contienen caracteres ASCII. Puede usar el filtrado de solicitudes para no permitir caracteres que no sean ASCII. Consulte la documentación de IIS.

Tipos MIME

Puede quitar los tipos MIME del shell del sistema operativo correspondientes a estas extensiones de archivo:

  • .exe
  • .dll
  • .com
  • .bat
  • .csh

Consulte la documentación de IIS.

Quitar el encabezado X-Powered-By

De forma predeterminada, IIS notifica que utiliza ASP .NET al agregar un encabezado X-Powered-By con valor ASP.NET. Puede configurar IIS para quitar este encabezado. Consulte la documentación de encabezados personalizados de IIS.

Quitar el encabezado de servidores con la versión de IIS

De forma predeterminada, IIS notifica la versión de IIS al agregar un encabezado Server. Puede configurar IIS para quitar este encabezado. Consulte la documentación de filtrado de solicitudes de IIS.

Mover el sitio web de StoreFront a una partición independiente

Puede alojar los sitios web de StoreFront en una partición independiente de los archivos del sistema. En IIS, debe mover el sitio web predeterminadoo crear un sitio independiente en la partición adecuada antes de crear la implementación de StoreFront.

Funciones de IIS

Para ver la lista de las funciones de IIS instaladas y utilizadas por StoreFront, consulte Requisitos del sistema. Puede quitar otras funciones de IIS.

Aunque StoreFront no usa filtros ISAPI directamente, ASP .NET requiere esta función, por lo que no se puede desinstalar.

Asignaciones de controladores

StoreFront requiere estas asignaciones de controladores. Puede quitar otras asignaciones de controladores.

  • ExtensionlessUrlHandler-Integrated-4.0
  • PageHandlerFactory-Integrated-4.0
  • StaticFile

Consulte la documentación de controladores de IIS.

Filtros ISAPI

StoreFront no requiere ningún filtro ISAPI. Puede quitar todos los filtros ISAPI. Consulte la documentación de los filtros ISAPI de IIS.

Reglas de autorización de .NET

De forma predeterminada, los servidores de IIS tienen la “regla de autorización de .NET” establecida en Permitir a todos los usuarios. De forma predeterminada, el sitio web que usa StoreFront hereda esta configuración.

Si quita o cambia la regla de autorización de .NET al nivel del servidor, debe supeditar las reglas del sitio web que usa StoreFront para agregar una regla de permiso para “Todos los usuarios” y quitar cualquier otra regla que haya.

Modo licencia Retail

Puede habilitar el modo licencia Retail, consulte la documentación de IIS.

Grupos de aplicaciones

StoreFront crea los siguientes grupos de aplicaciones:

  • API de configuración de Citrix
  • Autenticación de Citrix Delivery Services
  • Recursos de Citrix Delivery Services
  • y Citrix Receiver para Web

No cambie los grupos de aplicaciones que usa cada aplicación de IIS ni la identidad de cada grupo. Si usa varios sitios, no es posible configurar cada sitio para usar grupos de aplicaciones independientes.

En Parámetros de reciclaje, puede establecer el tiempo de espera por inactividad del grupo de aplicaciones y el límite de memoria virtual. Tenga en cuenta que, cuando el grupo de aplicaciones “Citrix Receiver para Web” se recicla, se cierra la sesión de los usuarios que hayan iniciado sesión a través de un explorador web, por lo que está configurado de forma predeterminada para reciclarse a las 2:00 todos los días para minimizar las interrupciones del servicio. Si cambia alguno de los parámetros de reciclaje, es posible que se cierre la sesión de los usuarios en otros momentos del día.

Parámetros requeridos

  • No cambie los parámetros de autenticación de IIS. StoreFront administra la autenticación y configura los directorios apropiados del sitio de StoreFront con los parámetros de autenticación adecuados.
  • Para el servidor de StoreFront, en Parámetros de SSL, no seleccione Certificados de cliente: Requerir. La instalación de StoreFront configura las páginas apropiadas del sitio de StoreFront con este parámetro.
  • StoreFront requiere cookies para el estado de la sesión y otras funcionalidades. En ciertos directorios, en Estado de la sesión, Parámetros de cookies, el Modo debe estar configurado en Usar cookies.
  • StoreFront requiere que Nivel de confianza de .NET esté establecido en Confianza total. No establezca el nivel de confianza de .NET en ningún otro valor.

Servicios

La instalación de StoreFront crea los siguientes servicios de Windows:

  • Citrix Configuration Replication (NT SERVICE\CitrixConfigurationReplication)
  • Citrix Cluster Join (NT SERVICE\CitrixClusterService)
  • Citrix Peer Resolution (NT SERVICE\Citrix Peer Resolution Service)
  • Citrix Credential Wallet (NT SERVICE\CitrixCredentialWallet)
  • Citrix Subscriptions Store (NT SERVICE\CitrixSubscriptionsStore)
  • Citrix Default Domain Services (NT SERVICE\CitrixDefaultDomainService)

Estas cuentas inician sesión como Network Service. No cambie esta configuración.

Si configura la delegación restringida de Kerberos en StoreFront para XenApp 6.5, también se crea el servicio Citrix StoreFront Protocol Transition (NT SERVICE\CitrixStoreFrontProtocolTransition). Este servicio se ejecuta como NT AUTHORITY\SYSTEM. No cambie esta configuración.

Asignación de derechos de usuario

La modificación de los valores predeterminados en la asignación de derechos de usuario puede provocar problemas con StoreFront. En particular:

  • Microsoft IIS está habilitado como parte de la instalación de StoreFront. Microsoft IIS concede el derecho de inicio de sesión Iniciar sesión como proceso por lotes y el privilegio Suplantar un cliente después de la autenticación en el grupo integrado IIS_IUSRS. Este es el comportamiento normal de instalación de Microsoft IIS. No cambie estos derechos de usuario. Consulte la documentación de Microsoft para obtener información detallada.

  • Al instalar StoreFront, crea grupos de aplicaciones a los que IIS concede derechos de usuario Iniciar sesión como un servicio, Ajustar las cuotas de memoria para un proceso, Generar auditorías de seguridad y reemplazar un símbolo (token) de nivel de proceso.

  • Para crear o cambiar una implementación, el administrador debe tener derechos para restaurar archivos y directorios.

  • Para que un servidor se una a un grupo de servidores, el grupo Administradores debe tener derechos para Restaurar archivos y directorios, Acceder a este equipo desde la red y Administrar el registro de auditoría y seguridad.

  • Para que los usuarios inicien sesión mediante autenticación de nombre de usuario y contraseña (directamente o a través de una puerta de enlace), deben tener derechos para “Permitir el inicio de sesión local”, a menos que haya configurado StoreFront para validar las contraseñas mediante el Delivery Controller.

Esta no es una lista exhaustiva y es posible que se requieran otros derechos de acceso de usuario.

Configurar la pertenencia a grupos

Al configurar un grupo de servidores de StoreFront, se agregan los siguientes servicios al grupo de seguridad Administradores:

  • Citrix Configuration Replication (NT SERVICE\CitrixConfigurationReplication)
  • Citrix Cluster Join (NT SERVICE\CitrixClusterService). Este servicio solo es visible en servidores que forman parte de un grupo y solo se ejecuta mientras la unión está en curso.

La pertenencia de estos grupos es necesaria para que StoreFront funcione correctamente, para:

  • Crear, exportar, importar y eliminar certificados y definir permisos de acceso en ellos
  • Leer y escribir en el Registro de Windows
  • Agregar y quitar ensamblados de Microsoft .NET Framework en la caché Global Assembly Cache (GAC)
  • Acceder a la carpeta **Archivos de programa\Citrix\**<Ubicación de StoreFront>
  • Agregar, modificar y quitar identidades de grupos de aplicaciones de IIS y aplicaciones web de IIS
  • Agregar, modificar y quitar grupos de seguridad local y reglas de firewall
  • Agregar y quitar servicios de Windows y complementos de PowerShell
  • Registrar puntos finales de Microsoft Windows Communication Framework (WCF)

En actualizaciones de StoreFront, esta lista de operaciones puede cambiarse sin previo aviso.

La instalación de StoreFront también crea los siguientes grupos de seguridad locales:

  • CitrixClusterMembers
  • CitrixCWServiceReadUsers
  • CitrixCWServiceWriteUsers
  • CitrixDelegatedAuthenticatorUsers
  • CitrixDelegatedDirectoryClaimFactoryUsers
  • CitrixPNRSReplicators
  • CitrixPNRSUsers
  • CitrixStoreFrontAdministrators
  • CitrixSubscriptionServerUsers
  • CitrixSubscriptionsStoreServiceUsers
  • CitrixSubscriptionsSyncUsers

StoreFront mantiene la pertenencia de los miembros de estos grupos de seguridad. Se utilizan para el control de acceso dentro de StoreFront y no se aplican a recursos de Windows tales como archivos y carpetas. No modifique los miembros de estos grupos.

NTLM

StoreFront usa NTLM para autenticarse entre los servidores de un grupo de servidores. Si inhabilita NTLM, StoreFront no podrá sincronizar los datos entre los servidores StoreFront de un grupo de servidores.

Puede configurar el servidor para que solo use NTLMv2 y rechace NTLMv1; consulte la documentación de Microsoft.

Certificados en StoreFront

Certificados de servidor

Los certificados de servidor se usan para identificar las máquinas y para aplicar seguridad TLS (Transport Layer Security) al transporte de datos en StoreFront. Si decide habilitar ICA File Signing, StoreFront también puede utilizar los certificados para firmar los archivos ICA de forma digital.

Para obtener más información, consulte Comunicación entre usuarios finales y StoreFront y ICA File Signing.

Certificados de administración de tokens

Tanto los servicios de autenticación como los almacenes requieren certificados para la administración de tokens. StoreFront genera un certificado autofirmado cuando se crean servicios de autenticación o almacenes. Los certificados autofirmados que genera StoreFront no deben utilizarse para otros fines.

Certificados de Citrix Delivery Services

StoreFront guarda una serie de certificados en un almacén de certificados de Windows personalizado (Citrix Delivery Services). Los siguientes servicios usan estos certificados: Citrix Configuration Replication Service, Citrix Credential Wallet Service, y Citrix Subscriptions Store Service. Cada servidor de StoreFront de un clúster tiene una copia de estos certificados. Estos servicios no dependen de TLS para las comunicaciones seguras y no se usan como certificados TLS. Estos certificados se crean cuando se crea un almacén de StoreFront o cuando se instala StoreFront. No modifique el contenido de este almacén de certificados de Windows.

Certificados de firma de código

StoreFront incluye una serie de scripts de PowerShell (.ps1) en la carpeta <directorio de instalación>\Scripts. La instalación predeterminada de StoreFront no hace uso de estos scripts. Con ellos se pueden simplificar los pasos de configuración para tareas específicas que se llevan a cabo con poca frecuencia. Estos scripts están firmados, lo que permite que StoreFront admita la directiva de ejecución de PowerShell. Recomendamos usar la directiva AllSigned (La directiva Restringida no se admite, ya que impide la ejecución de scripts de PowerShell.) StoreFront no altera la directiva de ejecución de PowerShell.

Aunque StoreFront no instala un certificado de firma de código en el almacén Editores de confianza, Windows puede agregar automáticamente el certificado de firma de código ahí. Esto ocurre cuando el script de PowerShell se ejecuta con la opción Ejecutar siempre. (Si selecciona la opción No ejecutar nunca, el certificado se agrega al almacén de Certificados en los que no se confía, y los scripts de PowerShell de StoreFront no se ejecutarán.) Una vez que el certificado de firma de código haya sido agregado al almacén Editores de confianza, Windows ya no comprueba su caducidad. Puede quitar este certificado del almacén Editores de confianza después de que las tareas de StoreFront se hayan completado.

Versiones de TLS

StoreFront usa TLS 1.2 o una versión posterior para comunicarse con los Delivery Controllers y los Cloud Connectors.

En Windows Server 2022 o una versión posterior, puede configurar IIS para inhabilitar TLS 1.0 y 1.1 para las conexiones de clientes. Para obtener más información, consulte Proteger StoreFront con HTTPS.

Puede inhabilitar TLS 1.0 y 1.1 como servidor y como cliente mediante la directiva de grupo o los parámetros del Registro de Windows. Consulte la documentación de Microsoft.

Separar la seguridad de StoreFront

Si implementa aplicaciones web en el mismo dominio Web (nombre de dominio y puerto) que StoreFront, cualquier posible problema de seguridad de esas aplicaciones web podrían afectar a su vez a la seguridad de la implementación de StoreFront. Cuando se necesita un mayor nivel de seguridad es necesario separarlos: Citrix recomienda implementar StoreFront en un dominio Web aparte.

ICA File Signing

StoreFront ofrece la opción de firmar de forma digital los archivos ICA mediante un certificado especificado en el servidor, para que las versiones de la aplicación Citrix Workspace que admiten esta función puedan verificar que el archivo proviene de una fuente de confianza. Los archivos ICA se pueden firmar con cualquier algoritmo hash que admita el sistema operativo que se ejecuta en el servidor de StoreFront, incluidos SHA-1 y SHA-256. Para obtener más información, consulte Habilitar ICA File Signing.

Cambio de contraseña por parte de los usuarios

Puede permitir que los usuarios que inicien sesión con credenciales de dominio de Active Directory desde un explorador web cambien sus contraseñas, ya sea en cualquier momento o solo cuando hayan caducado. No obstante, esto deja funciones de seguridad importantes al alcance de cualquier persona que pueda acceder a los almacenes que utilizan el servicio de autenticación. Si su organización cuenta con una directiva de seguridad que solo permite utilizar las funciones de cambio de contraseñas de los usuarios para uso interno, asegúrese de que no se pueda acceder a los almacenes desde fuera de la red corporativa. Al crear el servicio de autenticación, la configuración predeterminada impide que los usuarios cambien sus contraseñas, incluso aunque hayan caducado. Para obtener más información, consulte Permitir que los usuarios cambien sus contraseñas.

Personalizaciones

Para reforzar la seguridad, no escriba personalizaciones que carguen contenido o scripts desde servidores que no estén bajo su control. Copie el contenido o el script en la carpeta de personalización del sitio web que está personalizando. Si StoreFront está configurado para conexiones HTTPS, asegúrese de que todos los enlaces con el contenido o scripts personalizados usan también HTTPS.

Encabezados de seguridad

Al ver el sitio web de un almacén a través de un explorador web, StoreFront devuelve estos encabezados relacionados con la seguridad que imponen restricciones al explorador web.

Nombre del encabezado Valor Descripción
content-security-policy frame-ancestors 'none' De esta forma, se evita que otros sitios incrusten sitios web de StoreFront dentro de un marco y los ataques de secuestro de clics. Además, la página HTML incluye una etiqueta meta que contiene una content-security-policy que restringe las fuentes de scripts para mitigar los ataques XSS.
X-Content-Type-Options nosniff Esto evita la detección de tipos de MIME.
X-Frame-Options deny De esta forma, se evita que otros sitios incrusten sitios web de StoreFront dentro de un marco que impide ataques de secuestro de clics. Ya no se reconoce gracias a content-security-policy con frame-ancestors 'none', pero algunos exploradores web antiguos sí que lo reconocen porque no admiten content-security-policy.
X-XSS-Protection 1; mode=block Utilizado por algunos exploradores web para mitigar ataques XSS (scripting entre sitios)

Cookies

StoreFront usa varias cookies. Algunas de las cookies utilizadas en el funcionamiento del sitio web son las siguientes:

Cookie Descripción
ASP.NET_SessionId Rastrea la sesión del usuario, incluido el estado de autenticación. Tiene HttpOnly establecido.
CtxsAuthId Para evitar los ataques de fijación de sesiones, StoreFront también controla si el usuario está autenticado mediante esta cookie. Tiene HttpOnly establecido.
CsrfToken Se usa para evitar la falsificación de solicitudes entre sitios mediante el patrón estándar de token de cookie a encabezado. El servidor establece un token en la cookie. El cliente lee el token de la cookie e incluye el token en la cadena de consulta o en un encabezado en las solicitudes posteriores. Esta cookie no debe tener HttpOnly establecido para que el JavaScript del cliente pueda leerla.
CtxsDeviceId Identifica el dispositivo. Tiene HttpOnly establecido.

StoreFront establece otras cookies para rastrear el estado del usuario, algunas de las cuales deben leerse mediante JavaScript, por lo que no tienen HttpOnly establecido. Estas cookies no contienen ninguna información relacionada con la autenticación ni otros datos confidenciales.

Información adicional de seguridad

Nota:

Esta información puede cambiar en cualquier momento y sin previo aviso.

Es posible que su organización quiera realizar análisis de seguridad de StoreFront por motivos normativos. Las opciones de configuración anteriores pueden ayudar a eliminar algunos hallazgos en los informes de análisis de seguridad.

Si hay una puerta de enlace entre el analizador de seguridad y StoreFront, algunos hallazgos pueden estar relacionados con la puerta de enlace en lugar de con StoreFront. Los informes de análisis de seguridad generalmente no distinguen estos hallazgos (por ejemplo, la configuración de TLS). Debido a esto, las descripciones técnicas de los informes de análisis de seguridad pueden ser engañosas.