保护适用于 Azure 的 Citrix D

在本文中,我们将讨论如何保护 Azure 中的 Citrix 部署。这些部分说明了如何实现 Microsoft 和 Citrix 推荐的最佳实践和详细配置。我们还提供指导,说明哪些 Microsoft Azure 和 Citrix 安全服务适合保护您的 Citrix 部署。

第一部分介绍了 Azure 安全性,我们在其中讨论了管理、Azure Active Directory、网络、数据保护和 Azure 策略等关键主题。下一节重点介绍如何从 Citrix Cloud 访问资源,并提供主机连接和计算机目录管理所需的最低角色权限。最后一部分为您提供有关 Azure 和 Citrix 服务的指导,这些服务可为您的 Citrix 部署提供最佳保护。

本文档假定管理层对 Microsoft Azure 和 Citrix 有所了解。为了帮助那些可能不熟悉我们讨论的所有概念的读者,我们提供了有用的解释。

Microsoft Azure Security

由于 Microsoft Azure 包含许多服务,因此 Azure 内部的安全需要更广泛的方法。我们首先在接入点保护每项服务。本节提供有关如何根据 Microsoft 和 Citrix 的建议保护服务的指南。

Azure 管理部分讨论了在 Azure 帐户中使用身份和访问管理 (IAM) 和基于角色的访问控制 (RBAC) 来保护环境。Azure Active Directory (AAD) 部分讨论了身份验证和使用条件访问来保护您的 Citrix 资源。网络部分列出了 Citrix Cloud 使用的端口和协议,并说明了私有端点如何防止您的网络流量通过公共互联网。存储安全部分涵盖数据加密和备份,而 Azure 策略部分则推荐保护帐户的策略。最后,最后一部分解释了在 Citrix 部署中使用 Azure 标签和安全中心的宝贵好处。

Azure 管理建议

Azure 身份和访问管理 (IAM) 是一项 Microsoft 托管的身份服务,为 Azure 资源提供身份验证、授权和审计服务。Azure IAM 控制 Azure 资源的访问和权限,必须尽可能强化。Azure IAM 是第一道防线,因为所有 Azure 资源访问权限都是通过 IAM 授予的。我们首先讨论基于角色的访问控制的概念,然后讨论这些角色如何应用于帐户内的 Azure 资源。

基于角色的访问控制概念

Azure 基于角色的访问控制 (RBAC) 是一种授权系统,提供对 Azure 资源的精细访问管理。最佳做法是通过分配给群组的 Azure RBAC 角色授予对资源的访问权限。然后将用户放入群组进行访问。Azure RBAC 包含 70 多个内置角色,支持自定义角色。角色是权限的集合,例如读取、写入和删除,这些权限应用于资源并分配给安全主体。安全主体可以是用户、群组、托管身份或服务主体(Azure 应用程序)。

四个基本的 Azure 角色是:所有者、参与者、读者和用户访问管理员。

| **所有者**: | 在订阅范围内,为服务管理员和共同管理员分配所有者角色。所有者被授予对所有资源的完全访问权限,并且可以将访问权限委托给其他人。所有资源类型都至少分配了一个所有者。 | | 贡献者:| 分配了贡献者角色的实体可以创建和管理所有类型的 Azure 资源。如果参与者被分配到帐户,则他们能够在 Azure Active Directory 中创建新租户。贡献者不能向其他人授予访问权限。所有资源类型都支持贡献者角色。| | 读者:| 读者角色授予资源的实体视图(只读)权限。所有资源类型都支持读者角色。| | 用户访问管理员:| 用户访问管理员角色授予实体管理用户对 Azure 资源的访问权限。|

角色可以受作用域限制。作用域是一组已定义的资源,安全主体可以在其中发挥作用。范围可以限制为四个级别:单个资源、资源组、订阅或管理组。

通过创建角色分配来授予对资源的访问权限,即向安全主体附加角色定义的行为。撤消访问权限是通过移除角色分配完成的。在角色分配中使用嵌套组时,嵌套组中的成员也会收到角色分配。如果成员链接到多个群组,则权限是累积的,在评估时会立即屏蔽拒绝分配。 累积权限既适用于操作,也适用于非操作,适用于所有群组。

订阅

Azure 订阅用于组织对 Azure 资源的访问权限。每个订阅仅与一个 Azure 帐户相关联,该帐户支付与订阅相关的费用。每个订阅都与一个 Azure AD 目录相关联。Azure 订阅是管理、安全、规模和策略的边界。

提示

Citrix 和 Microsoft 都建议尽可能将 Citrix 资源放入自己的订阅集中。

订阅最终可以控制 Azure 资源的组织、访问和计费方式。订阅有两个角色授予对订阅中所有资源的访问权限:服务管理员和共同管理员。

服务管理员:默认情况下,服务管理员角色分配给用于创建 Azure 订阅的电子邮件帐户。服务管理员在订阅范围内具有与所有者角色相同的访问权限。只有帐户管理员可以将服务管理员更改为其他电子邮件帐户。服务管理员拥有对 Azure 门户的完全访问权限,每个订阅只能有一个服务管理员帐户。服务管理员具有以下权限:

  • 在 Azure 门户中管理服务

  • 取消订阅

  • 为用户分配共同管理员角色

