XenApp and XenDesktop

安全注意事项和最佳实践

注意:

您的组织可能需要满足特定的安全标准以符合法规要求。本文档不涵盖此主题,因为此类安全标准会随时间变化。有关安全标准和 Citrix 产品的最新信息,请参阅 https://www.citrix.com/security/

安全最佳实践

确保环境中的所有计算机都安装了最新的安全补丁。一个优点是您可以使用瘦客户端作为终端,这简化了此任务。

使用防病毒软件保护环境中的所有计算机。

考虑使用特定于平台的反恶意软件,例如适用于 Windows 计算机的 Microsoft 增强缓解体验工具包 (EMET)。一些权威机构建议在其受监管的环境中使用 Microsoft 支持的最新版本 EMET。请注意,根据 Microsoft 的说法,EMET 可能与某些软件不兼容,因此在生产环境中部署之前,应使用您的应用程序对其进行彻底测试。XenApp 和 XenDesktop 已在默认配置下使用 EMET 5.5 进行了测试。目前,不建议在安装了虚拟投递代理 (VDA) 的计算机上使用 EMET。

使用边界防火墙保护环境中的所有计算机,包括在适当的隔离区边界。

如果您正在将传统环境迁移到此版本,您可能需要重新定位现有的边界防火墙或添加新的边界防火墙。例如,假设数据中心中传统客户端和数据库服务器之间存在边界防火墙。使用此版本时,该边界防火墙必须放置在虚拟桌面和用户设备位于一侧,而数据中心中的数据库服务器和 Delivery Controller 位于另一侧的位置。因此,请考虑在数据中心内创建一个隔离区以包含数据库服务器和 Controller。此外,还应考虑在用户设备和虚拟桌面之间提供保护。

环境中的所有计算机都应受到个人防火墙的保护。当您安装核心组件和 VDA 时,如果检测到 Windows 防火墙服务(即使防火墙未启用),您可以选择自动打开组件和功能通信所需的端口。您也可以选择手动配置这些防火墙端口。如果您使用不同的防火墙,则必须手动配置防火墙。

