联合身份验证服务的安全性与网络配置
Citrix 联合身份验证服务 (FAS) 与 Microsoft Active Directory 和 Microsoft 证书颁发机构 (CA) 紧密集成。务必确保系统得到妥善管理和保护,并像为域控制器或其他关键基础结构一样制定安全策略。
本文档旨在概述在部署 FAS 时需要考虑的安全问题。同时,它还概述了可用于协助保护您的基础设施的各项功能。
网络体系结构
下图显示了 FAS 部署中使用的主要组件和安全边界。
FAS 服务器应与 CA 和域控制器一起被视为安全关键基础结构的一部分。在联合环境中,Citrix NetScaler 和 Citrix StoreFront™ 是受信任可执行用户身份验证的组件;其他 XenApp 和 XenDesktop 组件不受引入 FAS 的影响。

防火墙和网络安全
Communication between NetScaler, StoreFront and the Delivery Controller™ components should be protected by TLS over port 443. The StoreFront server performs only outgoing connections, and the NetScaler Gateway should accept only connections over the Internet using HTTPS port 443.
StoreFront 服务器通过端口 80 使用相互验证的 Kerberos 联系 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 CA 接受使用 Kerberos 身份验证的 DCOM 进行通信,该通信可配置为使用固定 TCP 端口。CA 还要求 FAS 服务器提供由受信任的注册代理证书签名的 CMC 数据包。
| 服务器 | 防火墙端口 |
|---|---|
| 联合身份验证服务 | [in] Kerberos over HTTP from StoreFront and VDAs, [out] DCOM to Microsoft CA |
| 网思乐 | [in] 来自客户端计算机的 HTTPS,[in/out] 到/来自 店面服务器的 HTTPS,[out] 高清体验技术到虚拟投递代理 |
| 商店前端 | [in] 来自 NetScaler® 的 HTTPS 连接, [out] 到 交付控制器 的 HTTPS 连接, [out] 到 联合身份验证服务 的 Kerberos HTTP 连接 |
| 交付控制器 | [in] 来自店面服务器的 HTTPS 连接,[in/out] 来自 VDA 代理的通过 HTTP 的 Kerberos 身份验证 |
| VDA | [in/out] 交付控制器通过 HTTP 协议进行的 Kerberos 身份验证,[in] NetScaler 网关提供的 HDX 技术,[out] Kerberos 身份验证通过 HTTP 协议连接到 FAS |
| 微软 CA | [in] 来自 FAS 的 DCOM 和签名 |
管理人员的责任和职责
环境的管理工作可以划分为以下几个组别:
| 名称 | 职责 |
|---|---|
| 企业级管理员 | 在域林中安装并确保证书模板的安全 |
| 域管理人员 | 对组策略设置进行配置 |
| CA 管理员 | 对证书颁发机构进行配置 |
| FAS 管理员 | 安装和配置 FAS 服务器 |
| StoreFront/网络加速器 管理员 | 配置用户身份验证 |
| XenDesktop® 桌面虚拟化管理员 | 配置 VDA 和控制器 |
每个管理员控制整体安全模型的不同方面,从而允许采用纵深防御方法来保护系统。
组策略的设置
受信任的 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 始终取消选择 允许导出私钥 和 使用相同密钥续订。
修改加密配置属性
请勿修改这些属性。FAS 会忽略证书模板中的这些设置。
有关 FAS 提供的等效设置,请参阅 联合身份验证服务私钥保护。
修改密钥证明配置属性
请勿修改这些属性。FAS 不支持密钥证明。
修改已取代的模板属性
请勿修改这些属性。FAS 不支持取代模板。
修改扩展配置属性
您可以修改这些设置以符合您的组织策略。
注意:不当的扩展设置可能会导致安全问题,或导致证书无法使用。
修改安全配置属性
Citrix 建议您修改这些设置,以仅允许 FAS 服务器的计算机帐户拥有 读取 和 注册 权限。FAS 服务不需要其他任何权限。但是,与其他证书模板一样,您可能需要执行以下操作:
- 允许管理员对模板进行读取或写入操作
- 允许经过身份验证的用户读取模板

修改主题名称属性
如有需要,您可以修改这些设置以符合您的组织策略。
修改服务器属性
尽管 Citrix 不建议这样做,但如有需要,您可以修改这些设置以符合您的组织策略。
修改颁发要求属性的设置
请勿修改这些设置。这些设置应如下所示:

