联合身份验证服务的安全性和网络配置

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

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

网络体系结构

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

应将 FAS 服务器以及 CA 和域控制器视为安全关键型基础结构的一部分。 在联合环境中,Citrix NetScaler 和 Citrix StoreFront 是受信任的用于执行用户身份验证的组件;其他 XenApp 和 XenDesktop 组件不受引入 FAS 影响。

本地化后的图片

防火墙和网络安全性

NetScaler、StoreFront 与 Delivery Controller 组件之间的通信应通过端口 443 受 TLS 保护。 StoreFront 服务器仅执行传出连接,而 NetScaler 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 CA 接受使用通过 Kerberos 验证的 DCOM 的通信,可以将其配置为使用固定 TCP 端口。 此外,CA 还要求 FAS 服务器提供通过可信注册代理证书签名的 CMC 数据包。

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

管理职责

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

名称 职责
企业管理员 在林中安装证书模板并确保其安全
域管理员 配置组策略设置
CA 管理员 配置证书颁发机构
FAS 管理员 安装并配置 FAS 服务器
StoreFront/Netscaler 管理员 配置用户身份验证
XenDesktop 管理员 配置 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 不建议,但您仍可以修改这些设置以符合您的组织策略(如果需要)。

修改颁发要求属性

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

本地化后的图片

修改兼容性属性

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

证书颁发机构管理

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

发布模板

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

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

防火墙设置

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

限制注册

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

本地化后的图片

策略模块和审核

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

FAS 管理

FAS 具有多项安全功能。

通过 ACL 限制 StoreFront、用户和 VDA

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

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

配置规则

如果有多个独立 XenApp 或 XenDesktop 部署采用相同的 FAS 服务器基础结构,规则将非常有用。 每个规则都有一组独立的配置选项;具体而言,可以单独配置 ACL。

配置 CA 和模板

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

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

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

私钥保护和密钥长度

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

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

事件日志

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

管理访问权限和管理工具

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

XenApp、XenDesktop 和 VDA 管理员

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

常规 Windows 服务器安全性

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

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

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

相关信息

联合身份验证服务的安全性和网络配置