StoreFront

Sécuriser votre déploiement StoreFront

Cet article dresse la liste des domaines susceptibles d’avoir un impact sur la sécurité du système lors du déploiement et de la configuration de StoreFront.

Communication entre les utilisateurs et StoreFront

Citrix vous recommande de sécuriser les communications entre les machines des utilisateurs et StoreFront à l’aide du protocole HTTPS. Cela garantit que les mots de passe et autres données envoyés entre le client et StoreFront sont cryptés. De plus, les connexions HTTP simples peuvent être compromises par diverses attaques, telles que les attaques de type « man-in-the-middle », en particulier lorsque les connexions sont établies à partir d’emplacements non sécurisés tels que des hotspots Wi-Fi publics. En l’absence de la configuration IIS appropriée, StoreFront utilise le protocole HTTP pour les communications.

Selon votre configuration, les utilisateurs peuvent accéder à StoreFront via une passerelle ou un équilibreur de charge. Vous pouvez mettre fin à la connexion HTTPS au niveau de la passerelle ou de l’équilibreur de charge. Toutefois, dans ce cas, Citrix vous recommande toujours de sécuriser les connexions entre la passerelle ou l’équilibreur de charge et StoreFront à l’aide du protocole HTTPS.

Pour activer le protocole HTTPS, désactiver le protocole HTTP et activer le protocole HSTS, consultez Sécurisation de StoreFront avec HTTPS.

Communications entre StoreFront et les serveurs Citrix Virtual Apps and Desktops

Citrix recommande d’utiliser le protocole HTTPS pour sécuriser le transfert de données entre StoreFront et vos Delivery Controller Citrix Virtual Apps and Desktops. Consultez Installer les certificats de serveur TLS sur des Controller. Vous pouvez également configurer Windows pour sécuriser la communication entre les serveurs à l’aide d’IPsec.

Vous pouvez configurer le Delivery Controller et StoreFront pour vous assurer que seuls les serveurs StoreFront de confiance peuvent communiquer avec le Delivery Controller. Consultez Gérer les clés de sécurité.

Communications StoreFront avec les Cloud Connector

Citrix recommande d’utiliser le protocole HTTPS pour sécuriser le transfert de données entre StoreFront et vos Cloud Connector. Découvrez comment activer le protocole SSL sur les Cloud Connector pour sécuriser le trafic XML. Vous pouvez également configurer Windows pour sécuriser la communication entre les serveurs à l’aide d’IPsec.

Accès distant

Citrix ne recommande pas d’exposer votre serveur StoreFront directement sur Internet. Citrix recommande d’utiliser une passerelle Citrix Gateway pour fournir l’authentification et l’accès aux utilisateurs distants.

Renforcement de Microsoft Internet Information Services (IIS)

Vous pouvez configurer StoreFront avec une configuration IIS limitée. Veuillez noter qu’il ne s’agit pas de la configuration IIS par défaut.

Extensions de nom de fichier

Vous pouvez utiliser le filtrage des requêtes pour configurer une liste d’extensions de fichiers autorisées et interdire les extensions de nom de fichier non répertoriées. Consultez la documentation IIS.

StoreFront requiert les extensions de nom de fichier suivantes :

  • . (extension vierge)
  • .appcache
  • .aspx
  • .cr
  • .css
  • .dtd
  • .gif
  • .htm
  • .html
  • .ica
  • .ico
  • .jpg
  • .js
  • .png
  • .svg
  • .txt
  • .xml

Si le téléchargement ou la mise à niveau de l’application Citrix Workspace est activé(e) pour le site Web d’un magasin, StoreFront requiert également ces extensions de nom de fichier :

  • .dmg
  • .exe

Si l’application Citrix Workspace pour HTML5 est activée, StoreFront requiert également ces extensions de nom de fichier :

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

Verbes

Vous pouvez utiliser le filtrage des requêtes pour configurer une liste de verbes autorisés et interdire les verbes non répertoriés. Consultez la documentation IIS.

  • GET
  • POST
  • HEAD

Caractères non ASCII dans les URL

