安全性和网络配置

联合身份验证服务 (FAS) 与 Microsoft Active Directory 和 Microsoft 证书颁发结构紧密集成。确保恰当管理系统和确保系统安全非常重要,因此,请像对域控制器或其他关键性基础结构一样制定安全策略。

本文档概述了部署 FAS 时需要注意的安全问题。此外,还概述了可以帮助确保您的基础结构安全的可用功能。

网络体系结构

下图显示了 FAS 部署中使用的主要组件和安全范围。

应将 FAS 服务器以及证书颁发机构和域控制器视为安全关键型基础结构的一部分。在联合环境中,Citrix Gateway 和 Citrix StoreFront 是可信的用于执行用户身份验证的组件; 其他 Citrix Virtual Apps and Desktops 组件不受引入 FAS 影响。

本地化后的图片

防火墙和网络安全性

Citrix Gateway、StoreFront 与 Delivery Controller 组件之间的通信应通过端口 443 受 TLS 保护。StoreFront 服务器仅执行传出连接,而 Citrix Gateway 仅应接受使用 HTTPS 端口 443 通过 Internet 建立的连接。

StoreFront 服务器使用相互身份验证的 Kerberos 通过端口 80 访问 FAS 服务器。身份验证使用 FAS 服务器的 Kerberos HOST/fqdn 标识以及 StoreFront 服务器的 Kerberos 计算机帐户标识。这将生成 Citrix Virtual Delivery Agent (VDA) 登录用户时所需的一次性使用的“凭据句柄”。

HDX 会话连接到 VDA 时,VDA 还将通过端口 80 访问 FAS 服务器。身份验证使用 FAS 服务器的 Kerberos HOST/fqdn 标识以及 VDA 的 Kerberos 计算机标识。此外,VDA 必须提供“凭据句柄”才能访问证书和私钥。

Microsoft 证书颁发机构接受使用通过 Kerberos 验证的 DCOM 的通信,可以将其配置为使用固定 TCP 端口。此外,证书颁发机构还要求 FAS 服务器提供通过可信注册代理证书签名的 CMC 数据包。

服务器 防火墙端口
联合身份验证服务 [输入] 基于 HTTP 的 Kerberos(在 StoreFront 和 VDA 中),[输出] DCOM 至 Microsoft 证书颁发机构
Citrix Gateway [输入] 从客户端计算机至 HTTPS,[输入/输出] 从 HTTPS 至 StoreFront 服务器/从 StoreFront 服务器至 HTTPS,[输出] HDX 至 VDA
StoreFront [输入] 从 Citrix Gateway 至 HTTPS,[输出] HTTPS 至 Delivery Controller,[输出] Kerberos HTTP 至 FAS
Delivery Controller [输入] 从 StoreFront 服务器至 HTTPS,[输入/输出] 从 VDA 至基于 HTTP 的 Kerberos
VDA [输入/输出] 从 Delivery Controller 至基于 HTTP 的 Kerberos,[输入] 从 Citrix Gateway 至 HDX,[输出] Kerberos HTTP 至 FAS
Microsoft 证书颁发机构 [输入] FAS 至 DCOM 且已签名

Citrix 联合身份验证服务与 Citrix Cloud 之间的连接

控制台和 FAS 分别使用用户的帐户和网络服务帐户访问以下地址。

  • FAS 管理控制台,在用户的帐户下
    • *.cloud.com
    • *.citrixworkspacesapi.net
    • 第三方身份提供程序所需的地址(如果您的环境中使用了第三方身份提供程序)
  • FAS 服务,在网络服务帐户下:*.citrixworkspacesapi.net

如果您的环境包含代理服务器,请使用 FAS 管理控制台的地址配置用户代理。此外,请务必使用 netsh 或类似的工具配置网络服务帐户的地址。

安全注意事项

FAS 具有注册机构证书,允许它代表您的域用户自主颁发证书。因此,必须制定并实施安全策略来保护 FAS 服务器,并限制其权限。

委派注册代理

FAS 充当注册代理来颁发用户证书。Microsoft 证书颁发机构允许您限制注册代理、证书模板和注册代理可以为其颁发证书的用户。

注册代理对话框

您可以使用此对话框来确保:

  • 注册代理列表仅包含 FAS 服务器。
  • 证书模板列表仅包含 FAS 模板。
  • 权限列表仅包含允许使用 FAS 的用户。例如,建议阻止 FAS 向“管理”或“受保护的用户”组中的用户颁发证书。

访问控制列表配置

配置规则部分中所述,您必须配置可信 StoreFront 服务器列表,以在颁发证书时向 FAS 声明用户身份。 同样,您可以限制将为其颁发证书的用户,以及用户可向其进行身份验证的 VDA 计算机。 这是对您配置的任何标准 Active Directory 或证书颁发机构安全功能的补充。

防火墙设置

与 FAS 服务器的所有通信均通过端口 80 以相互身份验证的 Windows Communication Foundation (WCF) Kerberos 网络连接。

事件日志监视

FAS 和 VDA 会将信息写入 Windows 事件日志。 此信息可以用于监视和审核信息。 事件日志部分列出了可生成的事件日志条目。