修改兼容性属性的设置
您可以修改这些设置。该设置必须至少为 Windows Server 2003 CA(架构版本 2)。但是,FAS 仅支持 Windows Server 2008 及更高版本的 CA。此外,如上所述,FAS 会忽略通过选择 Windows Server 2008 CA(架构版本 3)或 Windows Server 2012 CA(架构版本 4)而提供的其他设置。
证书颁发机构的管理
CA 管理员负责对 CA 服务器进行配置,并负责其所使用的颁发证书私钥的管理工作。
模板的发布
为了使证书颁发机构能够根据企业管理员提供的模板颁发证书,CA 管理员必须选择发布该模板。
一种简单的安全做法是,在安装 FAS 服务器时仅发布 RA 证书模板,或者坚持完全脱机颁发过程。无论哪种情况,CA 管理员都应完全控制授权 RA 证书请求,并制定授权 FAS 服务器的策略。
防火墙设置
通常,CA 管理员还将控制 CA 的网络防火墙设置,从而控制传入连接。CA 管理员可以配置 DCOM TCP 和防火墙规则,以便只有 FAS 服务器才能请求证书。
受限制的注册
默认情况下,任何 RA 证书持有者都可以使用允许访问的任何证书模板向任何用户颁发证书。这应使用“限制注册代理”CA 属性限制为一组非特权用户。

策略模块和审核
对于高级部署,可以使用自定义安全模块来跟踪和否决证书颁发。
FAS 管理
FAS 具有多项安全功能。
通过访问控制列表限制 StoreFront、用户和虚拟交付代理
FAS 安全模型的核心是控制哪些 Kerberos 帐户可以访问功能:
| 访问向量 | 说明 |
|---|---|
| 店面 [IdP] | 这些 Kerberos 帐户受信任,可声明用户已正确通过身份验证。如果其中一个帐户遭到入侵,则可以为 FAS 配置允许的用户创建和使用证书。 |
| 虚拟交付代理 [Relying party] | 这些是允许访问证书和私钥的计算机。IdP 检索到的凭据句柄也是必需的,因此此组中受损的 VDA 帐户对攻击系统的范围有限。 |
| 用户 | 这控制了哪些用户可以由 IdP 进行断言。请注意,这与 CA 上的“受限注册代理”配置选项存在重叠。通常,建议在此列表中仅包含非特权帐户。这可以防止受损的 StoreFront 帐户将权限提升到更高的管理级别。特别是,此 ACL 不应允许域管理员帐户。 |
配置规则
如果多个独立的 XenApp® 或 XenDesktop 部署使用相同的 FAS 服务器基础结构,则规则会很有用。每个规则都有一组单独的配置选项;特别是,ACL 可以独立配置。
配置 CA 和模板
可以为不同的访问权限配置不同的证书模板和 CA。高级配置可能会根据环境选择使用功能较弱或较强的证书。例如,被识别为“外部”的用户可能拥有比“内部”用户权限更少的证书。
会话内证书和身份验证证书
FAS 管理员可以控制用于身份验证的证书是否可在用户会话中使用。例如,这可以用于仅在会话中提供“签名”证书,而功能更强大的“登录”证书仅在登录时使用。
私钥的保护和密钥的长度
FAS 管理员可以将 FAS 配置为将私钥存储在硬件安全模块 (HSM) 或可信平台模块 (TPM) 中。Citrix 建议至少通过将其存储在 TPM 中来保护 RA 证书私钥;此选项作为“脱机”证书请求过程的一部分提供。
同样,用户证书私钥可以存储在 TPM 或 HSM 中。所有密钥都应生成为“不可导出”且长度至少为 2048 位。
事件日志
FAS 服务器提供详细的配置和运行时事件日志,可用于审计和入侵检测。
管理操作的访问权限和管理工具
FAS 包含远程管理功能(相互认证的 Kerberos)和工具。“本地管理员组”的成员对 FAS 配置拥有完全控制权。应仔细维护此列表。
XenApp, XenDesktop, and VDA administrators
通常,FAS 的使用不会改变 Delivery Controller 和 VDA 管理员的安全模型,因为 FAS 的“凭据句柄”只是替换了“Active Directory 密码”。Controller 和 VDA 管理组应仅包含受信任的用户。应维护审计和事件日志。
一般 Windows 服务器安全性
所有服务器都应完全打补丁,并配备标准防火墙和防病毒软件。安全关键型基础架构服务器应存放在物理安全的位置,并注意磁盘加密和虚拟机维护选项。
审计和事件日志应安全地存储在远程计算机上。
RDP 访问应仅限于授权管理员。在可能的情况下,用户帐户应要求智能卡登录,特别是对于 CA 和域管理员帐户。
更多相关信息
- 联合身份验证服务 文章是 FAS 安装和配置的主要参考资料。
- FAS 体系结构在 联合身份验证服务体系结构概述 文章中介绍。
- 其他“操作方法”文章在 联合身份验证服务配置和管理 文章中介绍。