Endpoint Security and Antivirus Best Practices

Aperçu

Cet article fournit des instructions pour la configuration des logiciels antivirus dans les environnements Citrix Virtual Apps and Desktops, ainsi que des ressources pour la configuration des logiciels antivirus sur d’autres technologies et fonctionnalités Citrix (par exemple, Cloud Connectors, Provisioning Services, etc.). Une configuration antivirus incorrecte est l’un des problèmes les plus courants que nous voyons sur le terrain. Il peut entraîner divers problèmes, allant des problèmes de performances ou des expériences utilisateur dégradées aux délais d’expiration et aux défaillances de divers composants.

Dans ce document technique, nous abordons quelques sujets importants relatifs aux déploiements d’antivirus optimaux dans des environnements virtualisés : Provisioning et désapprovisionnement des agents, mises à jour des signatures, liste des exclusions recommandées et optimisation des performances. La mise en œuvre réussie de ces recommandations dépend de votre fournisseur antivirus et de votre équipe de sécurité. Consultez-les pour obtenir des recommandations plus précises.

Avertissement ! Cet article contient des exclusions antivirus. Il est important de comprendre que les exclusions et les optimisations antivirus augmentent la surface d’attaque d’un système et peuvent exposer les ordinateurs à diverses menaces de sécurité. Cependant, les directives suivantes représentent généralement le meilleur compromis entre la sécurité et les performances. Citrix ne recommande pas d’implémenter ces exclusions ou optimisations tant que des tests rigoureux n’ont pas été effectués dans un environnement de laboratoire afin de bien comprendre les compromis entre sécurité et performances. Citrix recommande également aux entreprises de faire appel à leurs équipes antivirus et de sécurité pour examiner les directives suivantes avant de procéder à tout type de déploiement de production.

Enregistrements d’agents

Le logiciel de l’agent installé sur chaque machine virtuelle provisionnée doit généralement s’inscrire auprès d’un site central pour la gestion, la création de rapports d’état et d’autres activités. Pour que l’inscription soit réussie, chaque agent doit être identifiable de manière unique.

Avec les machines provisionnées à partir d’une seule image à l’aide de technologies telles que Provisioning Services (PVS) ou Machine Creation Services (MCS), il est important de comprendre comment chaque agent est identifié et si des instructions sont requises pour les environnements virtualisés. Certains fournisseurs utilisent des informations dynamiques telles que l’adresse MAC ou le nom de l’ordinateur pour l’identification de la machine. D’autres utilisent l’approche plus traditionnelle d’une chaîne aléatoire générée lors de l’installation. Pour éviter les enregistrements contradictoires, chaque machine doit générer un identifiant unique. L’enregistrement dans des environnements non persistants est souvent effectué à l’aide d’un script de démarrage qui restaure automatiquement les données d’identification de machine à partir d’un emplacement persistant.

Dans les environnements plus dynamiques, il est également important de comprendre comment se comporte le désapprovisioning des machines, si le nettoyage est une opération manuelle ou s’il est effectué automatiquement. Certains fournisseurs offrent une intégration avec des hyperviseurs ou même des delivery controller où les machines peuvent être créées ou supprimées automatiquement au fur et à mesure qu’elles sont provisionnées.

Recommandation : Demandez à votre fournisseur de services de sécurité comment l’enregistrement/la désinscription de ses agents est-elle mise en œuvre. Si l’enregistrement nécessite plus d’étapes pour les environnements avec gestion d’image unique, incluez ces étapes dans vos instructions de scellage d’image, de préférence sous forme de script entièrement automatisé.

Mises à jour des signatures

Les signatures constamment mises à jour sont l’un des aspects les plus importants des solutions de sécurité des terminaux. La plupart des fournisseurs utilisent des signatures mises en cache localement et mises à jour incrémentielles qui sont stockées sur chacun des périphériques protégés.

Avec les machines non persistantes, il est important de comprendre comment les signatures sont mises à jour et où elles sont stockées. Cela vous permet de comprendre et de minimiser la fenêtre d’opportunité pour les logiciels malveillants d’infecter la machine.

En particulier dans une situation où les mises à jour ne sont pas incrémentielles et peuvent atteindre une taille significative, vous pouvez envisager un déploiement dans lequel le stockage persistant est attaché à chacune des machines non persistantes afin de conserver le cache de mise à jour intact entre les réinitialisations et les mises à jour d’image. Grâce à cette approche, la fenêtre d’opportunité et l’impact sur le rendement d’une mise à jour des définitions sont minimisés.