硬件安全模块

所有私钥,包括由 FAS 颁发的用户证书的私钥,均通过网络服务帐户存储为不可导出的私钥。FAS 支持使用加密硬件安全模块(如果您的安全策略需要此模块)。

在 FederatedAuthenticationService.exe.config 文件中提供了低级别的加密配置。当首次创建私钥时,将应用这些设置。 因此,可将不同的设置用于注册机构私钥(例如,4096 位,受 TPM 保护)和运行时用户证书。

参数 说明
ProviderLegacyCsp 当设置为 true 时,FAS 使用 Microsoft CryptoAPI (CAPI)。否则,FAS 将使用 Microsoft Cryptography Next Generation API (CNG)。
ProviderName 要使用的 CAPI 或 CNG 提供程序的名称。
ProviderType 请参阅 Microsoft KeyContainerPermissionAccessEntry.ProviderType Property PROV_RSA_AES 24。应该始终为 24,除非您使用 CAPI 与 HSM 并且 HSM 提供商另有规定。
KeyProtection 控制私钥的“可导出”标志。 如果硬件支持,还允许使用受信任的平台模块 (TPM) 密钥存储。
KeyLength RSA 私钥的密钥长度。 支持的值包括 1024、2048 和 4096(默认值:2048)。

管理职责

可以将对环境的管理职责分为以下几组:

名称 职责
企业管理员 在林中安装证书模板并确保其安全
域管理员 配置组策略设置
证书颁发机构管理员 配置证书颁发机构
FAS 管理员 安装并配置 FAS 服务器
StoreFront/Citrix Gateway 管理员 配置用户身份验证
Citrix Virtual Desktops 管理员 配置 VDA 和 Controller

每个管理员分别控制整体安全模型的不同部分,从而允许采用深度防御措施来确保系统安全。

组策略设置

可信 FAS 计算机借助通过组策略配置的“索引号 -> FQDN”查询表进行标识。访问 FAS 服务器时,客户端将验证 FAS 服务器的 HOST\<fqdn> Kerberos 标识。访问 FAS 服务器的所有服务器都必须具有相同的 FQDN 配置以使索引相同,否则,StoreFront 和 VDA 可能会访问不同的 FAS 服务器。

为避免配置不正确,Citrix 建议您对环境中的所有计算机应用一条策略。修改 FAS 服务器的列表时应谨慎,特别是删除条目或对条目重新排序时。

应将此 GPO 限制为只能被安装 FAS 服务器以及解除其授权的 FAS 管理员(和/或域管理员)控制。请小心操作,以免在解除 FAS 服务器授权后立即重复使用计算机 FQDN 名称。

证书模板

如果您不希望使用与 FAS 一起提供的 Citrix_SmartcardLogon 证书模板,您可以修改它的副本。支持以下修改。

重命名证书模板

如果您希望重命名 Citrix_SmartcardLogon 以符合您的组织模板命名标准,您必须:

  • 创建证书模板的一个副本,然后对其重命名以符合您的组织模板命名标准。
  • 使用 FAS PowerShell 命令管理 FAS,而不是管理用户界面。(管理用户界面仅适用于 Citrix 默认模板名称。)
    • 使用 Microsoft MMC 证书模板管理单元或 Publish-FasMsTemplate 命令发布您的模板,以及
    • 使用 New-FasCertificateDefinition 命令在 FAS 中配置您的模板的名称。

修改常规属性

您可以修改证书模板中的有效期。

请勿修改续订期。FAS 会忽略证书模板中的此设置。FAS 会自动在证书的有效期中间续订证书。

修改请求处理属性

请勿修改这些属性。FAS 会忽略证书模板中的这些设置。FAS 会始终取消选中 Allow private key to be exported(允许导出私钥)及取消选中 Renew with same key(使用相同密钥续订)。

修改加密属性

请勿修改这些属性。FAS 会忽略证书模板中的这些设置。

有关 FAS 提供的等效设置,请参阅私钥保护

修改密钥证明属性

请勿修改这些属性。FAS 不支持密钥证明。

修改被取代的模板属性

请勿修改这些属性。FAS 不支持取代模板。

修改扩展属性

您可以修改这些设置以符合您的组织策略。

注意: 不合适的扩展设置可能会导致出现安全问题,或导致证书无法使用。

修改安全属性

Citrix 建议修改这些设置以仅允许 FAS 服务的计算机帐户具有读取注册权限。FAS 服务不需要任何其他权限。但是,与其他证书模板一样,您可能需要:

  • 允许管理员读取或写入模板
  • 允许经过身份验证的用户读取模板

本地化后的图片

修改使用者名称属性

Citrix 建议您不要修改这些属性。

模板已选择 Build from this Active Directory information(基于此 Active Directory 信息构建),从而导致证书颁发机构在证书扩展名中包含用户的 SID。它提供了到用户的 Active Directory 帐户的强映射。

修改服务器属性

尽管 Citrix 不建议,但您仍可以修改这些设置以符合您的组织策略(如果需要)。

修改颁发要求属性