Si vous vous assurez que le nom du magasin et le nom du site Web n’utilisent que des caractères ASCII, les URL de StoreFront ne contiendront pas de caractères ASCII. Vous pouvez utiliser le filtrage des demandes pour interdire les caractères non ASCII. Consultez la documentation IIS.

Types MIME

Vous pouvez supprimer les types MIME du shell du système d’exploitation correspondant aux extensions de fichiers suivantes :

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

Consultez la documentation IIS.

Supprimer l’en-tête X-Powered-By

Par défaut, IIS indique qu’il utilise ASP.NET en ajoutant un en-tête X-Powered-By avec la valeur ASP.NET. Vous pouvez configurer IIS pour supprimer cet en-tête. Consultez la documentation IIS sur les en-têtes personnalisés.

Supprimer l’en-tête Server avec la version IIS

Par défaut, IIS indique la version d’IIS en ajoutant un en-tête Server. Vous pouvez configurer IIS pour supprimer cet en-tête. Consultez la documentation IIS sur le filtrage des demandes.

Déplacer le site Web StoreFront vers une partition distincte

Vous pouvez héberger les sites Web StoreFront sur une partition distincte de celle des fichiers système. Dans IIS, vous devez déplacer le site Web par défaut ou créer un site distinct sur la partition appropriée avant de créer votre déploiement StoreFront.

Fonctionnalités IIS

Pour obtenir la liste des fonctionnalités IIS installées et utilisées par StoreFront, consultez la section Configuration système requise. Vous pouvez supprimer d’autres fonctionnalités IIS.

Bien que StoreFront n’utilise pas directement les filtres ISAP, cette fonctionnalité est requise par ASP.NET et ne peut donc pas être désinstallée.

Mappages de gestionnaires

StoreFront requiert les mappages de gestionnaires suivants. Vous pouvez supprimer d’autres mappages de gestionnaires.

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

Consultez la documentation IIS sur les gestionnaires.

Filtres ISAPI

StoreFront ne requiert aucun filtre ISAP. Vous pouvez supprimer tous les filtres ISAPI. Consultez la documentation IIS sur les filtres ISAPI.

Règles d’autorisation .NET

Par défaut, la « règle d’autorisation .NET » est définie sur Autoriser tous les utilisateurs sur les serveurs IIS. Par défaut, le site Web utilisé par StoreFront hérite de cette configuration.

Si vous supprimez ou modifiez la règle d’autorisation .NET au niveau du serveur, vous devez remplacer les règles du site Web utilisé par StoreFront pour ajouter une règle d’autorisation pour « Tous les utilisateurs » et supprimer toute autre règle.

Pools d’applications

StoreFront crée un certain nombre de pools d’applications. Ne modifiez pas les pools d’applications utilisés par chaque application IIS ni l’identité de chaque pool. Si vous utilisez plusieurs sites, il n’est pas possible de configurer chaque site pour qu’il utilise des pools d’applications distincts.

Dans les paramètres Recyclage, vous pouvez définir le délai d’inactivité du pool d’applications et la limite de mémoire virtuelle. Notez que lorsque le pool d’applications « Citrix Receiver pour Web » est recyclé, les utilisateurs connectés via un navigateur Web sont déconnectés. Par conséquent, le recyclage est configuré par défaut à 2 h 00 chaque jour afin de minimiser les perturbations. Si vous modifiez l’un des paramètres de recyclage, cela peut entraîner la déconnexion des utilisateurs à d’autres moments de la journée.

Paramètres requis

  • Ne modifiez pas les paramètres d’authentification IIS. StoreFront gère l’authentification et configure les répertoires du site StoreFront avec les paramètres d’authentification appropriés.
  • Pour le serveur StoreFront sous Paramètres SSL, ne sélectionnez pas Certificats clients : Exiger. L’installation de StoreFront configure les pages appropriées du site StoreFront avec ce paramètre.
  • StoreFront requiert des cookies pour l’état de la session et pour d’autres fonctionnalités. Dans certains répertoires, sous État de la session, Paramètres des cookies, le paramètre Mode doit être défini sur Utiliser les cookies.
  • StoreFront exige que le paramètre Niveau de confiance .NET soit défini sur Confiance totale. Ne définissez pas le niveau de confiance .NET sur une autre valeur.

