安全和网络配置

联合身份验证服务 (FAS) 与 Microsoft Active Directory 和 Microsoft 证书颁发机构紧密集成。请确保像管理域控制器或其他关键基础架构一样,对系统进行适当的管理和保护,并制定相应的安全策略。

本文档概述了部署 FAS 时需要考虑的安全问题。它还概述了可能有助于保护您的基础架构的可用功能。

网络架构和安全

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

FAS 服务器与证书颁发机构和域控制器一起,是安全关键型基础架构的一部分。在联合环境中,Citrix Gateway 和 Citrix StoreFront 是执行用户身份验证的组件。引入 FAS 不会影响其他 Citrix Virtual Apps and Desktops™ 组件。

显示服务器和协议的图表

| 服务器 | 连接 | |———————————–|——————————————————————————————————————–|

  • Federated Authentication Service [入站] 来自 StoreFront™ 和 VDA 的带 Kerberos 安全的 HTTP,[出站] 到 Microsoft 证书颁发机构的 DCOM
  • Citrix Gateway [入站] 来自客户端计算机的 HTTPS,[入站/出站] 到/来自 StoreFront 服务器的 HTTPS,[出站] 到 VDA 的 HDX
  • StoreFront [入站] 来自 Citrix Gateway 的 HTTPS,[出站] 到 Delivery Controller™ 的 HTTPS,[出站] 到 FAS 的带 Kerberos 安全的 HTTP
  • Delivery Controller [入站] 来自 StoreFront 服务器的 HTTPS,[入站/出站] 来自 VDA 的带 Kerberos 安全的 HTTP
    VDA [入站/出站] 来自 Delivery Controller 的带 Kerberos 安全的 HTTP,[入站] 来自 Citrix Gateway 的 HDX,[出站] 到 FAS 的带 Kerberos 安全的 HTTP
    Microsoft 证书颁发机构 [入站] 来自 FAS 的 DCOM
  • StoreFront 与 FAS 之间的通信

  • 启动 VDA 时,StoreFront 服务器会联系 FAS 服务器以获取一次性票证,VDA (Citrix Virtual Delivery Agent) 需要此票证才能登录用户。

  • StoreFront 使用 SOAP over HTTP 连接到 FAS。默认情况下,它使用端口 80。

  • 它使用相互 Kerberos 进行身份验证,其中包含 FAS 服务器的 Kerberos HOST/fqdn 身份和 StoreFront 服务器的 Kerberos 计算机帐户身份。

  • 数据通过消息级安全性进行加密。无需额外配置即可启用加密。

VDA 与 FAS 之间的通信

-  当 HDX™ 会话连接到 VDA 时,VDA 会联系 FAS 服务器以请求证书。

-  VDA 使用 SOAP over HTTP 连接到 FAS 服务器。默认情况下,它使用端口 80。

-  它使用相互 Kerberos 进行身份验证,其中包含 FAS 服务器的 Kerberos HOST/fqdn 身份和 VDA 的 Kerberos 计算机身份。此外,VDA 必须提供“凭据句柄”才能访问证书和私钥。

FAS 与 Microsoft 证书颁发机构之间的通信

-  当用户启动 VDA 时,如果 FAS 服务器尚未拥有该用户的证书,则它会与证书颁发机构通信以请求证书。证书颁发机构要求 FAS 服务器提供由受信任的注册代理证书签名的 CMC 数据包。
  • FAS 服务器使用 DCOM 与 Microsoft 证书颁发机构通信。有关所需端口的信息,请参阅 Microsoft 文档

    • 它使用 Kerberos 进行身份验证。

Citrix Federated Authentication Service 与 Citrix Cloud™ 之间的连接

如果将 FAS 连接到 Citrix Cloud,则您的 FAS 服务器必须能够通过 HTTPS 端口 443 访问以下地址。

Citrix Cloud:

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

Citrix Cloud Japan:

  • 用户帐户下的 FAS 管理控制台
    • *.citrixcloud.jp
    • *.citrixworkspacesapi.jp
    • 如果您的环境中使用第三方身份提供程序,则需要该提供程序所需的地址
    • 网络服务帐户下的 FAS 服务:
    • *.citrixworkspacesapi.jp
    • *.citrixnetworkapi.jp

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

更多信息

有关保护其他 Citrix 组件之间通信的信息,请参阅以下文章:

安全注意事项

FAS 拥有注册机构证书,允许它为您的域用户自主颁发证书。它有助于制定和实施安全策略以保护 FAS 服务器并限制其权限。

委派的注册代理

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

注册代理对话框

您可以使用给定的对话框来确保:

  • “注册代理”列表仅包含 FAS 服务器(假设您的 Active Directory 部署中不需要其他注册代理)。
  • “证书模板”列表仅包含用于颁发用户证书的 FAS 模板。默认情况下,这是 Citrix_SmartcardLogon 模板。
  • “权限”列表包含允许使用 FAS 的用户。例如,建议不要向管理员或受保护的用户组颁发证书。

注意:

对计算机帐户的 Active Directory 组成员身份进行的任何更改,在计算机重新启动之前不会生效。

访问控制列表配置

配置规则部分所述,您必须配置 StoreFront 服务器列表。这些 StoreFront 服务器在颁发证书时向 FAS 断言用户身份。同样,您可以限制哪些用户可以获得证书以及他们可以向哪些 VDA 计算机进行身份验证。此功能是您配置的任何标准 Active Directory 或证书颁发机构安全功能之外的补充。

防火墙设置

FAS 服务器必须接受来自 StoreFront 和 VDA 的传入连接,除非另行配置,否则使用端口 80。有关网络通信的更多信息,请参阅网络体系结构和安全性

  • FAS 安装程序可以选择配置 Windows 防火墙。有关详细信息,请参阅 FAS 安装程序选项