共同管理员:此角色在订阅范围内具有与所有者角色相同的访问权限。每个订阅最多可以有 200 个共同管理员,这些管理员被授予以下权限和限制:

  • 与服务管理员相同的访问权限

  • 可以为用户分配共同管理员角色

  • 无法更改订阅与 Azure 目录的关联

  • 无法更改服务管理员

资源组

资源组是逻辑容器,用于对订阅中的相关资源进行分组。每个资源只能存在于一个资源组中。资源组允许在订阅中进行更精细的分组。资源组通常用于表示支持订阅中的工作负载、应用程序或特定功能所需的一系列资产。通常,资源组中的资源共享相同的生命周期。资源组还提供了一种对 Azure 中的一组资源应用精细权限的方法。

注意

创建计算机目录时,Citrix 计算机目录会链接到其资源组。对资源组的任何更改都需要删除并重新创建计算机目录。

管理群组

管理组是用于一个或多个订阅的逻辑容器,在 Azure 帐户级别进行配置。您可以定义管理组、订阅、资源组和资源的层次结构,以有效地管理访问权限。管理组主要用于通过 Azure 策略实现合规性,并且严重依赖继承来简化管理。

提示

Microsoft 和 Citrix 建议将所有包含 Citrix 资源的订阅放入 Azure 帐户级别的管理组。

Azure Active Directory 推荐

Azure Active Directory (Azure AD) 是 Microsoft 365、Azure 门户和许多其他应用程序的身份提供商。Azure AD 不是基于云的 Active Directory (AD) 实现,但它可以通过 Azure AD Connect 与您的本地域同步。本节为使用 Azure AD 的 Citrix 提供了安全建议。建议包括身份验证、日志记录、条件访问和 Azure AD Connect 配置。

多因素认证

Azure AD 支持多种多因素身份验证 (MFA) 方法。支持的方法包括 FIDO2 安全密钥、Microsoft Authenticator、短信和基于证书的身份验证。短信和基于证书的身份验证目前均处于预览状态。为了获得最佳安全性,请启用 Microsoft Authenticator 以供 MFA 使用,因为它已正式发布。还要在正式发布时启用短信选项,以便为 Azure AD 用户提供辅助身份验证方法。为所有管理用户帐户启用 MFA。如果部署了 Azure AD 高级版,则最佳做法是为所有用户启用 MFA。

登录日志

监视 Azure AD 用户登录日志, 看是否有任何失败 的登录以及来自意外位置的所有登录。监视范围从管理员的简单每周回顾到使用 Azure Monitor 的自动解决方案不等。出现任何可疑情况时,Azure 监视器和警报可以向管理员发送电子邮件。请务必同时监视交互式和非交互式登录。

Azure AD 条件访问

Azure AD 支持使用条件访问来阻止用户基于位置或组成员身份进行身份验证。条件访问可用于防止任何位置或 IP 地址访问您的 Citrix 资源。使用条件访问来阻止并非来自您预期用户所在位置的流量。例如,如果您预计不会有来自您所在国家/地区以外的流量,请使用条件访问来仅允许来自您所在国家/地区的连接。

“准时”(JIT) 访问可防止所有流向虚拟机 (VM) 的入站网络流量,除非有人需要连接到虚拟机。使用 JIT 时,连接窗口仅在用户请求时打开几分钟。 此行为类似于 Citrix 暂时允许与主机进行入站连接的方式。当用户连接到 Citrix 时,Virtual Delivery Agent (VDA) 在用户连接时仅允许入站连接几分钟。Microsoft 和 Citrix 都建议允许JIT访问Azure 基础架构虚拟机,以降低未经授权的用户可以连接到资源的可能性。

Azure AD 连接

如前所述,Azure AD 可以通过 Azure AD Connect 与您的本地Active Directory 域同步。将本地域与 Azure AD 同步可为您的 Citrix 部署提供更加无缝的最终用户体验。用户可以保持云托管资源和本地资源的单一登录。

Azure AD Connect 可以将本地活动目录中的用户对象及其关联属性与 Azure Active Directory 同步。使用 Azure AD 连接时,请遵循以下准则以获得最佳安全性。

  1. 开启密码哈希同步。需要使用哈希来防止用户的实际密码存储在 Azure AD 中。

  2. 切勿将企业或域管理员等高权限帐户与 Azure AD 同步。默认情况下,AD Connect 的此过滤器处于启用状态,目的是保护 Azure 帐户的任何入侵也不会危及本地数据中心。

  3. 尽可能使用 Azure AD 帐户进行身份验证。这种方法减少了管理开销。

网络安全建议

网络访问控制 (NAC) 提供了一种限制虚拟网络中特定设备或子网之间连接的方法。NAC 的目标是限制只有经过批准的用户或设备才能访问虚拟机或服务。访问控制基于在 Azure 中的多个不同层上允许或拒绝连接的决定。本部分涵盖了在 Azure 云中保护 Citrix 部署的所有控制和安全建议。

防火墙和安全组

