终端安全和防病毒最佳实践
概述
本文提供了有关在 Citrix Virtual Apps and Desktops 环境中配置防病毒软件的指南,以及在其他 Citrix 技术和功能(例如 Cloud Connector、Provisioning Services 等)上配置防病毒软件的资源。不正确的防病毒配置是我们在现场看到的最常见问题之一。它可能会导致各种问题,从性能问题或用户体验降低到各种组件的超时和故障。
在本技术论文中,我们介绍了与虚拟化环境中的最佳防病毒部署相关的几个主要主题:代理 Provisioning 备和撤销置备、签名更新、推荐排除项列表和性能优化。这些建议的成功实施取决于防病毒供应商和安全团队。请咨询他们以获得更具体的建议。
警告! 本文包含防病毒排除项。了解防病毒排除和优化会增加系统的攻击面,并可能使计算机暴露于各种安全威胁,这一点非常重要。但是,以下准则通常代表了安全性和性能之间的最佳权衡。Citrix 不建议实施任何这些排除项或优化,直到在实验室环境中进行严格的测试以彻底了解安全性和性能之间的权衡。Citrix 还建议组织在继续执行任何类型的生产部署之前,请其防病毒和安全团队参阅以下准则。
代理注册
安装在每个置备虚拟机上的代理软件通常需要向中央站点注册,以便进行管理、报告状态和其他活动。为了成功注册,每个代理人必须具有唯一可识别的身份。
使用 Provisioning Services (PVS) 或 Machine Creation Services (MCS) 等技术从单个映像中置备的计算机时,了解每个代理的标识方式以及虚拟化环境是否需要任何说明非常重要。某些供应商使用动态信息(如 MAC 地址或计算机名称)进行计算机标识。其他人使用更传统的方法,即在安装过程中生成的随机字符串。为了防止注册冲突,每台计算机都需要生成唯一标识符。在非持久性环境中注册通常使用启动脚本来完成,该脚本可自动从持久位置恢复计算机标识数据。
在更动态的环境中,了解取消置备计算机的行为方式、清理是手动操作或是否自动执行,也很重要。一些供应商提供与虚拟机管理程序甚至 Delivery Controller 的集成,从而可以在预配计算机时自动创建或删除。
建议: 询问安全供应商如何实施其代理的注册/取消注册。如果在使用单映像管理的环境中注册需要更多步骤,请在映像密封说明中包含这些步骤,最好是作为全自动脚本。
签名更新
及时一致更新的签名是终端安全解决方案最重要的方面之一。大多数供应商使用本地缓存、递增更新的签名,这些签名存储在每个受保护的设备上。
对于非持久性计算机,了解签名的更新方式以及它们的存储位置非常重要。这使您能够了解并尽量减少恶意软件感染计算机的机会之窗。
尤其是在更新不是增量的并且可能达到大量的情况下,您可以考虑将持久存储附加到每个非持久性计算机的部署,以便在重置和映像更新之间保持更新缓存完好无损。使用这种方法,最大限度地减少机会窗口和定义更新对性能的影响。
除了对每个置备计算机进行签名更新之外,还必须定义更新主映像的策略。建议自动执行此过程,也是定期使用最新签名更新主映像。这对于增量更新尤其重要,在这些更新中,您将最大限度地减少每个虚拟机所需的流量。
在虚拟化环境中管理签名更新的另一种方法是用集中式扫描引擎完全取代分散签名的性质。虽然这样做主要是为了最大限度地减少防病毒对性能的影响,但它也具有集中签名更新的副作用。
建议: 询问您的安全供应商如何在防病毒软件中更新签名。预期的大小和频率是多少,更新是否增量?对于非持久性环境是否有任何建议?
性能优化
防病毒软件(尤其是配置不当时)可能会对可扩展性和整体用户体验产生负面影响。因此,必须了解性能影响,以确定造成这种影响的原因以及如何最大限度地减少这种影响。
针对各种防病毒供应商和实施,可用的性能优化策略和方法有所不同。最常见和有效的方法之一是提供集中卸载防病毒扫描功能。而不是每台机器负责扫描(通常是相同的)样品,而是集中扫描并仅执行一次。此方法针对虚拟化环境进行了优化;但是,请确保了解其对高可用性的影响。
将扫描卸载到专用设备可在虚拟化环境中非常有效
另一种方法是基于对磁盘的只读部分进行预扫描,在 Provisioning 之前在主映像上执行。了解这对机会窗口的影响非常重要(例如,如果磁盘已经包含受感染的文件,但在扫描前阶段没有特征码可用,该怎么办?)。这种优化通常与仅写事件的扫描相结合,因为所有读取都将来自预扫描的磁盘部分,或者来自特定于会话的写入缓存/差异磁盘,在写入操作期间已经扫描过。通常,一个很好的妥协是将实时扫描(优化)与计划扫描(系统的全面扫描)结合起来。
最常见的扫描优化是只关注虚拟机之间的差异
建议: 性能优化可以大大改善用户体验。但是,它们也可以被视为安全风险。因此,建议咨询您的供应商和您的安全团队。大多数具有虚拟化环境解决方案的防病毒供应商都提供优化的扫描引擎。
防病毒排除项
防病毒最常见(也是最重要的)优化是所有组件的防病毒排除的正确定义。虽然某些供应商可以自动检测 Citrix 组件并应用排除项,但对于大多数环境,这是一项手动任务,需要在管理控制台中为防病毒配置。
实时扫描通常建议排除项。但 Citrix 建议使用计划扫描定期扫描扫描排除的文件和文件夹。为了减轻任何潜在的性能影响,建议在非营业时间或非高峰时间执行计划扫描。
需要始终保持排除的文件和文件夹的完整性。组织可以考虑使用商业文件完整性监控或主机入侵防护解决方案来保护被排除在实时或访问扫描之外的文件和文件夹的完整性。这种类型的数据完整性监视中不包括数据库和日志文件,因为这些文件预计会更改。如果必须将整个文件夹排除在实时扫描或按访问扫描之外,Citrix 建议密切监视在排除的文件夹中创建新文件的情况。
仅扫描本地驱动器-或禁用网络扫描。假设所有远程位置可能包括承载用户配置文件和重定向文件夹的文件服务器都受到防病毒和数据完整性解决方案的监视。否则,建议排除所有置备计算机访问的网络共享。示例包括托管重定向文件夹或用户配置文件的共享。
建议: 与您的供应商和安全团队一起审查这些建议。
- 在创建排除策略之前,查看所有文件/文件夹是否存在,并确认它们是否存在。
- 为不同组件实施多个排除策略,而不是为所有组件创建一个大型策略。
- 要尽量减少机会窗口,请实施实时扫描和调度扫描的组合。
Virtual Apps and Desktops
Delivery Controller
文件:
%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+)
文件夹:
%ProgramData%\Citrix\Broker\Cache (7.6+)
流程:
%ProgramFiles%\Citrix\Broker\Service\BrokerService.exe
%ProgramFiles%\Citrix\Broker\Service\HighAvailabilityService.exe (7.12+)
%ProgramFiles%\Citrix\ConfigSync\ConfigSyncService.exe (7.12+)
Virtual Delivery Agent
文件:
%UserProfile%\AppData\Local\Temp\Citrix\HDXRTConnector\*\*.txt
流程:
%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
(仅限桌面操作系统) -
%ProgramFiles%\Citrix\ICAService\CpSvc.exe
(仅限桌面操作系统)
WebSocketService.exe 文件可以在各种 CVAD 版本的不同位置找到。以下是受支持的 LTSR 版本和最新 CR 版本的列表。如果您正在运行任何其他版本的 CVAD,我们建议首先确认文件位置。
-
%ProgramFiles%\Citrix\HTML5 Video Redirection\WebSocketService.exe
(CVAD 7.15 LTSR-台式机和服务器操作系统) -
%ProgramFiles(x86)%\Citrix\System32\WebSocketService.exe
(CVAD 1912 LTSR-仅限服务器操作系统) -
%ProgramFiles%\Citrix\ICAService\WebSocketService.exe
(CVAD 1912 LTSR-仅限台式机操作系统) -
%ProgramFiles(x86)%\Citrix\HDX\bin\WebSocketService.exe
(CVAD 2003+-台式机和服务器操作系统)
虚拟交付代理-HDX RealTime Optimization Pack
文件:
%UserProfile%\AppData\Local\Temp\Citrix\RTMediaEngineSRV\MediaEngineSRVDebugLogs**.txt
流程:
%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
适用于 Windows 的 Workspace 应用程序/Receiver for Windows
文件:
%UserProfile%\AppData\Local\Temp\Citrix\RTMediaEngineSRV\MediaEngineSRVDebugLogs\*\*.txt
流程:
-
%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
(针对 Microsoft Workspace 团队应用程序 2009.5 或更早版本的优化) -
%ProgramFiles(x86)%\Citrix\ICA Client\HdxRtcEngine.exe
(针对工作区应用程序 2009.6 或更高版本的 Microsoft Teams 优化)注意:
Citrix Workspace 应用程序的这些排除项通常不是必需的。只有在防病毒软件配置的策略比平常更严格的环境中,或者在同时使用多个安全客户端(AV、DLP、HIP 等)的情况下,我们才看到需要这些设备。
预配
Provisioning 服务器
文件:
*.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
流程:
%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
(仅当使用 PXE 时)
置备目标设备
文件:
.vdiskcache
-
vdiskdif.vhdx
(7.x 及更高版本时使用带溢出的 RAM 缓存) %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)
流程:
%ProgramFiles%\Citrix\Provisioning Services\BNDevice.exe
StoreFront
文件:
%SystemRoot%\ServiceProfiles\NetworkService\AppData\Roaming\Citrix\SubscriptionsStore\**\PersistentDictionary.edb
流程:
%ProgramFiles%\Citrix\Receiver StoreFront\Services\SubscriptionsStoreService\Citrix.DeliveryServices.SubscriptionsStore.ServiceHost.exe
%ProgramFiles%\Citrix\Receiver StoreFront\Services\CredentialWallet\Citrix.DeliveryServices.CredentialWallet.ServiceHost.exe
Cloud Connector
文件:
%SystemRoot%\ServiceProfiles\NetworkService\HaDatabaseName.mdf
%SystemRoot%\ServiceProfiles\NetworkService\HaImportDatabaseName.mdf
%SystemRoot%\ServiceProfiles\NetworkService\HaDatabaseName_log.ldf
%SystemRoot%\ServiceProfiles\NetworkService\HaImportDatabaseName_log.ldf
文件夹:
%SystemDrive%\Logs\CDF
%ProgramData%\Citrix\WorkspaceCloud\Logs
流程:
%ProgramFiles%\Citrix\XaXdCloudProxy\XaXdCloudProxy.exe
%ProgramFiles%\Citrix\Broker\Service\HighAvailabilityService.exe
%ProgramFiles%\Citrix\ConfigSync\ConfigSyncService.exe
Workspace Environment Management-服务器
流程:
Norskale Broker Service.exe
Norskale Broker Service Configuration Utility.exe
Norskale Database Management Utility.exe
Workspace Environment Management-代理
流程:
AgentGroupPolicyUtility.exe
Citrix.Wem.Agent.LogonService.exe
-
Citrix.Wem.Agent.Service.exe
(在本地版本 1909 和云版本 1903 之前,此过程被称为Norskale Agent Host Service.exe
) VUEMCmdAgent.exe
VUEMUIAgent.exe
会话录制-服务器
流程:
%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
文件:
%ProgramFiles%\Citrix\SessionRecording\Server\App_Data*.xml
文件夹:
C:\SessionRecordings
C:\SessionRecordingsRestored
%SystemRoot%\System32\msmq
%ProgramFiles%\Citrix\SessionRecording\Server\Bin\log
会话录制-代理
流程:
%ProgramFiles%\Citrix\SessionRecording\Agent\Bin\SsRecAgent.exe
%ProgramFiles%\Citrix\SessionRecording\Agent\Bin\SsRecAgentWrapper.exe
文件:
%SystemRoot%\System32\drivers\ssrecdrv.sys
%SystemRoot%\System32\drivers\srminifilterdrv.sys
文件夹:
%SystemRoot%\System32\msmq
会话录制-播放器
流程:
%ProgramFiles(x86)%\Citrix\SessionRecording\Player\Bin\SsRecPlayer.exe
文件夹:
%UserProfile%\AppData\Local\Citrix\SessionRecording\Player\Cache