安全注意事项和最佳实践

注意:

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

防火墙

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

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

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

注意:

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

与交付控制器™进行安全通信

使用 HTTPS 加密通信

StoreFront 和 NetScaler Gateway 通过 HTTP 或 HTTPS 与在交付控制器上运行的 XML 服务进行通信。根据配置,VDA 可能会使用 WebSocket 与交付控制器进行通信。建议您启用 HTTPS 并禁用 HTTP。这要求您已启用 在交付控制器上启用 HTTPS

另外,您也可以配置 Windows 以使用 IPSec 保护服务器之间的通信。

安全密钥

您可以使用 安全密钥 来确保只有授权的 StoreFront 和 NetScaler 服务器能够通过云连接器连接到 DaaS。如果您已启用 XML 信任,这一点尤其重要。

XML 信任

默认情况下,当 StoreFront 连接到交付控制器以执行枚举和启动等操作时,StoreFront 必须传递用户的 Active Directory 凭据,以便 DaaS 可以对用户进行身份验证并检查用户的组成员身份。但是,当使用其他身份验证方法(例如域直通、智能卡或 SAML)时,StoreFront 没有 Active Directory 密码。在这种情况下,您必须启用“XML 信任”。启用 XML 信任后,CVAD 允许 StoreFront 代表用户执行操作,例如枚举和启动应用程序,而无需验证用户的密码。在启用 XML 信任之前,请使用 安全密钥 或其他机制(例如防火墙或 IPsec)来确保只有受信任的 StoreFront 服务器才能连接到交付控制器。

使用 Citrix 虚拟应用和桌面 PowerShell SDK 来检查、启用或禁用 XML 信任设置。

  • 要检查 XML 信任设置的当前值,请运行 Get-BrokerSite 并检查 TrustRequestsSentToTheXMLServicePort 的值。
  • 要启用或禁用 XML 信任,请运行 Set-BrokerSite 并带参数 TrustRequestsSentToTheXmlServicePort

VDA 与交付控制器之间的通信

VDA 与控制器之间有两种通信机制。

  • Windows Communication Foundation

    Windows Communication Foundation (WCF) 消息级保护可确保交付控制器和 VDA 之间的通信安全。这消除了使用 TLS 进行额外传输层保护的需要。VDA 和交付控制器之间通信的默认端口是 80。但是,您可以自定义端口。有关信息,请参阅 自定义 VDA

    有关 WCF 中消息安全的信息,请参阅 Microsoft 文档 WCF 中的消息安全

    WCF 配置使用 Kerberos 在控制器和 VDA 之间进行相互身份验证。加密使用具有 256 位密钥的 CBC 模式 AES。消息完整性使用 SHA-1。

    根据 Microsoft 的说法,WCF 使用的安全 协议 符合 OASIS(结构化信息标准促进组织)的标准,包括 WS-SecurityPolicy 1.2。此外,Microsoft 表示 WCF 支持 安全策略 1.2 中列出的所有算法套件。

    控制器和 VDA 之间的通信使用 basic256 算法套件,其算法如上所述。

    WCF 配置使用基于 HTTP 协议的 SOAP 以及消息级安全加密。

  • Web 套接字

    这是 WCF 的现代替代方案。它提供了一个优势,即 VDA 到 Delivery Controller 的通信只需使用 TLS 端口 443。目前,它仅适用于 MCS 预配的计算机。有关更多信息,请参阅 VDA 和 Delivery Controller 之间的 WebSocket 通信

保护 ICA® 通信

Citrix CVAD 提供了多种选项来保护客户端和 VDA 之间的 ICA 流量。以下是可用的选项:

  • 基本加密: 默认设置。
  • SecureICA: 允许使用 RC5 (128 位) 加密会话数据。
  • VDA TLS/DTLS: 允许通过 TLS/DTLS 协议实现网络级加密。

基本加密

当使用基本加密时,流量会按照以下图示进行加密。

使用基本加密时的流量加密

安全ICA

使用 SecureICA 时,流量加密方式如下图所示。

使用 SecureICA 时的流量加密

有关更多信息,请参阅 安全策略设置

注意 1:

当使用适用于 HTML5 的 Workspace 应用程序时,SecureICA 不受支持。

注意 2:

Citrix SecureICA 是 ICA/HDX 协议的一部分,但它不是像传输层安全 (TLS) 那样符合标准的网络安全协议。

虚拟投递代理 TLS/DTLS

使用 VDA TLS/DTLS 加密时,流量将按以下图示进行加密。

使用 TLS/DTLS 时的流量加密

要配置虚拟投递代理 TLS/DTLS,请参阅 虚拟投递代理上的 TLS 设置

虚拟通道

使用 虚拟通道允许列表 来控制环境中允许哪些非 Citrix 虚拟通道。

与打印服务器的安全通信

您可以为虚拟投递代理 (VDA) 和通用打印服务器之间的基于 TCP 的连接启用 TLS。有关详细信息,请参阅 通用打印服务器上的传输层安全 (TLS)