对您的 Citrix Cloud 环境的最佳保护之一是严格控制对 Citrix 资源的所有入站和出站访问。使用 Azure 网络安全组 (NSG) 和防火墙配置访问控制。Azure NSG 允许您通过定义五个元组来允许或拒绝入站和出站流量:源 IP、目标 IP、源端口、目标端口和协议。几乎所有基于网络的服务都可以启用防火墙。

NSG 是有状态的,因此允许返回流量,并且可以应用于虚拟机、子网或两者兼而有之。当子网和虚拟机 NSG 都存在时,子网 NSG 首先应用于入站流量,虚拟机 NSG 首先应用于出站流量。默认情况下,允许主机之间的 VNet 内的所有流量以及来自负载均衡器的所有入站流量。默认情况下,只允许出站 Internet 流量,拒绝所有其他出站流量。

使用 NSG 将 Citrix Cloud 环境中的流量限制为仅限于预期流量。这种方法可以限制潜在的攻击媒介,显著提高部署的安全性。表 1 Citrix Cloud 必需的端口和协议为您的 Citrix 部署提供了所需的网络端口和协议。此表仅列出了用于 Citrix 基础架构的端口,不包括应用程序使用的端口。在 NSG 中配置这些端口,保护 Citrix 虚拟机。

目标 协议 Port(端口) 用途
Cloud Connector *.digicert.com HTTP 80 证书吊销检查
Cloud Connector *.digicert.com HTTPS 443 证书吊销检查
Cloud Connector dl.cacerts.digicert.com/DigiCertAssuredIDRootCA.crt HTTPS 443 证书吊销检查
Cloud Connector dl.cacerts.digicert.com/DigiCertSHA2AssuredIDCodeSigningCA.cert HTTPS 443 证书吊销检查
Cloud Connector Cloud Connector TCP 80 控制器之间的通信
Cloud Connector Cloud Connector TCP 89 本地主机缓存
Cloud Connector Cloud Connector TCP 9095 编排服务
Cloud Connector Cloud Connector TCP/UDP 1494 ICA/HDX 协议(EDT 需要 UDP)
Cloud Connector Virtual Delivery Agent TCP/UDP 2598 会话可靠性(EDT 需要 UDP)
Cloud Connector Virtual Delivery Agent TCP 80 (bidir) 应用程序和性能发现
Virtual Delivery Agent 网关服务 TCP 443 汇聚协议
Virtual Delivery Agent 网关服务 TCP 443 EDT UDP 通过 443 连接到网关服务
Virtual Delivery Agent .nssvc.net、.c.nssv.net、*.g.nssv.net TCP/UDP 443 网关服务域/子域
Citrix Provisioning Services Cloud Connector HTTPS 443 Citrix Cloud Studio 集成
Citrix 许可证服务器 Citrix Cloud HTTPS 443 Citrix Cloud 许可集成
CVAD 远程 PowerShell SDK Citrix Cloud HTTPS 443 任何通过 SDK 运行远程 PSH 的系统
WEM 代理 WEM 服务 HTTPS 443 代理与服务通信
WEM 代理 Cloud Connector TCP 443 注册流量
应用程序安全组

创建应用程序安全组 (ASG) 以简化整个企业中 Citrix 资源的管理。ASG 启用基于标签而不是互联网协议 (IP) 或网络地址的源/目标定义。可以为工作负载定义 ASG,然后将其用作 NSG 的一部分来筛选工作负载。ASG 可以筛选工作负载之间的东西向流量以及数据中心与 Azure 之间的南北流量。ASG 允许您进一步对网络进行微分段,并大规模隔离应用程序组之间的流量。例如,为数据库服务器创建应用程序组,该应用程序组与应用程序服务器通信,但不与 Web 服务器通信。

Azure 服务标签

Azure 服务标签是 Azure 为一组代表 Azure 服务的 IP 地址提供的绰号。Microsoft 管理与服务标签关联的 IP 地址。可以使用服务标签代替 NSG 中的 IP 地址,以控制对一组动态资源的访问。例如,您可以允许流量流向服务标签 Storage,该标签授予对所有 Azure Storage IP 地址的访问权限,或者您可以将其限制为仅限服务标签为Storage.Westus的美国西部存储 IP 地址。

服务标签附带一些使用限制,包括方向、区域限制或与 Azure 防火墙一起使用。有关服务标签及其使用规则的完整列表,请参阅 Microsoft 网站 虚拟网络服务标签

远程管理协议

要远程管理运行 Windows 的 Citrix 基础架构主机,最方便使用的协议是 Microsoft 的远程桌面协议 (RDP)。RDP 的默认端口是 TCP 3389;但是,如果虚拟机允许来自互联网的任何入站访问,请更改此端口。打开3389端口的面向互联网的Windows服务器在连接到互联网后的24小时内发现自己受到攻击。以下 Windows 注册表项控制 RDP 会话的入站监听端口号。使用此注册表项将监听端口号更改为高于 10000 的端口:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp: PortNumber REG_DWORD

如果与之前的JIT访问建议结合使用,则更改RDP端口号变得异常困难。

公有 IP 地址

