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 Cloud Connectors

Citrix recomienda usar el protocolo HTTPS para proteger los datos que pasan entre StoreFront y los Cloud Connectors. Consulte How to Enable SSL on Cloud Connectors to Secure XML Traffic. Como alternativa, también puede configurar Windows para proteger la comunicación entre los servidores mediante IPSec.

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

Puedes 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 ISAP. 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.

Grupos de aplicaciones

StoreFront crea varios grupos de aplicaciones. 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.

Configurar derechos de usuario

Nota:

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.

Cuando se instala StoreFront, sus grupos de aplicaciones reciben el derecho de Iniciar sesión como un servicio, y los privilegios siguientes: Ajustar las cuotas de la memoria para un proceso, Generar auditorías de seguridad y Reemplazar un símbolo (token) de nivel de proceso. Este es el comportamiento normal de instalación cuando se crean los grupos de aplicaciones. Los grupos de aplicaciones son Citrix Configuration API, Citrix Delivery Services Resources, Citrix Delivery Services Authentication, y Citrix Receiver para Web.

No es necesario que cambie estos derechos de usuario. Estos privilegios no se usan en StoreFront y están inhabilitados automáticamente.

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)

Si configura la delegación restringida de Kerberos en StoreFront para XenApp 6.5, esto crea el servicio Citrix StoreFront Protocol Transition (NT SERVICE\SYSTEM). Este servicio requiere un privilegio que normalmente no se concede a servicios Windows.

Configurar parámetros de servicios

Los servicios Windows de StoreFront enumerados arriba en la sección “Configuración de derechos de usuario” están configurados para iniciar sesión con la identidad NETWORK SERVICE (Servicio de red); no cambie esta configuración. El servicio Citrix StoreFront Protocol Transition inicia sesión como SYSTEM (Sistema); no cambie esta configuración.

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.

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.

Inhabilitar versiones antiguas de TLS

Citrix recomienda inhabilitar TLS 1.0 y 1.1 para la comunicación entre cliente y servidores en el servidor Windows. Puede hacerlo mediante una directiva de grupo o, también, mediante 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. StoreFront usa scripts y estilos integrados, por lo que no es posible usar una directiva de seguridad de contenido que los bloquee. Los sitios web de StoreFront solo muestran el contenido configurado por los administradores y no muestran ningún contenido introducido por el usuario, por lo que no es necesario bloquear los scripts en línea.
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.