与站点数据库的安全通信

有关为站点数据库启用 TLS 的信息,请参阅 CTX137556

VDA 计算机安全性

一般性建议事项

确保您的 VDA 及时更新最新的操作系统安全更新和防病毒软件。

应用程序安全性

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

8.3 文件名

您可以在 VDA 上禁用 8.3 文件名。请参阅 Microsoft fsutil 文档

数据存储注意事项

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

用户帐户管理

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

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

规划桌面权限时请注意以下事项:

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

管理登录权限

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

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

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

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

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

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

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

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

交付控制器安全性

交付控制器上的 Windows 服务

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

  • 思杰活动目录身份服务 (NT SERVICE\CitrixADIdentityService):管理虚拟机的微软活动目录计算机账户。
  • Citrix Analytics (NT SERVICE\CitrixAnalytics):如果站点管理员已批准此收集,则收集供 Citrix 使用的站点配置使用情况信息。然后将此信息提交给 Citrix,以帮助改进产品。
  • 思杰应用程序库 (NT SERVICE\CitrixAppLibrary):支持应用磁盘的管理和预配、应用DNA集成以及应用-V的管理。
  • Citrix Broker Service (NT SERVICE\CitrixBrokerService): Selects the virtual desktops or applications that are available to users.
  • Citrix 配置日志服务 (NT SERVICE\CitrixConfigurationLogging):记录管理员对站点进行的所有配置更改和其他状态更改。
  • Citrix Configuration Service (NT SERVICE\CitrixConfigurationService): Site-wide repository for shared configuration.
  • Citrix Delegated Administration Service (NT SERVICE\CitrixDelegatedAdmin): Manages the permissions granted to administrators.
  • Citrix 环境测试服务 (NT SERVICE\CitrixEnvTest):管理其他交付控制器服务的自检。
  • Citrix 主机服务 (NT SERVICE\CitrixHostService):存储有关 Citrix Virtual Apps 或 Citrix Virtual Desktops 部署中使用的虚拟机管理程序基础结构的信息,并提供控制台用于枚举虚拟机管理程序池中资源的功能。
  • Citrix Machine Creation Services (NT SERVICE\CitrixMachineCreationService): Orchestrates the creation of desktop VMs.
  • Citrix 监控服务 (NT SERVICE\CitrixMonitor):收集 Citrix 虚拟应用或 Citrix 虚拟桌面的指标,存储历史信息,并为故障排除和报告工具提供查询界面。
  • Citrix 店面服务 (NT SERVICE\ CitrixStorefront):支持店面的管理。(它不是店面组件本身的一部分。)
  • Citrix 店面特权管理服务 (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 服务均配置为以 网络服务 身份登录。请勿更改这些服务设置。

Citrix 配置同步服务需要 NETWORK SERVICE 帐户属于 Delivery Controller 上的本地管理员组。这允许本地主机缓存正常工作。

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

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

您可以禁用 Citrix 遥测服务。除了此服务以及已禁用的服务外,请勿禁用任何其他 Delivery Controller Windows 服务。

管理登录权限

VDAs 的计算机帐户必须具有登录权限“从网络访问此计算机”。请参阅 基于 Active Directory OU 的控制器发现

客户端访问

客户端访问通常通过部署 Citrix StoreFront 提供。有关保护 StoreFront 的详细信息,请参阅 StoreFront 文档

要允许远程用户安全连接到 StoreFront 和 VDA,请部署 NetScaler® 网关。

Citrix 建议客户端使用 Citrix Workspace 应用程序连接到 StoreFront。有关详细信息,请参阅适用于每个操作系统的 Citrix Workspace 应用程序的 文档 中的安全部分。或者,用户可以使用 Web 浏览器访问 StoreFront。

请考虑为用户提供瘦客户端,以便用户除了 Citrix Workspace™ 应用程序之外,运行其他应用程序的能力有限。如果设备由您的组织管理,则应制定策略以确保部署操作系统安全更新和防病毒软件。但是,在许多情况下,用户需要能够从组织控制之外的非托管设备进行连接。请考虑使用以下功能:

  • 端点分析 可扫描端点以获取安全信息(例如操作系统和防病毒软件),并拒绝不符合您的安全要求的客户端访问。
  • 应用程序保护 可阻止键盘记录器和屏幕捕获。

混合版本的环境

在某些升级过程中,混合版本环境(例如 VDA 版本与 Delivery Controller 版本不同)是不可避免的。请遵循最佳实践,并尽量缩短不同版本的 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 的智能卡和生物识别设备除外。
  • 平滑漫游仅限单个用户使用。
  • 当用户将远程会话连接到办公室电脑时,只有该用户才能恢复对办公室电脑的本地访问。要恢复本地访问,用户需在本地电脑上按 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 中删除,以便 VDA 随后有资格进行单个自动分配。

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

重新启动物理办公电脑。