Configurer les droits des utilisateurs

Remarque :

Microsoft IIS est activé dans le cadre de l’installation de StoreFront. Microsoft IIS accorde le droit de connexion Ouvrir une session en tant que tâche et le privilège Emprunter l’identité d’un client après l’authentification au groupe IIS_IUSRS intégré. Il s’agit d’un comportement normal d’installation de Microsoft IIS. Ne modifiez pas ces droits d’utilisateur. Reportez-vous à la documentation de Microsoft pour plus de détails.

Lorsque vous installez StoreFront, le droit d’ouverture de session Ouvrir une session en tant que service et les privilèges Ajuster les quotas de mémoire pour un processus, Générer des audits de sécurité et Remplacer un jeton de niveau processus sont accordés à ses pools d’applications. Il s’agit d’un comportement d’installation normal lorsque des pools d’applications sont créés. Les pools d’applications sont Citrix Configuration Api, Citrix Delivery Services Resources, Citrix Delivery Services Authentication et Citrix Receiver pour Web.

Vous n’avez pas besoin de changer ces droits d’utilisateur. Ces privilèges ne sont pas utilisés par StoreFront et sont automatiquement désactivés.

L’installation de StoreFront crée les services Windows suivants :

  • 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 vous configurez la délégation Kerberos StoreFront contrainte pour XenApp 6.5, le service Transition du protocole Citrix StoreFront est créé (NT SERVICE\SYSTEM). Ce service requiert un privilège qui n’est pas normalement accordé aux services Windows.

Configurer les paramètres du service

Les services Windows StoreFront répertoriés ci-dessus dans la section « Configurer les droits des utilisateurs » sont configurés pour ouvrir une session avec l’identité NETWORK SERVICE. Ne modifiez pas cette configuration. Le service de transition du protocole Citrix StoreFront ouvre une session en tant que SYSTEM. Ne modifiez pas cette configuration.

Configurer l’appartenance aux groupes

Lorsque vous configurez un groupe de serveurs StoreFront, les services suivants sont ajoutés au groupe de sécurité Administrateurs :

  • Citrix Configuration Replication (NT SERVICE\CitrixConfigurationReplication)
  • Citrix Cluster Join (NT SERVICE\CitrixClusterService). Ce service n’est visible que sur les serveurs qui font partie d’un groupe et ne s’exécute que lorsque la jointure est en cours.

Ces appartenances de groupe sont requises pour que StoreFront fonctionne correctement, pour :

  • Créer, exporter, importer et supprimer des certificats et définir les autorisations d’accès
  • Lire et écrire dans le registre Windows
  • Ajouter et supprimer des assemblys Microsoft .NET Framework dans Global Assembly Cache (GAC)
  • Accéder au dossier **Program Files\Citrix\**<StoreFrontLocation>
  • Ajouter, modifier et supprimer des identités de pool d’applications IIS et des applications Web IIS
  • Ajouter, modifier et supprimer des groupes de sécurité locaux et des règles de pare-feu
  • Ajouter et supprimer des services Windows et des composants enfichables PowerShell
  • Enregistrer des points de terminaison Microsoft Windows Communication Framework (WCF)

Dans les mises à jour de StoreFront, cette liste d’opérations peut être modifiée sans préavis.

L’installation de StoreFront crée également les groupes de sécurité locaux suivants :

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

StoreFront conserve l’appartenance de ces groupes de sécurité. Ils sont utilisés pour le contrôle d’accès dans StoreFront et ne sont pas appliqués aux ressources Windows, telles que les fichiers et les dossiers. Ne modifiez pas ces appartenances de groupe.

Certificats dans StoreFront

Certificats de serveur

Les certificats de serveur sont utilisés pour l’identification des machines et la sécurité du transport TLS dans StoreFront. Si vous choisissez d’activer la signature de fichier ICA, StoreFront peut également utiliser des certificats pour signer numériquement les fichiers ICA.

Pour plus d’informations, consultez Communication entre les utilisateurs et StoreFront et Signature du fichier ICA.

Certificats de gestion des jetons