如果您使用自己的 Citrix 应用程序Delivery Controller (ADC) VPX 虚拟设备,则它们可能会在 Azure 负载均衡器上使用公有 IP 地址。在某些部署中,公有 IP 地址直接在设备本身上设置,以接受 Citrix 群组的入站连接。除了那些 ADC 配置外,Citrix 部署不需要公有 IP 地址。Citrix Cloud 管理 Citrix Cloud 连接器并根据需要对其进行更新。Cloud Connector 不需要公有 IP 地址,因为它们会启动所有出站连接。

出站互联网接入

如前所述,Citrix Cloud 连接器确实需要具有出站连接才能到达 Citrix Cloud 基础架构。该连接用于接收它们的更新以及在 Citrix Cloud 和 Azure Citrix 部署之间的接口。其他 Citrix 基础架构可能需要出站访问权限才能进行维护更新或用户访问。

私有端点

私有端点用于通过消除公共互联网上的路由,改善 Azure 服务之间的通信。私有端点的工作原理是控制网络上的流量路线。Azure 私有端点是安全连接到 Azure 服务的网络接口。私有端点使用您的虚拟网络 (VNet) 上的 IP 地址。然后,端点通过 Microsoft Azure 骨干网络将流量从您的 VNet 直接路由到 Azure 服务。使用 Microsoft Azure 骨干可以防止流量通过公共互联网。私有端点本质上更安全,因为流量不会公开在互联网上,而互联网可能会受到攻击。例如,您可以创建从 Citrix 主机子网到 Azure Files 存储帐户网络的私有端点,避免使用公共端点。  

Citrix 建议为以下 Azure 服务创建私有端点:

  • Azure 博客存储

  • Azure 文件

  • Azure 尔自动化

  • Azure 批

  • Azure 托管磁盘

  • Azure 密钥库

  • Azure 备份

  • Azure 监视器

网络最佳实践

默认情况下,Azure VNet 内不同子网之间不存在访问控制。Microsoft 和 Citrix 建议在 Azure 内部采用零信任方法。零信任方法意味着,假设内部流量是可信的,则不允许不受限制的通信。改用“全部拒绝”的方法。仅允许来自需要访问权限的设备、位置和用户的“可信”通信。以下指导可以显著提高您的 Citrix 网络安全性:

  • 使用 NSG 控制托管 Citrix 资源的子网之间的流量

  • 使用 AD 条件访问根据位置、身份、设备或保证级别授予访问权限

  • 在 Citrix 基础架构虚拟机上配置即时访问权限

  • 将 Citrix 基础架构保留在自己的子网上

  • 将 Citrix VDA 虚拟机保留在自己的子网上

  • 从 Azure 外部到任何资源的网络连接都应通过加密的虚拟专用网络 (VPN) 连接进行。VPN 可以是点对点 (P2S)、点对点 (S2S) 或安全的 ExpressRoute 连接。

  • 切勿将 Azure 虚拟机直接公开给互联网。如果已公开,请启用 JIT 访问并更改入站连接的默认端口。

  • 不是使用标准的未加密 HTTP 协议进行通信,而是需要具有加密功能的协议来保护传输中的数据。推荐使用带有 TLS 1.2 的 HTTPS 或在 HTTPS 中通过 ICA/HDX 隧道的 Citrix Gateway 等协议

  • 部署能够扫描开放系统互连 (OSI) 层间流量的 Azure 原生网络安全设备。实现用户定义的路由 (UDR),通过这些设备路由流量。

  • 在外围网络内启用分布式拒绝服务 (DDoS) 保护以及入侵检测 (IDS) 和入侵防御 (IPS) 系统。您的外围网络位于互联网和 Azure 中托管的 Citrix 资源之间。

存储安全建议

本节提供有关提高存储在 Azure 存储中的数据的安全性和保护的建议。我们将讨论内置保护措施,并提供改进这些保护的建议。使用这些建议来提高数据的可用性并减少针对数据的潜在攻击向量。

Azure 数据保护

Azure 存储存储多个数据副本,以保护其免受计划内和计划外事件的影响。这些事件包括硬件故障、停电和自然灾害。每个 Azure 区域都与另一个 Azure 区域配对。Microsoft 会自动在区域对之间复制存储。当 Microsoft 在某个地区宣布紧急状态时,存储在配对区域中的数据将变得可用。存储帐户选择还可以控制数据冗余。帐户类型选择包括仅在区域内存储数据或跨区域复制数据。Citrix 建议使用跨区域复制的存储来配置关键基础架构虚拟机,例如域控制器。

备份

环境中的大多数 Citrix 服务器都是虚拟交付代理 (VDA),它依赖机器创建服务 (MCS) 或Provisioning Services (PVS) 进行部署。MCS 和 PVS 计算机均使用黄金主映像作为模板。对于这些主机,使用黄金映像的快照作为计算机模板的来源。可以轻松回滚磁盘快照的任何版本。Citrix 基础架构中的其他服务器应启用 Azure 备份或在 Azure 站点恢复中进行设置。使用 Azure 站点恢复时,选择 Microsoft 配对区域作为目标位置。如果 ASR 目标位于配对区域中,并且 Microsoft 宣布发生灾难,则您的复制存储帐户也将存在于该区域中。

静态加密