Outre les mises à jour des signatures pour chacune des machines provisionnées, il est également important de définir une stratégie de mise à jour de l’image principale. L’automatisation de ce processus est recommandée, de même que la mise à jour régulière de l’image principale avec les dernières signatures. Ceci est particulièrement important pour les mises à jour incrémentielles dans lesquelles vous réduisez la quantité de trafic requise pour chaque machine virtuelle.

Une autre approche de la gestion des mises à jour des signatures dans des environnements virtualisés consiste à remplacer complètement la nature des signatures décentralisées par un moteur d’analyse centralisé. Bien que cela soit principalement fait pour minimiser l’impact sur les performances d’un antivirus, il présente également l’avantage secondaire de centraliser les mises à jour des signatures.

Recommandation : Demandez à votre fournisseur de sécurité comment les signatures sont mises à jour dans votre antivirus. Quelle est la taille et la fréquence prévues, et les mises à jour sont-elles incrémentielles ? Y a-t-il des recommandations pour les environnements non persistants ?

Optimisations des performances

Un antivirus, en particulier s’il est mal configuré, peut avoir un impact négatif sur l’évolutivité et l’expérience utilisateur globale. Il est donc important de comprendre l’impact sur le rendement pour déterminer ce qui en est à l’origine et comment il peut être réduit au minimum.

Les stratégies et approches d’optimisation des performances disponibles sont différentes pour différents fournisseurs et implémentations antivirus. L’une des approches les plus courantes et les plus efficaces consiste à fournir des capacités d’analyse antivirus de déchargement centralisé. Plutôt que chaque machine soit responsable de la numérisation des échantillons (souvent identiques), le balayage est centralisé et effectué une seule fois. Cette approche est optimisée pour les environnements virtualisés ; cependant, assurez-vous de bien comprendre son impact sur la haute disponibilité.

Déchargement antivirus Le déchargement d’analyses vers une appliance dédiée peut s’avérer très efficace dans les environnements virtualisés

Une autre approche est basée sur la pré-analyse des parties en lecture seule des disques, effectuée sur les images principales avant le Provisioning. Il est important de comprendre comment cela affecte la fenêtre d’opportunité (par exemple, que se passe-t-il si un disque contient déjà des fichiers infectés mais que les signatures ne sont pas disponibles pendant la phase de pré-analyse ?). Cette optimisation est souvent associée à l’analyse des événements en écriture seule, car toutes les lectures proviendront soit de parties de disque pré-analysées, soit d’un cache d’écriture/disque différentiel spécifique à la session qui a déjà été analysé pendant l’opération d’écriture. Souvent, un bon compromis consiste à combiner des analyses en temps réel (optimisées) avec des analyses planifiées (analyses complètes du système).

Analyse d'écriture antivirus L’optimisation d’analyse la plus courante consiste à se concentrer uniquement sur les différences entre les machines virtuelles

Recommandation : L’optimisation des performances peut grandement améliorer l’expérience utilisateur. Cependant, ils peuvent également être considérés comme un risque de sécurité. Par conséquent, il est recommandé de consulter votre fournisseur et votre équipe de sécurité. La plupart des fournisseurs d’antivirus dotés de solutions pour environnements virtualisés offrent des moteurs d’analyse optimisés.

Antivirus Exclusions

L’optimisation la plus courante (et souvent la plus importante) pour l’antivirus est la définition correcte des exclusions antivirus pour tous les composants. Bien que certains fournisseurs puissent détecter automatiquement les composants Citrix et appliquer des exclusions, il s’agit d’une tâche manuelle qui doit être configurée pour l’antivirus dans la console de gestion.

Les exclusions sont généralement recommandées pour l’analyse en temps réel. Toutefois, Citrix recommande d’analyser régulièrement les fichiers et dossiers exclus à l’aide d’analyses planifiées. Pour atténuer tout impact potentiel sur les performances, il est recommandé d’effectuer des analyses planifiées pendant les heures non ouvrables ou en dehors des heures de pointe.

