安全和网络配置

Federated Authentication Service (FAS) 与 Microsoft Active Directory 和 Microsoft 证书颁发机构紧密集成。请确保对系统进行适当管理和保护,并像对待域控制器或其他关键基础架构一样制定安全策略。

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

网络架构

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

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

localized image

防火墙和网络安全

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

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 证书颁发机构接受使用 Kerberos 身份验证的 DCOM 进行通信,DCOM 可以配置为使用固定 TCP 端口。证书颁发机构要求 FAS 服务器提供由受信任的注册代理证书签名的 CMC 数据包。

    • 服务器 防火墙端口
    • |—|—|
    • Federated Authentication Service [入站] 来自 StoreFront™ 和 VDA 的基于 HTTP 的 Kerberos,[出站] 到 Microsoft 证书颁发机构的 DCOM
    • Citrix Gateway [入站] 来自客户端计算机的 HTTPS,[入站/出站] 到/来自 StoreFront 服务器的 HTTPS,[出站] 到 VDA 的 HDX
    • StoreFront [入站] 来自 Citrix Gateway 的 HTTPS,[出站] 到 Delivery Controller 的 HTTPS,[出站] 到 FAS 的基于 HTTP 的 Kerberos
      Delivery Controller [入站] 来自 StoreFront 服务器的 HTTPS,[入站/出站] 来自 VDA 的基于 HTTP 的 Kerberos
      VDA [入站/出站] 来自 Delivery Controller 的基于 HTTP 的 Kerberos,[入站] 来自 Citrix Gateway 的 HDX,[出站] 到 FAS 的基于 HTTP 的 Kerberos
      Microsoft 证书颁发机构 [入站] 来自 FAS 的 DCOM 和签名

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

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

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

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

安全注意事项

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

委派注册代理

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

Enrollment Agents dialog

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

-  “*注册代理*”列表仅包含 FAS 服务器。
  • 证书模板”列表仅包含 FAS 模板。
  • 权限”列表包含允许使用 FAS 的用户。例如,建议不要向 Administrators 或 Protected Users 组颁发证书。

访问控制列表配置

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

防火墙设置

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

事件日志监控

FAS 和 VDA 会将信息写入 Windows 事件日志。此日志可用于监视和审核信息。有关可生成的事件日志条目,请参阅事件日志部分。

  • 硬件安全模块

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

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

Parameter Description
ProviderLegacyCsp 设置为 true 时,FAS 使用 Microsoft CryptoAPI (CAPI)。否则,FAS 使用 Microsoft Cryptography Next Generation API (CNG)。
ProviderName 要使用的 CAPI 或 CNG 提供程序的名称。
ProviderType 指的是 Microsoft KeyContainerPermissionAccessEntry.ProviderType 属性 PROV_RSA_AES 24。除非您将 HSM 与 CAPI 结合使用且 HSM 供应商另有指定,否则必须始终为 24。
KeyProtection 控制私钥的“可导出”标志。如果硬件支持,还允许使用可信平台模块 (TPM) 密钥存储。
KeyLength RSA 私钥的密钥长度。支持的值为 1024、2048 和 4096(默认值:2048)。

管理职责

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

| Name | Responsibility | | – | – |

  • Enterprise administrator 在林中安装和保护证书模板
  • Domain administrator 配置组策略设置
    Certificate authority administrator 配置证书颁发机构
    FAS administrator 安装和配置 FAS 服务器
    StoreFront/Citrix Gateway administrator 配置用户身份验证
    Citrix Virtual Desktops™ administrator 配置 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 服务不需要任何其他权限。但是,与其他证书模板一样,您可以:

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

localized image

修改使用者名称属性

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

该模板已选择“从此 Active Directory 信息生成”,这会导致证书颁发机构在证书扩展中包含用户的 SID,从而提供与用户 Active Directory 帐户的强映射。

修改服务器属性

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

修改颁发要求属性

请勿修改这些设置。这些设置必须如下所示:

localized image

修改兼容性属性

您可以修改这些设置。该设置必须至少为“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 服务器才能请求证书。

受限注册

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

localized image

策略模块和审核

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

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 中以进行保护。FAS 提供了将私钥作为“脱机”证书请求过程的一部分保存到 TPM 中的选项。

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

事件日志

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

管理访问和管理工具

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

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

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

常规 Windows 服务器安全

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

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

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

相关信息