Azure 使用使用 256 位高级加密标准 (AES) 分组密码的服务器端加密 (SSE) 自动加密所有静态存储。您可以使用客户管理的密钥 (CMK) 来加密数据,并将这些密钥存储在 Azure 密钥保管库中。使用 CMK 可以在必要时通过销毁 CMK 来快速加密切碎数据。

托管磁盘

Citrix 建议使用托管磁盘。使用托管磁盘,Azure 会自动控制磁盘放置,因此虚拟磁盘可以避免任何单点故障。对于非托管磁盘,您有责任将其存入存储帐户并管理数据恢复计划。

访问控制列表

访问控制列表 (ACL) 允许您精细控制对文件或目录的访问。ACL 适用于 Azure AD 中的任何用户、群组、托管身份或服务主体。使用共享密钥或共享访问签名 (SAS) 令牌时,不存在安全主体。因此,ACL 不适用于通过密钥或令牌访问存储时授予的访问权限。ACL 由简单的读取 (R)、写入 (W) 和执行 (X) 权限组成。您可以使用 ACL 限制对任何 Azure 存储文件或文件夹的访问权限,并防止无意中访问容器、文件或目录。Citrix 建议始终通过 ACL 向相应受众设置数据访问权限,以保持机密性。

Azure 策略建议

Azure 策略是一个状态管理引擎,可主动评估 Azure 资源属性。Azure 策略确保资源的状态符合业务规则。Azure 策略可以阻止操作,即使用户有权执行这些操作。Azure 策略在订阅级别及以下级别运行。表 2 推荐的 Citrix 部署的 Azure 策略提供了推荐的 Azure 策略列表。在帐户级别启用这些策略并将其应用于包含 Citrix 资源的订阅。

策略名称 说明
Azure 自动化帐户应禁用本地身份验证方法 禁用本地身份验证方法可确保 Azure 自动化帐户只需要 Azure Active Directory 身份进行身份验证,从而提高安全
Azure Active Directory 域服务托管域应使用 TLS 对您的托管域使用仅 TLS 1.2 模式。默认情况下,Azure AD 域服务允许使用诸如 NTLM v1 和 TLS v1 之类的密码。某些传统应用程序可能需要这些密码。但是,如果您不需要它们,则密码很弱,可以禁用。启用仅 TLS 1.2 模式后,任何发出未使用 TLS 1.2 请求的客户端都会失败。
Windows 计算机只能拥有允许的本地帐户 要求将先决条件部署到策略分配范围。有关详细信息,请访问 https://aka.ms/gcpol。Windows Server 2012 或 2012 R2 不支持此定义。使用 Azure Active Directory 管理用户帐户是管理身份的最佳做法。减少本地计算机帐户有助于防止在中央系统之外管理的身份激增。如果存在已启用但未在策略参数中列出的本地用户帐户,则计算机不合规。
日志分析工作区应阻止基于非 Azure Active Directory 的摄取。 强制注入日志以要求 Azure Active Directory 身份验证。这种保护可防止攻击者操纵未经身份验证的日志,这些日志可能导致系统中存储的错误状态、虚假警报和不正确的日志。
VPN 网关只能对点对点用户使用 Azure Active Directory (Azure AD) 禁用本地身份验证方法可确保 VPN 网关仅使用 Azure Active Directory 身份进行身份验证来提高安全性
MFA 应为具有订阅写入权限的已启用 MFA 帐户 应为所有具有写入权限的订阅帐户启用多因素身份验证 (MFA),以防止帐户或资源泄露。
应在订阅中具有所有者权限的帐户上启用 MFA 应为所有具有所有者权限的所有订阅帐户启用多因素身份验证 (MFA),以防止帐户或资源泄露。
应在订阅中具有读取权限的帐户上启用 MFA 应为所有具有读取权限的订阅帐户启用多因素身份验证 (MFA),以防止帐户或资源泄露。
应为 SQL 服务器配置 Azure Active Directory 管理员 审核为您的 SQL 服务器配置 Azure Active Directory 管理员以启用 Azure AD Azure AD 身份验证可简化数据库用户和其他 Microsoft 服务的权限管理和集中式身份管理。
在资源组上需要标签及其值 在资源组上强制使用必需的标签及其值。
在资源上需要标签及其值 强制使用必需的标签及其值。不适用于资源组。

Azure 标签推荐

标签是一项功能,它允许将特定的键和值对作为元数据分配给资源。标签由名称和值组成。标签 名称 不区分大小写,而标签 区分大小写。所有 Citrix 资源都应至少使用以下标签进行标记:

所有者[所属组织或部门] 电子邮件:[如果资源出现问题,请联系电子邮件或通讯组列表] 环境[生产、预生产、开发、测试、沙盒]

Azure 标签是组织、搜索和报告环境中 Citrix 资源的强大方法。例如,您可以使用成本分析报告根据资源组或资源标签按范围查看成本。

安全中心建议

安全中心会自动监视 Azure 帐户中所有订阅中的安全漏洞。每月查看这些建议,并尽快实施任何严重程度为“高”或“中”的建议。

Citrix Cloud 角色

本节提供有关如何设置 Citrix Cloud 所需的 Azure RBAC 角色的详细指导。Azure 中的 Citrix 资源可以通过控制台、Azure CLI、Azure PowerShell 和 Rest API 进行访问。Azure RBAC 是基于 Azure Resource Manager (ARM) 构建的授权系统,提供对 Azure 资源的精细访问管理。