Les services d’authentification et les magasins requièrent chacun des certificats pour la gestion des jetons. StoreFront génère un certificat auto-signé lors de la création d’un service d’authentification ou d’un magasin. Les certificats auto-signés générés par StoreFront ne doivent pas être utilisés dans un quelconque autre but que ce soit.

Certificats Citrix Delivery Services

StoreFront conserve un certain nombre de certificats dans un magasin de certificats Windows personnalisé (Citrix Delivery Services). Les services Citrix Configuration Replication Service, Citrix Credential Wallet Service et Citrix Subscriptions Store Service utilisent ces certificats. Chaque serveur StoreFront dans un cluster dispose d’une copie de ces certificats. Ces services ne dépendent pas de TLS pour sécuriser les communications et ces certificats ne sont pas utilisés comme certificats de serveur TLS. Ces certificats sont créés lorsqu’un magasin StoreFront est créé ou que StoreFront est installé. Ne modifiez pas le contenu de ce magasin de certificats Windows.

Certificats de signature de code

StoreFront comprend un certain nombre de scripts PowerShell (.ps1) dans le dossier <Répertoired’installation>\Scripts. L’installation de StoreFront par défaut ne peut pas utiliser ces scripts. Ils simplifient les étapes de configuration des tâches spécifiques ou non fréquentes. Ces scripts sont signés, ce qui permet à StoreFront de prendre en charge la stratégie d’exécution PowerShell. Nous recommandons la stratégie AllSigned. (La stratégie Restreint n’est pas prise en charge car elle empêche l’exécution des scripts PowerShell.) StoreFront ne modifie pas la stratégie d’exécution de PowerShell.

Bien que StoreFront n’installe pas de certificat de signature de code dans le magasin Éditeurs approuvés, Windows peut automatiquement y ajouter le certificat de signature de code. Cela se produit lorsque le script PowerShell est exécuté avec l’option Toujours exécuter. (Si vous sélectionnez l’option Ne jamais exécuter, le certificat est ajouté au magasin Certificats non autorisés, et les scripts PowerShell StoreFront ne seront pas exécutés.) Une fois que le certificat de code de signature a été ajouté au magasin Éditeurs approuvés, sa date d’expiration n’est plus vérifiée par Windows. Vous pouvez supprimer ce certificat du magasin Éditeurs approuvés après que les tâches StoreFront ont été effectuées.

Désactivation des anciennes versions TLS

Citrix vous recommande de désactiver les protocoles TLS 1.0 et 1.1 pour les communications client et serveur sur le serveur Windows. Vous pouvez le faire via la stratégie de groupe ou via les paramètres de registre Windows. Consultez la documentation Microsoft.

Séparation de la sécurité de StoreFront

Si vous déployez des applications Web dans le même domaine Web (nom de domaine et de port) en tant que StoreFront, tout risque ayant trait à la sécurité dans ces applications Web peut potentiellement réduire la sécurité de votre déploiement StoreFront. Lorsqu’un degré plus important de séparation de la sécurité est nécessaire, Citrix recommande de déployer StoreFront dans un domaine Web distinct.

Signature de fichier ICA

StoreFront permet de signer numériquement les fichiers ICA à l’aide d’un certificat spécifié sur le serveur, afin que les versions de l’application Citrix Workspace qui prennent en charge cette fonctionnalité puissent vérifier que le fichier provient d’une source approuvée. Les fichiers ICA peuvent être signés en utilisant n’importe quel algorithme de hachage pris en charge par le système d’exploitation s’exécutant sur le serveur StoreFront, et notamment SHA-1 et SHA-256. Pour de plus amples informations, consultez la section Activer la signature de fichier ICA.

Mot de passe modifié par l’utilisateur

Vous pouvez autoriser les utilisateurs qui ouvrent une session via un navigateur Web avec des informations d’identification de domaine Active Directory à modifier leurs mots de passe, à tout moment ou uniquement lorsqu’ils ont expiré. Toutefois, cela expose des fonctions de sécurité sensibles à toute personne pouvant accéder aux magasins qui utilisent ce service d’authentification. Si votre organisation possède une stratégie de sécurité qui restreint les fonctions de modification des mots de passe utilisateur à un usage interne uniquement, vous devez vous assurer qu’aucun des magasins ne sont accessibles depuis l’extérieur de votre réseau interne. Lorsque vous créez le service d’authentification, la configuration par défaut empêche les utilisateurs de modifier leurs mots de passe, même s’ils ont expiré. Pour plus d’informations, consultez la section Autoriser les utilisateurs à modifier leurs mots de passe.