更改 FAS 服务器端口

FAS 服务器默认使用端口 80。您可以自定义端口:

注意:

您可以将 FAS 服务器端口更改为端口 443,但这不会更改 FAS 使用的协议。即使在端口 443 上配置,FAS 也不使用 HTTPS。

  1. 在您的 FAS 服务器上运行以下命令行:

    "C:\Program Files\Citrix\Federated Authentication Service\Citrix.Authentication.FederatedAuthenticationService.exe" /SVCPORT [port] /CONFIGUREFIREWALL
    <!--NeedCopy-->
    

    [port] 替换为您希望使用的端口号。

    /CONFIGUREFIREWALL 开关使其更新 Windows 防火墙以允许在指定端口上进行传入连接。

  2. 重新启动 FAS 服务。

  3. 在您的 FAS 组策略对象中,更新 FAS 服务器列表以包含端口(例如 fas.example.com:[port])。

  4. 将更改传播到 FAS 服务器、StoreFront 和 VDA(例如,使用 gpupdate /force)。

  • 事件日志监控

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

  • 硬件安全模块

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

可以使用 PowerShell 命令进行低级加密配置。可以为 FAS 授权证书私钥和用户证书密钥使用不同的设置。有关更多详细信息,请参阅私钥保护

管理职责

环境管理可分为以下几组:

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

每个管理员控制整体安全模型的不同方面,从而允许采用纵深防御方法来保护系统安全。

组策略设置

注意:

如果您的所有 FAS 服务器和 VDA 均为版本 2511 或更高版本,则不再需要 VDA 上的组策略 FQDN 列表。请参阅 FAS V2 票证和注册表地址列表

受信任的 FAS 计算机通过通过组策略配置的“索引号 -> FQDN”查找表进行识别。联系 FAS 服务器时,客户端会验证 FAS 服务器的 HOST\<fqdn> Kerberos 身份。所有访问 FAS 服务器的服务器都必须为相同的索引具有相同的 FQDN 配置;否则,StoreFront 和 VDA 可能会联系不同的 FAS 服务器。此外,如果 FAS 服务器连接到 Citrix Cloud,则组策略也必须应用于 FAS 服务器本身。

Citrix 建议对环境中的所有计算机应用单个策略,以避免配置错误。修改 FAS 服务器列表时请务必小心,尤其是在删除或重新排序条目时。

此 GPO 的控制必须限于负责安装和停用 FAS 服务器的 FAS 管理员(和/或域管理员)。请注意避免在停用 FAS 服务器后不久重复使用计算机 FQDN 名称。

FAS 组策略设置出现在注册表中的 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Citrix\Authentication。组策略中的 FAS FQDN 列表出现在子项 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Citrix\Authentication\UserCredentialService\Addresses

证书模板

如果您不想使用 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 服务不需要任何其他权限。

此外:

  • 允许“经过身份验证的用户读取模板。这是必需的,因为证书颁发机构本身需要能够读取模板。
  • 允许您的证书颁发机构管理员读取写入模板。

此建议适用于所有三个 FAS 模板:

  • Citrix_SmartcardLogon
  • Citrix_RegistrationAuthority
  • Citrix_RegistrationAuthority_ManualAuthorization

本地化图像

注意:

对计算机帐户的 Active Directory 组成员身份进行的任何更改,在计算机重新启动之前不会生效。

修改主题名称属性

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

模板已选择“从此 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 服务器才能请求证书。

受限注册

默认情况下,任何注册机构证书的持有者都可以使用任何允许访问的证书模板向任何用户颁发证书。Citrix 建议使用限制注册代理证书颁发机构属性,将证书的颁发限制为一组非特权用户。请参阅委派注册代理

策略模块和审核

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

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 建议至少将 FAS 授权证书私钥存储在 TPM 中以进行保护。

同样,用户证书私钥可以存储在 TPM 或 HSM 中。如果使用 RSA,所有密钥都必须生成为不可导出,并且长度至少为 2048 位。

注意:

尽管 FAS 可以在 TPM 或 HSM 中生成和存储用户证书密钥,但对于大型部署而言,硬件可能太慢或受大小限制。

有关更多详细信息,请参阅私钥保护

事件日志

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

管理访问和管理工具

FAS 包括远程管理功能(相互身份验证的 Kerberos)和工具。“本地管理员组”的成员对 FAS 配置拥有完全控制权。必须妥善维护 FAS 配置。

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

FAS 的使用不会改变 Delivery Controller 和 VDA 管理员的安全模型,因为 FAS“凭据句柄”只是替换了“Active Directory 密码”。Controller 和 VDA 管理组必须只包含受信任的用户。必须维护审核和事件日志。

通用 Windows 服务器安全性

所有服务器都必须完全打补丁,并配备标准防火墙和防病毒软件。安全关键型基础结构服务器必须保存在物理安全的位置,并注意磁盘加密和虚拟机维护选项。

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

RDP 访问必须仅限于授权管理员。Citrix 建议对用户帐户,特别是证书颁发机构和域管理员帐户使用智能卡登录。

联邦信息处理标准 (FIPS) 支持

FAS 在启用 FIPS 的 Windows 计算机上使用FIPS 验证的加密算法。如果将 FAS 配置为使用 TPM 或 HSM 进行密钥存储,请咨询您的硬件供应商以获取 FIPS 合规性信息。

相关信息

  1. 安装和配置是 FAS 安装和配置的主要参考。
  2. FAS 体系结构在部署体系结构文章中介绍。
  3. 其他“操作方法”文章在高级配置文章中介绍。