在某些部署中,使用影响广泛的贡献者角色授予对 Citrix Cloud 的访问权限是可以接受的,尤其是当 Citrix 资源有自己的订阅时。但是,通常,保护 Citrix 部署的最佳方法是将角色限制为所需的最低权限。我们将讨论资源组、应用程序注册和角色如何与 Citrix Cloud 集成。我们还为您提供自定义角色,这些角色可以轻松地直接导入到您的 Azure AD 中。

资源组的使用

所有 Citrix 资源都应包含在专用于部署 Citrix 的资源组中。当所有与 Citrix 相关的资源都存在于一个资源组中时,可以轻松地在资源组级别应用 RBAC 策略。

对于最安全的环境,至少需要创建两个资源组:

Citrix_Infrastructure 它包含所有 Citrix 基础架构组件,包括 Cloud Connector 和主映像虚拟机。通常,每个订阅一个资源组足以满足基础架构的需求。

Citrix_MachineCatalog 其中包含 Citrix VDA 虚拟机。由于 MCS 向导默认要求为计算机目录创建新的资源组,因此通常您有多个资源组。在大多数 Citrix 部署中,存在多个计算机目录。

应用程序注册

应用程序注册是在您的 Citrix Cloud 帐户和 Azure 之间建立单向信任关系的过程,这样 Citrix Cloud 信任 Azure。在此过程中,将为 Citrix Cloud 创建一个 Azure 服务主体帐户。Citrix Cloud 使用此帐户通过托管连接执行所有 Azure 操作。主机连接是在 Citrix Cloud 控制台中配置的。主机连接通过 Cloud Connector 将 Citrix Cloud 链接到 Azure 中的资源位置。

您需要向服务主体授予对包含 Citrix 资源的资源组的访问权限。该公司的安全状况决定了授予此访问权限的最佳方法。您可以提供参与者级别的订阅访问权限,也可以为服务主体创建自定义角色。

创建服务主体时,您可以设置以下值:

  • 重定向 URL 启用并将其设置为 Web ,值为 https://citrix.cloud.com

  • API 权限 需要在“我的组织使用 的 API”选项卡 Windows Azure 服务管理 API 中选择的 user_impersonation 的委托权限。

  • 证书和密钥 需要创建一个新的客户端密钥,建议的到期期限为一年。请记住,此证书需要作为安全密钥轮替计划的一部分进行更新。

您需要应用程序注册中的应用程序(客户端)ID 和客户端 SecretKey 值才能在 Citrix Cloud 中配置托管连接。

企业应用程序

根据您的 Citrix Cloud 和 Azure AD 的配置方式,在 Azure AD 租户中创建一个或多个企业应用程序。这些帐户允许 Citrix Cloud 访问存储在您的 Azure AD 租户中的数据。表 3 Azure AD 中的 Citrix Cloud 企业应用程序列出了应用程序 ID 及其用途。

企业应用程序 ID 用途
f9c0e999-22e7-409f-bb5e-956986abdf02 Azure AD 和 Citrix Cloud 之间的默认连接
1b32f261-b20c-4399-8368-c8f0092b4470 管理员邀请和登录
e95c4605-aeab-48d9-9c36-1a262ef8048e 工作区订阅者登录
5c913119-2257-4316-9994-5e8f3832265b Azure AD 与使用 Citrix Endpoint Management 的 Citrix Cloud 之间的默认连接
e067934c-b52d-4e92-b1ca-70700bd1124e Azure AD 与使用 Citrix Endpoint Management 的 Citrix Cloud 之间的传统连接

每个企业应用程序都向Microsoft Graph 或 Windows Azure Active Directory API 授予 Citrix Cloud 例如,Workspace 订阅者登录向两个 API 授予了 User.Read 权限,以便用户可以登录和阅读他们的个人资料。有关授予的权限的更多信息可 在此处找到。

使用内置角色

contributor 内置角色包含最广泛的权限集,在订阅级别分配给服务主体帐户时效果很好。在订阅级别授予参与者权限需要 Azure AD 全局管理员帐户。获得授权后,Azure 会在从 Citrix Cloud 到 Azure AD 的初始连接期间提示输入所需的权限。在创建主机连接期间用于身份验证的任何帐户也必须至少是订阅的共同管理员。此权限级别允许 Citrix Cloud 不受限制地创建任何必要的对象。通常,在整个订阅专用 Citrix 资源时使用此方法。

有些环境不允许服务主体在订阅级别拥有贡献者权限。Citrix 提供了一种替代解决方案,称为窄范围服务主体。使用窄范围服务主体时,Azure AD 全局管理员手动完成应用程序注册。然后,订阅管理员手动向服务主体帐户授予相应的权限。范围狭窄的服务委托人对整个订阅没有贡献者权限。相反,他们的贡献者权限范围缩小到管理计算机目录所需的资源组、网络和映像。窄范围的服务主体需要以下贡献者权限。

  • 预先创建的资源组:虚拟机贡献者、存储帐户贡献者和磁盘快照贡献者

  • 虚拟网络:虚拟机贡献者

  • 存储帐户:虚拟机贡献者