请勿修改这些设置。这些设置应该如下所示:

本地化后的图片

修改兼容性属性

您可以修改这些设置。该设置必须至少为 Windows Server 2003 CA(架构版本 2)。但是,FAS 仅支持 Windows Server 2008 及更高版本的 CA。此外,如上文所述,FAS 会忽略通过选择 Windows Server 2008 CA(架构版本 3)或 Windows Server 2012 CA(架构版本 4)可用的其他设置。

证书颁发机构管理

证书颁发机构管理员负责配置证书颁发机构服务器以及颁发证书颁发机构服务器使用的证书私钥。

发布模板

要使证书颁发机构能够颁发基于企业管理员提供的模板创建的证书,证书颁发机构管理员必须选择发布该模板。

简单的安全做法是在安装 FAS 服务器时仅发布注册机构证书模板,或者坚持执行完全脱机的颁发过程。在任何一种情况下,证书颁发机构管理员都应通过授权注册机构证书申请来保持完全控制能力,并配置用于向 FAS 服务器授权的策略。

防火墙设置

一般情况下,证书颁发机构管理员还能够控制证书颁发机构的网络防火墙设置,进而允许控制传入连接。证书颁发机构管理员可以配置 DCOM TCP 和防火墙规则,以便只有 FAS 服务器能够申请证书。

限制注册

默认情况下,任何注册机构证书的持有者都能使用允许访问的任何证书模板为任何用户颁发证书。应使用“限制注册代理”证书颁发机构属性将其限制为一组非特权用户。

本地化后的图片

策略模块和审核

对于高级部署,可以使用自定义安全模块来跟踪和否决证书颁发。

FAS 管理

FAS 具有多项安全功能。

通过 ACL 限制 StoreFront、用户和 VDA

FAS 安全模型的核心是控制哪些 Kerberos 帐户能够访问功能:

访问矢量 说明
StoreFront [IdP] 信任这些 Kerberos 帐户以声明已正确验证某个用户的身份。如果这些帐户中的某个帐户已损坏,可以创建证书并将其用于 FAS 配置所允许的用户。
VDA [信赖方] 这些是有权访问证书和私钥的计算机。此外,还需要使用通过 IdP 检索的凭据句柄,使该组中已损坏的 VDA 帐户具有受限的系统攻击范围。
用户 这将控制可通过 IdP 声明的用户。请注意,这与证书颁发机构中的“受限注册代理”配置选项存在重叠。一般来说,建议仅在此列表中包含非特权帐户。这样可以阻止已损坏的 StoreFront 帐户将权限提升到更高管理级别。具体而言,此 ACL 不应允许域管理员帐户。

配置规则

如果有多个独立 Citrix Virtual Apps 或 Citrix Virtual Desktops 部署采用相同的 FAS 服务器基础结构,规则将很有用。每个规则都有一组独立的配置选项;具体而言,可以单独配置 Kerberos 访问控制列表 (ACL)。

配置证书颁发机构和模板

可以为不同的访问权限配置不同的证书模板和 CA。高级配置可以选择使用功能较弱或较强的证书,具体取决于环境。例如,标识为“外部”的用户拥有证书的权限可能会低于标识为“内部”的用户拥有的证书。

会话中证书和身份验证证书

FAS 管理员可以控制用于身份验证的证书是否在用户的会话中可用。例如,此控制功能可用于仅使“签名”证书在会话中可用,使具有更高功能的“登录”证书只在登录时使用。

私钥保护和密钥长度

FAS 管理员可以将 FAS 配置为在硬件安全模块 (HSM) 或受信任的平台模块 (TPM) 中存储私钥。Citrix 建议您应至少通过将注册机构证书私钥存储在 TPM 中来保护私钥;此选项在“脱机”证书请求过程中提供。

同样,可以将用户证书私钥存储在 TPM 或 HSM 中。所有密钥都应以“不可导出”格式生成,长度应至少为 2048 位。

事件日志

FAS 服务器提供详细的配置和运行时事件日志,这些日志可用于审核和入侵检测目的。

管理访问权限和管理工具

FAS 中包括一些远程管理功能(相互验证 Kerberos)和工具。“本地管理员组”成员对 FAS 配置具有完全控制权限。应仔细维护此列表。

Citrix Virtual Apps、Citrix Virtual Desktops 和 VDA 管理员

一般而言,在使用 FAS 时不会更改 Delivery Controller 和 VDA 管理员的安全模型,因为 FAS“凭据句柄”只会替换“Active Directory 密码”。Controller 和 VDA 管理组中应仅包含可信用户。应保留审核日志和事件日志。

常规 Windows 服务器安全性

所有服务器都应安装所有修补程序,并安装标准防火墙和防病毒软件。应将安全关键型基础结构服务器放置在安全的物理位置,并仔细管理磁盘加密选项和虚拟机维护选项。

应将审核日志和事件日志安全地存储在远程计算机上。

应仅允许授权管理员访问 RDP。如有可能,应要求用户帐户进行智能卡登录,尤其对于证书颁发机构和域管理员帐户更是如此。

相关信息