注意: TCP 端口 1494 和 2598 用于 ICA 和 CGP,因此很可能在防火墙上打开,以便数据中心外的用户可以访问它们。Citrix 建议您不要将这些端口用于其他任何用途,以避免无意中将管理界面暴露给攻击的可能性。端口 1494 和 2598 已在互联网号码分配机构 (https://www.iana.org/) 正式注册。

所有网络通信都应根据您的安全策略进行适当的安全保护和加密。您可以使用 IPSec 保护 Microsoft Windows 计算机之间的所有通信;有关如何执行此操作的详细信息,请参阅您的操作系统文档。此外,用户设备和桌面之间的通信通过 Citrix SecureICA 进行保护,该协议默认配置为 128 位加密。您可以在创建或更新交付组时配置 SecureICA。

注意:

Citrix SecureICA 是 ICA/HDX 协议的一部分,但它不是像传输层安全 (TLS) 那样的符合标准的网络安全协议。您还可以使用 TLS 保护用户设备和桌面之间的网络通信。要配置 TLS,请参阅 传输层安全 (TLS)

应用 Windows 帐户管理的最佳实践。在通过 Machine Creation Services 或 Provisioning Services 复制模板或映像之前,不要在其中创建帐户。不要使用存储的特权域帐户安排任务。不要手动创建共享的 Active Directory 计算机帐户。这些做法将有助于防止机器攻击获取本地持久帐户密码,然后使用它们登录到属于其他人的 MCS/PVS 共享映像。

应用程序安全性

为防止非管理员用户执行恶意操作,建议您在 VDA 主机和本地 Windows 客户端上为安装程序、应用程序、可执行文件和脚本配置 Windows AppLocker 规则。

管理用户权限

仅授予用户所需的权限。Microsoft Windows 权限继续以常规方式应用于桌面:通过用户权限分配配置权限,并通过组策略配置组成员身份。此版本的一个优点是,可以授予用户对桌面的管理权限,而无需同时授予对存储该桌面的计算机的物理控制权。

规划桌面权限时,请注意:

  • 默认情况下,当非特权用户连接到桌面时,他们看到的是运行该桌面的系统时区,而不是其自身用户设备的时区。有关如何允许用户在使用桌面时查看其本地时间的信息,请参阅更改基本设置
  • 作为桌面管理员的用户对该桌面拥有完全控制权。如果桌面是池化桌面而非专用桌面,则必须信任该用户,使其能够与该桌面的所有其他用户(包括未来用户)共享。该桌面的所有用户都需要意识到这种情况对其数据安全造成的潜在永久风险。此注意事项不适用于专用桌面,专用桌面只有一个用户;该用户不应是任何其他桌面的管理员。
  • 作为桌面管理员的用户通常可以在该桌面上安装软件,包括潜在的恶意软件。该用户还可能监视或控制连接到该桌面的任何网络上的流量。

某些应用程序需要桌面权限,即使它们是为用户而非管理员设计的。这些用户可能没有那么强的安全风险意识。

即使这些应用程序的数据不敏感,也要将其视为高度敏感的应用程序。请考虑以下方法来降低安全风险:

  • 强制执行双因素身份验证并禁用应用程序的任何单点登录机制
  • 强制执行上下文访问策略
  • 将应用程序发布到专用桌面。如果应用程序必须发布到共享托管桌面,则不要将任何其他应用程序发布到该共享托管桌面
  • 确保桌面权限仅应用于该桌面,而不应用于其他计算机
  • 为应用程序启用会话录制。同时在应用程序和 Windows 本身中启用其他安全日志记录功能。
  • 配置 XenApp 和 XenDesktop® 以限制与应用程序一起使用的功能(例如,剪贴板、打印机、客户端驱动器和 USB 重定向)
  • 启用应用程序的任何安全功能。严格限制其与用户要求相符 - 不多不少。
  • 配置 Windows 的安全功能以严格匹配用户的要求。如果只将该单个应用程序发布到桌面,这将是一个更简单的配置;例如,可以使用限制性 AppLocker 配置。控制对文件系统的访问。
  • 计划重新配置、升级或替换应用程序,以便将来不再需要桌面权限。

这些方法无法消除需要桌面权限的应用程序的所有安全风险。

管理登录权限

用户帐户和计算机帐户都需要登录权限。与 Microsoft Windows 权限一样,登录权限继续以常规方式应用于桌面:通过用户权限分配配置登录权限,并通过组策略配置组成员身份。

Windows 登录权限包括:本地登录、通过远程桌面服务登录、通过网络登录(从网络访问此计算机)、作为批处理作业登录以及作为服务登录。

对于计算机帐户,仅授予计算机所需的登录权限。“从网络访问此计算机”登录权限是必需的:

  • 在 VDA 上,针对交付控制器的计算机帐户
  • 在交付控制器上,针对 VDA 的计算机帐户。请参阅 基于 Active Directory OU 的控制器发现
  • 在 StoreFront™ 服务器上,针对同一 StoreFront 服务器组中其他服务器的计算机帐户

对于用户帐户,仅授予用户所需的登录权限。

根据 Microsoft 的说法,默认情况下,Remote Desktop Users 组被授予“允许通过远程桌面服务登录”的登录权限(域控制器除外)。

您的组织的安全策略可能会明确规定,此组应从该登录权限中删除。请考虑以下方法:

  • 适用于服务器操作系统的虚拟投递代理 (VDA) 使用 Microsoft 远程桌面服务。您可以将远程桌面用户组配置为受限组,并通过 Active Directory 组策略控制该组的成员资格。有关详细信息,请参阅 Microsoft 文档。
  • 对于 XenApp® 和 XenDesktop 的其他组件(包括适用于桌面操作系统的 VDA),不需要远程桌面用户组。因此,对于这些组件,远程桌面用户组不需要“允许通过远程桌面服务登录”的登录权限;您可以将其删除。此外:
    • 如果您通过远程桌面服务管理这些计算机,请确保所有此类管理员都已是 Administrators 组的成员。
    • 如果您不通过远程桌面服务管理这些计算机,请考虑在这些计算机上禁用远程桌面服务本身。

尽管可以将用户和组添加到“拒绝通过远程桌面服务登录”的登录权限中,但通常不建议使用拒绝登录权限。有关详细信息,请参阅 Microsoft 文档。

配置用户权限

交付控制器™ 安装会创建以下 Windows 服务:

  • Citrix AD Identity Service (NT SERVICE\CitrixADIdentityService): Manages Microsoft Active Directory computer accounts for VMs.
  • Citrix Analytics (NT SERVICE\CitrixAnalytics):如果站点管理员已批准收集,则收集站点配置使用信息供 Citrix 使用。然后,它将此信息提交给 Citrix,以帮助改进产品。
  • Citrix App Library (NT SERVICE\CitrixAppLibrary): Supports management and provisioning of AppDisks, AppDNA integration, and management of App-V.
  • 思杰代理服务 (NT SERVICE\CitrixBrokerService):选择可供用户使用的虚拟桌面或应用程序。
  • Citrix 配置日志记录服务 (NT SERVICE\CitrixConfigurationLogging):记录管理员对站点进行的所有配置更改和其他状态更改。
  • Citrix 配置服务 (NT SERVICE\CitrixConfigurationService):这是一个用于存储和管理整个站点共享配置的中央存储库。
  • Citrix 委派管理服务 (NT SERVICE\CitrixDelegatedAdmin):此服务负责管理并控制授予系统管理员的权限。
  • Citrix 环境测试服务 (NT SERVICE\CitrixEnvTest):管理其他交付控制器服务的自检。
  • Citrix 主机服务 (NT SERVICE\CitrixHostService):存储 XenApp 或 XenDesktop 部署中使用的虚拟机管理程序基础结构信息,并提供控制台用于枚举虚拟机管理程序池中资源的功能。
  • Citrix Machine Creation Service (NT SERVICE\CitrixMachineCreationService): Orchestrates the creation of desktop VMs.
  • Citrix 监视服务 (NT SERVICE\CitrixMonitor):收集 XenApp 或 XenDesktop 的指标,存储历史信息,并为故障排除和报告工具提供查询接口。
  • 思杰店面服务 (NT SERVICE\ CitrixStorefront):支持店面的管理。(它本身不属于店面组件。)
  • 思杰 店面 特权管理服务 (NT SERVICE\CitrixPrivilegedService):支持 店面 的特权管理操作。(它本身不属于 店面 组件。)
  • Citrix 配置同步服务 (NT SERVICE\CitrixConfigSyncService):将配置数据从主站点数据库传播到本地主机缓存。
  • Citrix 高可用性服务 (NT SERVICE\CitrixHighAvailabilityService):当主站点数据库不可用时,选择可供用户使用的虚拟桌面或应用程序。

Delivery Controller 安装还会创建以下 Windows 服务。这些服务在与其他 Citrix 组件一起安装时也会创建:

  • Citrix 诊断工具 COM 服务器 (NT SERVICE\CdfSvc):支持收集供 Citrix 支持部门使用的诊断信息。
  • Citrix 遥测服务 (NT SERVICE\CitrixTelemetryService):收集诊断信息供 Citrix 分析,以便管理员可以查看分析结果和建议,从而帮助诊断站点问题。

Delivery Controller 安装还会创建以下 Windows 服务。此服务目前未使用。如果已启用,请将其禁用。

  • 思杰远程代理提供程序 (NT 服务\XaXdCloudProxy)

Delivery Controller 安装还会创建以下 Windows 服务。这些服务目前未使用,但必须启用。请勿禁用它们。

  • Citrix Orchestration Service (NT SERVICE\CitrixOrchestration)
  • Citrix Trust Service (NT SERVICE\CitrixTrust)

除了 Citrix Storefront 特权管理服务之外,这些服务被授予“作为服务登录”的登录权限以及“调整进程内存配额”、“生成安全审核”和“替换进程级别令牌”的特权。您无需更改这些用户权限。Delivery Controller 不使用这些特权,并且它们会自动禁用。

配置服务相关设置

除了 Citrix Storefront 特权管理服务和 Citrix 遥测服务之外,上面 配置用户权限 部分中列出的 Delivery Controller Windows 服务都配置为以 NETWORK SERVICE 身份登录。请勿更改这些服务设置。

Citrix Storefront 特权管理服务配置为以本地系统 (NT AUTHORITY\SYSTEM) 身份登录。这是 Delivery Controller StoreFront 操作所必需的,这些操作通常不适用于服务(包括创建 Microsoft IIS 站点)。请勿更改其服务设置。

Citrix Telemetry Service 配置为以其自己的服务特定身份登录。

您可以禁用 Citrix 遥测服务。除了此服务以及已禁用的服务之外,请勿禁用任何其他交付控制器 Windows 服务。

配置注册表设置

不再需要在 VDA 文件系统上启用 8.3 文件名和文件夹的创建。可以将注册表项 NtfsDisable8dot3NameCreation 配置为禁用 8.3 文件名和文件夹的创建。您还可以使用 fsutil.exe behavior set disable8dot3 命令进行配置。

部署场景对安全性的影响

您的用户环境可以包含两种用户设备:一种是由您的组织未进行管理且完全由用户自行控制的设备,另一种则是由您的组织进行管理和维护的设备。这两种环境所涉及的安全性考量通常有所不同。

托管用户设备

托管用户设备处于管理控制之下;它们要么由您自己控制,要么由您信任的其他组织控制。您可以直接向用户配置和提供用户设备;或者,您可以提供终端,在这些终端上,单个桌面以全屏模式运行。请遵循上述所有托管用户设备的一般安全最佳实践。此版本具有用户设备上所需软件最少的优点。

托管用户设备可以配置为在全屏模式或窗口模式下使用:

  • 全屏模式:用户使用通常的“登录到 Windows”屏幕登录。然后使用相同的用户凭据自动登录到此版本。
  • 用户在窗口中查看其桌面:用户首先登录到用户设备,然后通过此版本随附的网站登录到此版本。

非托管用户设备

未由受信任组织管理和维护的用户设备不能被视为处于管理控制之下。例如,您可能允许用户获取和配置自己的设备,但用户可能不会遵循上述通用安全最佳实践。此版本具有一个优势,即可以安全地将桌面交付给非托管用户设备。这些设备仍应具有基本的防病毒保护,以抵御键盘记录器和类似的输入攻击。

数据存储注意事项

使用此版本时,您可以阻止用户将数据存储在其物理控制下的用户设备上。但是,您仍必须考虑用户将数据存储在桌面上的影响。用户将数据存储在桌面上不是一个好做法;数据应存储在文件服务器、数据库服务器或其他可以得到适当保护的存储库中。

您的桌面环境可能包含各种类型的桌面,例如池桌面和专用桌面。用户绝不应将数据存储在用户之间共享的桌面(例如池桌面)上。如果用户将数据存储在专用桌面上,则如果该桌面稍后可供其他用户使用,则应删除该数据。

混合版本部署环境

在某些升级过程中,混合版本环境是不可避免的。请遵循最佳实践,并尽量缩短不同版本的 Citrix 组件共存的时间。在混合版本环境中,例如,安全策略可能无法统一实施。

注意: 这在其他软件产品中也很常见;使用早期版本的 Active Directory 只能在一定程度上对更高版本的 Windows 强制执行组策略。

以下场景描述了在特定混合版本 Citrix 环境中可能发生的安全问题。当使用 Citrix Receiver 1.7 连接到在 XenApp and XenDesktop 7.6 Feature Pack 2 中运行 VDA 的虚拟桌面时,站点中会启用策略设置 允许在桌面和客户端之间传输文件,但运行 XenApp and XenDesktop 7.1 的 Delivery Controller 无法禁用此设置。它无法识别此策略设置,因为此设置是在产品的更高版本中发布的。此策略设置允许用户将文件上传和下载到其虚拟桌面,这就是安全问题所在。要解决此问题,请将 Delivery Controller(或 Studio 的独立实例)升级到 7.6 Feature Pack 2 版本,然后使用组策略禁用此策略设置。或者,在所有受影响的虚拟桌面上使用本地策略。

远程电脑访问安全注意事项

远程电脑访问实施以下安全功能:

  • 支持智能卡使用。
  • 当远程会话连接时,办公室电脑的显示器将显示为空白。
  • 远程电脑访问将所有键盘和鼠标输入重定向到远程会话,但 CTRL+ALT+DEL 以及支持 USB 的智能卡和生物识别设备除外。
  • SmoothRoaming 功能仅支持单个用户。
  • 当用户远程会话连接到办公电脑时,只有该用户可以恢复对办公电脑的本地访问。要恢复本地访问,用户需在本地电脑上按 Ctrl-Alt-Del,然后使用远程会话所用的相同凭据登录。如果您的系统集成了适当的第三方凭据提供程序,用户还可以通过插入智能卡或利用生物识别技术来恢复本地访问。可以通过组策略对象 (GPO) 启用快速用户切换或编辑注册表来覆盖此默认行为。

注意: Citrix 建议您不要将 VDA 管理员权限分配给普通会话用户。

自动分配功能

默认情况下,远程电脑访问支持将多个用户自动分配给 VDA。在 XenDesktop 5.6 Feature Pack 1 中,管理员可以使用 RemotePCAccess.ps1 PowerShell 脚本覆盖此行为。此版本使用注册表项来允许或禁止多个自动远程电脑分配;此设置适用于整个站点。

注意: 不正确地编辑注册表可能会导致严重问题,可能需要重新安装操作系统。Citrix 无法保证可以解决因不正确使用注册表编辑器而导致的问题。请自行承担使用注册表编辑器的风险。编辑注册表之前,请务必备份注册表。

要将自动分配限制为单个用户:

在站点的每个控制器上,设置以下注册表项:

HKEY\_LOCAL\_MACHINE\Software\Citrix|DesktopServer

Name: AllowMultipleRemotePCAssignments

Type: REG\_DWORD

Data: 0 = Disable multiple user assignment, 1 = (Default) Enable multiple user assignment.

如果存在任何现有用户分配,请使用 SDK 命令将其删除,以便 VDA 随后有资格进行单个自动分配。

  • Remove all assigned users from the VDA: $machine.AssociatedUserNames | %{ Remove-BrokerUser-Name $_ -Machine $machine
  • Remove the VDA from the Delivery Group: $machine | Remove-BrokerMachine -DesktopGroup $desktopGroup

重新启动物理办公电脑。

安全注意事项和最佳实践