L’intégrité des fichiers et dossiers exclus doit être maintenue en permanence. Les entreprises peuvent envisager d’utiliser une solution commerciale de surveillance de l’intégrité des fichiers ou Host Intrusion Prevention pour protéger l’intégrité des fichiers et dossiers qui ont été exclus de l’analyse en temps réel ou à l’accès. Les fichiers de base de données et journaux sont exclus dans ce type de surveillance de l’intégrité des données car ces fichiers sont censés changer. Si un dossier entier doit être exclu de l’analyse en temps réel ou à l’accès, Citrix recommande de surveiller de près la création de nouveaux fichiers dans les dossiers exclus.

Analyser uniquement les lecteurs locaux - ou désactiver l’analyse réseau. L’hypothèse est que tous les emplacements distants qui peuvent inclure des serveurs de fichiers hébergeant des profils utilisateur et des dossiers redirigés sont surveillés par des solutions antivirus et d’intégrité des données. Dans le cas contraire, il est recommandé d’exclure les partages réseau accessibles par toutes les machines provisionnées. Un exemple inclut les partages hébergeant des dossiers redirigés ou des profils utilisateur.

Recommandation : Consultez ces recommandations avec votre fournisseur et votre équipe de sécurité.

  • Vérifiez l’exclusion de tous les fichiers/dossiers et confirmez qu’ils existent avant de créer une stratégie d’exclusion.
  • Implémentez plusieurs stratégies d’exclusion pour différents composants au lieu de créer une stratégie de grande envergure pour chacun d’eux.
  • Pour minimiser la fenêtre d’opportunité, implémentez une combinaison d’analyses en temps réel et planifiées.

Virtual Apps and Desktops

Delivery Controllers

Fichiers :

  • %SystemRoot%\ServiceProfiles\NetworkService\HaDatabaseName.mdf (7.12+)
  • %SystemRoot%\ServiceProfiles\NetworkService\HaImportDatabaseName.mdf (7.12+)
  • %SystemRoot%\ServiceProfiles\NetworkService\HaDatabaseName_log.ldf (7.12+)
  • %SystemRoot%\ServiceProfiles\NetworkService\HaImportDatabaseName_log.ldf (7.12+)

Dossiers :

  • %ProgramData%\Citrix\Broker\Cache (7.6+)

Processus :

  • %ProgramFiles%\Citrix\Broker\Service\BrokerService.exe
  • %ProgramFiles%\Citrix\Broker\Service\HighAvailabilityService.exe (7.12+)
  • %ProgramFiles%\Citrix\ConfigSync\ConfigSyncService.exe (7.12+)

Virtual Delivery Agents

Fichiers :

  • %UserProfile%\AppData\Local\Temp\Citrix\HDXRTConnector\*\*.txt

Processus :

  • %ProgramFiles%\Citrix\User Profile Manager\UserProfileManager.exe
  • %ProgramFiles%\Citrix\Virtual Desktop Agent\BrokerAgent.exe
  • %SystemRoot%\System32\spoolsv.exe
  • %SystemRoot%\System32\winlogon.exe
  • %ProgramFiles%\Citrix\ICAService\picaSvc2.exe (OS de bureau uniquement)
  • %ProgramFiles%\Citrix\ICAService\CpSvc.exe (OS de bureau uniquement)

WebSocketService.exe fichier peut être trouvé à différents endroits dans différentes versions CVAD. Vous trouverez ci-dessous une liste des versions LTSR prises en charge et la dernière version CR. Si vous exécutez une autre version de CVAD, nous vous recommandons d’abord de confirmer l’emplacement du fichier.

  • %ProgramFiles%\Citrix\HTML5 Video Redirection\WebSocketService.exe (CVAD 7.15 LTSR - système d’exploitation de bureau et serveur)
  • %ProgramFiles(x86)%\Citrix\System32\WebSocketService.exe (CVAD 1912 LTSR - Système d’exploitation serveur uniquement)
  • %ProgramFiles%\Citrix\ICAService\WebSocketService.exe (CVAD 1912 LTSR - Système d’exploitation de bureau uniquement)
  • %ProgramFiles(x86)%\Citrix\HDX\bin\WebSocketService.exe (CVAD 2003+ - OS de bureau et serveur)

Virtual Delivery Agents - HDX RealTime Optimization Pack

Fichiers :

  • %UserProfile%\AppData\Local\Temp\Citrix\RTMediaEngineSRV\MediaEngineSRVDebugLogs**.txt