使用自定义角色

虽然范围有限,但窄范围的服务委托人仍在授予广泛的贡献者权限,这对于安全敏感的环境来说仍然是不可接受的。Citrix 开发了两个自定义角色,可用于仅向服务主体提供必要的权限。Citrix 主机角色授予创建主机连接的访问权限,而 Citrix 计算机目录角色授予创建 Citrix 工作负载的访问权限。

Citrix 主持人角色

以下是 Citrix 主机角色的 JSON,该角色具有使用托管连接所需的最低权限。如果计算机目录主映像仅使用快照或磁盘,则可以从“操作”列表中删除未使用的操作。

图 1 Citrix 主机角色 (JSON)

{

“id”: “”,

“properties”: {

“roleName”: “Citrix_Hosting_Connection”,

“描述”:“创建主机连接的最低权限。分配给包含 Citrix 基础架构的资源组,例如 Cloud Connector、主映像或虚拟网络资源”,

“assignableScopes”: [

”/”

],

“permissions”: [

{

“actions”: [

“Microsoft.Resources/subscriptions/resourceGroups/read”,

“Microsoft.Compute/snapshots/read”

“Microsoft.Compute/disks/read”,

“Microsoft.Network/virtualNetworks/read”,

“Microsoft.Network/virtualNetworks/subnets/join/action”

],

“notActions”: [],

“dataActions”: [],

“notDataActions”: []

}

]

}

}

Citrix_Hosting_Connection 自定义角色将分配给拥有Cloud Connector、主映像或虚拟网络资源的 Citrix_Infrastructure 资源组。此 JSON 可以直接复制并粘贴到您的自定义 Azure AD 角色中。

Citrix 计算机目录角色

以下是 Citrix 计算机目录向导使用的 Citrix 计算机目录角色的 JSON。此角色提供在 Azure 中创建 Citrix 资源所需的最低权限:

图 2 Citrix 计算机目录角色 (JSON)

{

“id”: “”,

“properties”: {

“roleName”: “Citrix_Machine_Catalog”,

“描述”:“创建计算机目录的最低权限。分配给包含运行Virtual Delivery Agent 的 Citrix 工作负载服务器的资源组。“,

“assignableScopes”: [

”/”

],

“permissions”: [

{

“actions”: [

“Microsoft.Resources/subscriptions/resourceGroups/read”,

“Microsoft.Storage/storageAccounts/listkeys/action”,

“Microsoft.Storage/storageAccounts/read”,

“Microsoft.Storage/storageAccounts/write”,

“Microsoft.Network/networkSecurityGroups/write”,

“Microsoft.Compute/virtualMachines/write”,

“Microsoft.Compute/virtualMachines/start/action”,

“Microsoft.Compute/virtualMachines/restart/action”,

“Microsoft.Compute/virtualMachines/read”,

“Microsoft.Compute/virtualMachines/powerOff/action”,

“Microsoft.Compute/virtualMachines/performMaintenance/action”,

“Microsoft.Compute/virtualMachines/deallocate/action”,

“Microsoft.Compute/virtualMachines/delete”,

“Microsoft.Compute/virtualMachines/convertToManagedDisks/action”,

“Microsoft.Compute/virtualMachines/capture/action”,

“Microsoft.Compute/snapshots/endGetAccess/action”,

“Microsoft.Compute/snapshots/beginGetAccess/action”,

“Microsoft.Compute/snapshots/delete”,

“Microsoft.Compute/snapshots/write”,

“Microsoft.Compute/snapshots/read”,

“Microsoft.Compute/disks/endGetAccess/action”,

“Microsoft.Compute/disks/delete”,

“Microsoft.Compute/disks/beginGetAccess/action”,

“Microsoft.Compute/disks/write”,

“Microsoft.Network/networkSecurityGroups/read”,

“Microsoft.Network/networkInterfaces/delete”,

“Microsoft.Network/networkInterfaces/join/action”,

“Microsoft.Network/networkInterfaces/write”,

“Microsoft.Network/networkInterfaces/read”,

“Microsoft.Storage/storageAccounts/listServiceSas/action”,

“Microsoft.Storage/storageAccounts/listAccountSas/action”,

“Microsoft.Storage/storageAccounts/delete”,

“Microsoft.Compute/disks/read”,

“Microsoft.Resources/subscriptions/resourceGroups/delete”,

“Microsoft.Resources/subscriptions/resourceGroups/write”,

“Microsoft.Network/virtualNetworks/subnets/join/action”,

“Microsoft.Network/virtualNetworks/subnets/read”,

“Microsoft.Network/virtualNetworks/read”,

“Microsoft.Network/networkSecurityGroups/join/action”

],

“notActions”: [],

“dataActions”: [],

“notDataActions”: []

}

]

}

}

Citrix_Machine_Catalog 自定义角色被分配给存放 C itrix VDA 虚拟机的 Citrix_MachineCatalog 资源组。此 JSON 可以直接复制并粘贴到您的自定义 Azure AD 角色中。

安全监视

