Citrix Virtual Apps and Desktops

安全注意事项和最佳做法

注意:

您的组织可能需要符合特定安全标准才能满足监管要求。本文档不涉及此主题,因为这些安全标准随着时间的推移而发生变化。有关安全标准和 Citrix 产品的最新信息,请访问 http://www.citrix.com/security/

最佳安全做法

使用安全修补程序使您环境中的所有计算机始终保持最新。一项优势是您可以将瘦客户端用作终端,从而简化此任务。

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

考虑使用特定于平台的反恶意软件。

安装软件时,请安装到提供的默认路径。

  • 如果您将软件安装到所提供的默认路径以外的文件位置,请考虑向您的文件位置添加其他安全措施,例如受限权限。

所有网络通信都应该根据您的安全策略进行适当的保护和加密。您可以使用 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 防火墙服务(即使未启用防火墙),可以选择自动打开组件和功能通信所需的端口。您还可以选择手动配置这些防火墙端口。如果您使用其他防火墙,则必须手动对其进行配置。

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

注意:

TCP 端口 1494 和端口 2598 已用于 ICA 和 CGP,因此在防火墙上可能处于打开状态,以便数据中心之外的用户可以进行访问。Citrix 建议您不要为任何其他对象使用这些端口,以避免因疏忽而使管理接口处于打开状态,从而导致受到攻击。端口 1494 和 2598 是向 Internet 编号分配机构 (http://www.iana.org/) 正式注册的端口。

应用程序安全性

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

管理用户权限

只授予用户使用所需功能的权限。Microsoft Windows 权限仍可以通过常规方法应用于桌面:通过“用户权限分配”配置权限,通过“组策略”对成员身份进行分组。此版本的一个优点是可以授予用户对桌面的管理权限,而不必同时授予对存储此桌面的计算机的物理控制权限。

规划桌面权限时请注意以下几点:

  • 默认情况下,当无特权的用户连接到桌面后,他们会看到运行桌面的系统的时区,而不是他们自己的用户设备的时区。有关如何允许用户在使用桌面时查看自己的本地时间的信息,请参阅“管理交付组”一文。
  • 身份为某桌面管理员的用户可以完全控制该桌面。如果某桌面是池桌面,而不是专用桌面,则此桌面的所有其他用户(包括将来的用户)必须信任此用户。此桌面的所有用户都需要了解这种情况可能对数据安全性造成的永久风险。对于专用桌面则不需要考虑这个问题,因为专用桌面只有一个用户;此用户不应是其他任何桌面的管理员。
  • 通常,身份为某桌面管理员的用户可以在此桌面上安装软件,包括潜在恶意软件。该用户可能还可以监视或控制任何连接到该桌面的网络上的通信。

管理登录权限

用户帐户和计算机帐户均需要登录权限。 如果授予 Microsoft Windows 权限,登录权限将继续通过常规方法应用于桌面:通过“用户权限分配”配置登录权限,通过“组策略”对成员身份进行分组。

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

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

  • 在 VDA 上,针对 Delivery Controller 的计算机帐户
  • 在 Delivery Controller 上,针对 VDA 的计算机帐户。请参阅基于 Active Directory OU 的控制器发现
  • 在 StoreFront 服务器上,针对位于相同 StoreFront 服务器组的其他服务器的计算机帐户

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

根据 Microsoft 的规定,默认情况下,“远程桌面用户”组被授予登录权限“允许通过远程桌面服务登录”(在域控制器上除外)。

贵组织的安全策略可能会明确声明应将此组从该登录权限中删除。 请考虑使用以下方法:

  • 适用于多会话操作系统的 Virtual Delivery Agent (VDA) 使用 Microsoft 远程桌面服务。 可以将“远程桌面用户”组配置为受限组,并通过 Active Directory 组策略配置组的成员身份。 有关详细信息,请参阅 Microsoft 文档。
  • 对于 Citrix Virtual Apps and Desktops 的其他组件(包括适用于单会话操作系统的 VDA),不需要“远程桌面用户”组。 因此,对于这些组件,“远程桌面用户”组不需要登录权限“允许通过远程桌面服务登录”,可以将其删除。此外:
    • 如果通过远程桌面服务管理这些计算机,请确保所有此类管理员已属于“管理员”组的成员。
    • 如果不通过远程桌面服务管理这些计算机,请考虑在这些计算机上禁用远程桌面服务本身。

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

配置用户权限

Delivery Controller 安装会创建以下 Windows 服务:

  • Citrix AD Identity Service (NT SERVICE\CitrixADIdentityService):管理虚拟机的 Microsoft Active Directory 计算机帐户。
  • Citrix Analytics (NT SERVICE\CitrixAnalytics):收集由 Citrix 使用的站点配置使用情况信息(如果站点管理员已批准执行此收集)。 随后会将此信息提交给 Citrix,以帮助改进产品。
  • Citrix App Library (NT SERVICE\CitrixAppLibrary):支持对 AppDisk、AppDNA 集成进行管理和预配,支持对 App-V 进行管理。
  • Citrix Broker Service (NT SERVICE\CitrixBrokerService):选择对用户可用的虚拟桌面或应用程序。
  • Citrix Configuration Logging Service (NT SERVICE\CitrixConfigurationLogging):记录由管理员对站点执行的所有配置更改和其他状态更改。
  • Citrix Configuration Service (NT SERVICE\CitrixConfigurationService):用于共享的配置的站点范围的存储库。
  • Citrix Delegated Administration Service (NT SERVICE\CitrixDelegatedAdmin):管理向管理员授予的权限。
  • Citrix Environment Test Service (NT SERVICE\CitrixEnvTest):管理其他 Delivery Controller 服务的自检。
  • Citrix Host Service (NT SERVICE\CitrixHostService):存储关于在 Citrix Virtual Apps 或 Citrix Virtual Desktops 部署中使用的虚拟机管理程序基础结构的信息,并提供由控制台用于枚举虚拟机管理程序池中资源的功能。
  • Citrix Machine Creation Services (NT SERVICE\CitrixMachineCreationService):调配桌面虚拟机的创建过程。
  • Citrix Monitor Service (NT SERVICE\CitrixMonitor):收集 Citrix Virtual Apps 或 Citrix Virtual Desktops 的指标、存储历史记录信息,并提供查询界面以用于故障排除和报告工具。
  • Citrix Storefront Service (NT SERVICE\ CitrixStorefront):支持对 StoreFront 进行管理。 (它不包含在 StoreFront 组件自身中。)
  • Citrix Storefront Privileged Administration Service (NT SERVICE\CitrixPrivilegedService):支持 StoreFront 的特权管理操作。(它不包含在 StoreFront 组件自身中。)
  • Citrix Config Synchronizer Service (NT SERVICE\CitrixConfigSyncService):将主站点数据库中的配置数据传播到本地主机缓存。
  • Citrix High Availability Service (NT SERVICE\CitrixHighAvailabilityService):在主站点数据库不可用时,选择用户可用的虚拟桌面或应用程序。

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

  • Citrix Diagnostic Facility COM Server (NT SERVICE\CdfSvc):支持收集由 Citrix 使用的诊断信息。
  • Citrix Telemetry Service (NT SERVICE\CitrixTelemetryService):收集由 Citrix 用于执行分析的诊断信息,以使管理员可查看分析结果和建议信息,从而帮助诊断站点中的问题。

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

  • Citrix Remote Broker Provider (NT SERVICE\XaXdCloudProxy)

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

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

除 Citrix Storefront Privileged Administration Service 外,这些服务均被授予登录权限“作为服务登录”,以及权限“为进程调整内存配额”、“生成安全审核”和“替换一个进程级令牌”。您不需要更改这些用户权限。这些权限将不由 Delivery Controller 使用,并且已自动禁止。

配置服务设置

除 Citrix Storefront Privileged Administration Service 和 Citrix Telemetry Service 外,在前面的配置用户权限部分中列出的 Delivery Controller Windows 服务被配置为以“网络服务”身份登录。请不要更改这些服务设置。

Citrix Storefront Privileged Administration Service 被配置为登录本地系统 (NT AUTHORITY\SYSTEM)。 这是通常无法对服务执行的 Delivery Controller StoreFront 操作所必需的(包括创建 Microsoft IIS 站点)。请勿更改其服务设置。

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

可以禁用 Citrix Telemetry Service。除此服务和已禁用的服务外,不要禁用这些 Delivery Controller Windows 服务中的任何其他服务。

配置注册表设置

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

部署方案安全含义

您的用户环境可以包含以下两种用户设备之一:不受您的组织管理而完全由用户控制的用户设备;由您的组织管理的用户设备。通常,这两种环境的安全注意事项不同。

受管理的用户设备

受管理的用户设备接受管理控制;它们由您自己控制或者由您信任的另一组织控制。可以配置用户设备并将其直接提供给用户;也可以提供单个桌面在仅全屏模式下运行的终端。对于所有受管理的用户设备,请遵循上述常规最佳安全做法。此版本具有一项优点,即用户设备上所需的软件较少。

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

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

非托管用户设备

不由可信组织管理的用户设备不能被假定为受到管理控制。例如,您可以准许用户获得并配置他们自己的设备,但用户可以不遵循上述一般安全性最佳做法。此版本的优势是可以安全地将桌面传送给非托管用户设备。这些设备应该仍具备基本的防病毒功能,可查杀键盘记录器和类似的输入攻击。

数据存储注意事项

使用此版本时,您可以阻止用户将数据存储到用户可以物理控制的用户设备中。然而,您还必须考虑到将数据存储到桌面所产生的影响。用户将数据存储在桌面上这种做法并不好;数据应该放在文件服务器、数据库服务器,或者可以适当受保护的其他存储库中。

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

混合版本环境

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

注意:

这是其他软件产品的典型特征;使用早期版本的 Active Directory 只能部分向更高版本的 Windows 实施组策略。

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

Remote PC Access 安全注意事项

Remote PC Access 实现了以下安全功能:

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

注意:

Citrix 建议您不要将 VDA 管理员权限分配给一般会话用户。

自动分配

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

小心:

注册表编辑不当会导致严重问题,可能需要重新安装操作系统。Citrix 无法保证因注册表编辑器使用不当导致出现的问题能够得以解决。使用注册表编辑器需自担风险。在编辑注册表之前,请务必进行备份。

限制向单个用户执行自动分配:

在站点中的每个 Controller 中,设置以下注册表项:

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 可以执行单个自动分配。

  • 从 VDA 中删除所有已分配的用户: $machine.AssociatedUserNames | %{ Remove-BrokerUser-Name $_ -Machine $machine
  • 从交付组中删除 VDA: $machine | Remove-BrokerMachine -DesktopGroup $desktopGroup

重新启动办公室物理 PC。

XML 信任

XML 信任设置适用于使用以下对象的部署:

  • 本地 StoreFront。
  • 不需要密码的订阅者(用户)身份验证技术。此类技术的示例包括域直通、智能卡、SAML 和 Veridium 解决方案。

启用 XML 信任设置允许用户成功进行身份验证,然后启动应用程序。Delivery Controller 信任从 StoreFront 发送的凭据。仅当您已保护 Delivery Controller 与 StoreFront 之间的通信(使用防火墙、IPsec 或其他安全建议)时,才启用此设置。

默认情况下,禁用此设置。

使用 Citrix Virtual Apps and Desktops PowerShell SDK 检查、启用或禁用 XML 信任设置。

  • 要检查 XML 信任设置的当前值,请运行 Get-BrokerSite 并检查 TrustRequestsSentToTheXMLServicePort 的值。
  • 要启用 XML 信任,请运行 Set-BrokerSite -TrustRequestsSentToTheXmlServicePort $true
  • 要禁用 XML 信任,请运行 Set-BrokerSite -TrustRequestsSentToTheXmlServicePort $false
安全注意事项和最佳做法