Processus :

  • %ProgramFiles(x86)%\Citrix\HDX RealTime Connector\AudioTranscoder.exe
  • %ProgramFiles(x86)%\Citrix\HDX RealTime Connector\MediaEngine.Net.Service.exe
  • %ProgramFiles(x86)%\Citrix\HDX RealTime Connector\MediaEngineService.exe

Application Workspace / Receiver pour Windows

Fichiers :

  • %UserProfile%\AppData\Local\Temp\Citrix\RTMediaEngineSRV\MediaEngineSRVDebugLogs\*\*.txt

Processus :

  • %ProgramFiles(x86)%\Citrix\ICA Client\MediaEngineService.exe (HDX RealTime Optimization Pack)
  • %ProgramFiles(x86)%\Citrix\ICA Client\CDViewer.exe
  • %ProgramFiles(x86)%\Citrix\ICA Client\concentr.exe
  • %ProgramFiles(x86)%\Citrix\ICA Client\wfica32.exe
  • %ProgramFiles(x86)%\Citrix\ICA Client\AuthManager\AuthManSvr.exe
  • %ProgramFiles(x86)%\Citrix\ICA Client\SelfServicePlugin\SelfService.exe
  • %ProgramFiles(x86)%\Citrix\ICA Client\SelfServicePlugin\SelfServicePlugin.exe
  • %ProgramFiles(x86)%\Citrix\ICA Client\HdxTeams.exe (Optimisation pour l’application Microsoft Teams for Workspace 2009.5 ou version antérieure)
  • %ProgramFiles(x86)%\Citrix\ICA Client\HdxRtcEngine.exe (Optimisation pour Microsoft Teams for Workspace application 2009.6 ou version ultérieure)

    Remarque :

    ces exclusions pour l’application Citrix Workspace ne sont généralement pas requises. Nous n’en avons constaté la nécessité que dans les environnements où l’antivirus est configuré avec des stratégies plus strictes que d’habitude, ou dans des situations où plusieurs agents de sécurité sont utilisés simultanément (AV, DLP, HIP, etc.).

Provisioning

Serveur de provisioning

Fichiers :

  • *.vhd
  • *.avhd
  • *.vhdx
  • *.avhdx
  • *.pvp
  • *.lok
  • %SystemRoot%\System32\drivers\CvhdBusP6.sys (Windows Server 2008 R2)
  • %SystemRoot%\System32\drivers\CVhdMp.sys (Windows Server 2012 R2)
  • %SystemRoot%\System32\drivers\CfsDep2.sys
  • %ProgramData%\Citrix\Provisioning Services\Tftpboot\ARDBP32.BIN

Processus :

  • %ProgramFiles%\Citrix\Provisioning Services\BNTFTP.EXE
  • %ProgramFiles%\Citrix\Provisioning Services\PVSTSB.EXE
  • %ProgramFiles%\Citrix\Provisioning Services\StreamService.exe
  • %ProgramFiles%\Citrix\Provisioning Services\StreamProcess.exe
  • %ProgramFiles%\Citrix\Provisioning Services\soapserver.exe
  • %ProgramFiles%\Citrix\Provisioning Services\Inventory.exe
  • %ProgramFiles%\Citrix\Provisioning Services\Notifier.exe
  • %ProgramFiles%\Citrix\Provisioning Services\MgmntDaemon.exe
  • %ProgramFiles%\Citrix\Provisioning Services\BNPXE.exe (uniquement si PXE est utilisé)

Provisioning de l’équipement cible

Fichiers :

  • .vdiskcache
  • vdiskdif.vhdx (7.x et supérieur lors de l’utilisation du cache RAM avec débordement)
  • %SystemRoot%\System32\drivers\bnistack6.sys
  • %SystemRoot%\System32\drivers\CfsDep2.sys
  • %SystemRoot%\System32\drivers\CVhdBusP6.sys
  • %SystemRoot%\System32\drivers\cnicteam.sys
  • %SystemRoot%\System32\drivers\CVhdMp.sys (7.x seulement)

Processus :

  • %ProgramFiles%\Citrix\Provisioning Services\BNDevice.exe

StoreFront

Fichiers :

  • %SystemRoot%\ServiceProfiles\NetworkService\AppData\Roaming\Citrix\SubscriptionsStore\**\PersistentDictionary.edb