Personnalisations

Pour renforcer la sécurité, n’écrivez pas de personnalisations destinées à charger du contenu ou des scripts depuis des serveurs n’étant pas sous votre contrôle. Copiez le contenu ou le script dans le dossier personnalisé du site Web sur lequel vous effectuez les personnalisations. Si StoreFront est configuré pour des connexions HTTPS, assurez-vous que les liens vers le contenu ou les scripts personnalisés utilisent également le protocole HTTPS.

En-têtes de sécurité

Lorsque vous consultez le site Web d’un magasin via un navigateur Web, StoreFront renvoie les en-têtes de sécurité suivants qui imposent des restrictions au navigateur Web.

Nom de l’en-tête Valeur Description
content-security-policy frame-ancestors 'none' Cela empêche d’autres sites d’intégrer des sites Web StoreFront dans un cadre, ce qui évite les attaques de détournement de clic. StoreFront utilise des scripts et des styles intégrés. Il n’est donc pas possible d’utiliser une stratégie de sécurité du contenu qui les bloque. Les sites Web StoreFront n’affichent que le contenu configuré par les administrateurs et n’affichent aucun contenu saisi par l’utilisateur. Il n’est donc pas nécessaire de bloquer les scripts intégrés.
X-Content-Type-Options nosniff Cela permet d’éviter la détection malveillante de type MIME.
X-Frame-Options deny Cela empêche d’autres sites d’intégrer des sites Web StoreFront dans un cadre, ce qui évite les attaques de détournement de clic. Ce paramètre est rendu obsolète par content-security-policy avec la définition de frame-ancestors 'none' mais est compris par certains navigateurs plus anciens qui ne prennent pas en charge content-security-policy.
X-XSS-Protection 1; mode=block Utilisé par certains navigateurs pour atténuer les attaques par script intersites (XSS).

Cookies

StoreFront utilise plusieurs cookies. Certains des cookies utilisés dans le cadre du fonctionnement du site Web sont les suivants :

Cookie Description
ASP.NET_SessionId Suit la session de l’utilisateur, y compris l’état d’authentification. Le paramètre HttpOnly est défini.
CtxsAuthId Pour empêcher les attaques de réparation de session, StoreFront vérifie en outre si l’utilisateur est authentifié à l’aide de ce cookie. Le paramètre HttpOnly est défini.
CsrfToken Utilisé pour empêcher la falsification de requêtes intersites via le modèle standard de jeton cookie-to-header. Le serveur définit un jeton dans le cookie. Le client lit le jeton à partir du cookie et inclut le jeton dans la chaîne de requête ou dans un en-tête dans les requêtes suivantes. Le paramètre HttpOnly ne doit pas être défini sur ce cookie pour que le JavaScript du client puisse le lire.
CtxsDeviceId Identifie l’appareil. Le paramètre HttpOnly est défini.

StoreFront définit un certain nombre d’autres cookies pour suivre l’état des utilisateurs, dont certains qui doivent être lus par JavaScript et sur lesquels le paramètre HttpOnly ne doit pas être défini. Ces cookies ne contiennent aucune information relative à l’authentification ni aucune autre information confidentielle.

Informations supplémentaires sur la sécurité

Remarque :

Ces informations peuvent changer à tout moment, sans préavis.

Votre organisation peut vouloir effectuer des analyses de sécurité de StoreFront pour des raisons réglementaires. Les options de configuration précédentes peuvent aider à éliminer certaines détections dans les rapports d’analyse de sécurité.

S’il existe une passerelle entre l’analyseur de sécurité et StoreFront, certains résultats peuvent être liés à la passerelle plutôt qu’à StoreFront lui-même. Les rapports d’analyse de sécurité ne distinguent généralement pas ces résultats (par exemple, configuration TLS). Pour cette raison, les descriptions techniques contenues dans les rapports d’analyse de sécurité peuvent être trompeuses.