Microsoft 和 Citrix 都提供基于安全的服务,可用于提醒您注意需要注意的安全事件。本节并非旨在全面深入探讨如何使用这些服务。相反,本节列出了推荐的服务以及如何利用其功能来提高安全性。有关更多详细信息,请参阅《 在 Azure 中监视 Citrix 部署》 文档。

Microsoft Defender for Cloud

Defender for Cloud 是一项结合了以前在 Azure 安全中心和 Azure Defender 中提供的功能的服务。该服务会持续评估您的 Azure 资源,并提供表明部署安全状况的总体分数。Defender for Cloud 就如何解决该服务发现的任何问题提供直接指导。这些建议来自 Azure 安全基准,这是一套由 Microsoft 撰写的 Azure 特定指南。

Microsoft Sentinel

Microsoft Sentinel 既是安全信息和事件管理 (SIEM) 又是安全编排、自动化和响应 (SOAR) 系统。Sentinel 是作为云原生服务设计和构建的。使用复杂的人工智能,Sentinel 持续监视所有内容来源并寻找可疑活动。Sentinel 为通过代理和数据连接器大规模收集和监视数据提供了一个中心位置。通过触发的警报和对常见任务的自动响应来跟踪安全事件。Sentinel 可以在多个云环境中运行,也可以在您的本地基础架构上运行,因此非常适合混合 Citrix 环境。

Microsoft Sentinel 确实支持来自各种供应商的数据连接器。这些供应商包括安全、网络和应用程序供应商。在 Citrix 环境中安装这些数据连接器将很有帮助。

Azure Network Watcher Traffic Analytics

尽管 Citrix 的设计旨在确保安全,但用户仍然是一个薄弱环节,登录凭据可能会被泄露。在 Azure 中运行 Citrix 时,安全访问应用程序和数据的最佳方法之一是监视网络流量。流量分析旨在通过分析网络流量为您提供相关信息。通过将原始流量日志与网络拓扑知识相结合,流量分析可以提供网络通信的综合视图。这些报告包括最活跃的主机或主机对、正在使用的顶级协议、阻塞的流量、开放端口、恶意网络和流量分布。

Citrix Analytics

Citrix Analytics 是一项基于云的服务,用于汇总从跨设备、网络和应用程序的 Citrix 用户处收集的数据。Citrix Analytics 的唯一目的是确定关系和趋势,从而得出切实可行的见解。分析依靠内置的机器学习 (ML) 算法来查找可能表明 Citrix 用户存在问题的行为异常。Citrix Analytics 与包括 Microsoft 在内的第三方提供商合作,收集数据进行分析。

Citrix Analytics for Security 侧重于用户和应用程序行为。安全分析模块主要寻找内部威胁或外部恶意行为。Citrix Analytics 与以下 Citrix 和 Microsoft 产品集成:

  • Citrix Virtual Apps and Desktops
  • Citrix Application Delivery Controller (NetScaler)
  • Citrix Secure Workspace Access(访问控制)
  • Citrix Gateway
  • Citrix Content Collaboration
  • Citrix Endpoint Management
  • Citrix Secure Browser
  • Microsoft Graph 安全性
  • Microsoft Active Directory

数据可以集成到任何支持 Kafka 主题或基于 Logstash 的数据连接器的 SIEM 服务中,例如 Microsoft Sentinel。也可以以逗号分隔的值 (CSV) 格式导出数据,以便在其他系统上进行分析。

引用

https://docs.microsoft.com/en-us/azure/architecture/framework/security/overview

https://docs.microsoft.com/en-us/azure/role-based-access-control/overview

https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/clients/change-listening-port

https://docs.microsoft.com/en-us/azure/virtual-network/network-security-groups-overview

https://docs.microsoft.com/en-us/azure/security/fundamentals/network-best-practices

https://azure.microsoft.com/fr-fr/blog/applicationsecuritygroups/

https://docs.microsoft.com/en-us/azure/virtual-network/service-tags-overview

https://docs.microsoft.com/en-us/azure/private-link/availability

https://docs.citrix.com/en-us/tech-zone/design/reference-architectures/virtual-apps-and-desktops-azure.html

https://docs.citrix.com/en-us/citrix-cloud/citrix-cloud-management/identity-access-management/azure-ad-permissions.html

https://docs.citrix.com/en-us/tech-zone/design/reference-architectures/virtual-apps-and-desktops-service.html

https://docs.citrix.com/en-us/tech-zone/design/reference-architectures/federated-authentication-service.html

https://docs.citrix.com/en-us/tech-zone/design/reference-architectures/gdpr.html

https://docs.citrix.com/en-us/tech-zone/build/tech-papers/antivirus-best-practices.html

https://docs.citrix.com/en-us/tech-zone/build/tech-papers/networking-tls-best-practices.html

https://docs.citrix.com/en-us/tech-zone/learn/tech-insights/federated-authentication-service.html

https://docs.citrix.com/en-us/tech-zone/learn/tech-insights/virtual-apps-and-desktops-service.html

https://docs.citrix.com/en-us/tech-zone/build/tech-papers/citrix-communication-ports.html

https://docs.citrix.com/en-us/citrix-gateway-service/hdx-edt-support-for-gateway-service.html

https://support.citrix.com/article/CTX219243

https://support.citrix.com/article/CTX224110

保护适用于 Azure 的 Citrix D