Processus :

  • %ProgramFiles%\Citrix\Receiver StoreFront\Services\SubscriptionsStoreService\Citrix.DeliveryServices.SubscriptionsStore.ServiceHost.exe
  • %ProgramFiles%\Citrix\Receiver StoreFront\Services\CredentialWallet\Citrix.DeliveryServices.CredentialWallet.ServiceHost.exe

Cloud Connector

Fichiers :

  • %SystemRoot%\ServiceProfiles\NetworkService\HaDatabaseName.mdf
  • %SystemRoot%\ServiceProfiles\NetworkService\HaImportDatabaseName.mdf
  • %SystemRoot%\ServiceProfiles\NetworkService\HaDatabaseName_log.ldf
  • %SystemRoot%\ServiceProfiles\NetworkService\HaImportDatabaseName_log.ldf

Dossiers :

  • %SystemDrive%\Logs\CDF
  • %ProgramData%\Citrix\WorkspaceCloud\Logs

Processus :

  • %ProgramFiles%\Citrix\XaXdCloudProxy\XaXdCloudProxy.exe
  • %ProgramFiles%\Citrix\Broker\Service\HighAvailabilityService.exe
  • %ProgramFiles%\Citrix\ConfigSync\ConfigSyncService.exe

Workspace Environment Management - Serveur

Processus :

  • Norskale Broker Service.exe
  • Norskale Broker Service Configuration Utility.exe
  • Norskale Database Management Utility.exe

Workspace Environment Management - Agent

Processus :

  • AgentGroupPolicyUtility.exe
  • Citrix.Wem.Agent.LogonService.exe
  • Citrix.Wem.Agent.Service.exe ( avant la version locale 1909 et la version cloud 1903, ce processus était appelé Norskale Agent Host Service.exe)
  • VUEMCmdAgent.exe
  • VUEMUIAgent.exe

Enregistrement de session - Serveur

Processus :

  • %ProgramFiles%\Citrix\SessionRecording\Server\Bin\SsRecStorageManager.exe
  • %ProgramFiles%\Citrix\SessionRecording\Server\Bin\SsRecAnalyticsService.exe
  • %ProgramFiles%\Citrix\SessionRecording\Server\Bin\SsRecWebSocketServer.exe
  • %ProgramFiles%\Citrix\SessionRecording\Server\Bin\icldb.exe
  • %ProgramFiles%\Citrix\SessionRecording\Server\Bin\iclstat.exe
  • %ProgramFiles%\Citrix\SessionRecording\Server\Bin\SsRecServerConsole.exe
  • %ProgramFiles%\Citrix\SessionRecording\Server\Bin\TestPolicyAdmin.exe

Fichiers :

  • %ProgramFiles%\Citrix\SessionRecording\Server\App_Data*.xml

Dossiers :

  • C:\SessionRecordings
  • C:\SessionRecordingsRestored
  • %SystemRoot%\System32\msmq
  • %ProgramFiles%\Citrix\SessionRecording\Server\Bin\log

Enregistrement de session - Agent

Processus :

  • %ProgramFiles%\Citrix\SessionRecording\Agent\Bin\SsRecAgent.exe
  • %ProgramFiles%\Citrix\SessionRecording\Agent\Bin\SsRecAgentWrapper.exe

Fichiers :

  • %SystemRoot%\System32\drivers\ssrecdrv.sys
  • %SystemRoot%\System32\drivers\srminifilterdrv.sys

Dossiers :

  • %SystemRoot%\System32\msmq

Enregistrement de session - Lecteur

Processus :

  • %ProgramFiles(x86)%\Citrix\SessionRecording\Player\Bin\SsRecPlayer.exe

Dossiers :

  • %UserProfile%\AppData\Local\Citrix\SessionRecording\Player\Cache

Fournisseurs d’antivirus

Bitdefender - Implémentation des meilleures pratiques de sécurité dans le centre de données virtuel

Microsoft - Windows Defender dans les environnements VDI

Microsoft - Exclusions d’antivirus FSlogix

Trend Micro - Exclusions recommandées pour la sécurité profonde

Références

Programme de sécurité de l’espace de travail Citrix Ready

Recommandations Citrix pour la configuration des logiciels antivirus

Meilleures pratiques de Provisioning Services Antivirus

Couche antivirus avec Citrix App Layering

Endpoint Security and Antivirus Best Practices