安全和网络配置

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

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

网络体系结构

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

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

本地化图像

防火墙和网络安全

通过端口 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 证书颁发机构                     | \[入站] DCOM 和来自 FAS 的签名                                                                                       |

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

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

-  ### 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 或类似工具配置网络服务帐户的地址。

安全注意事项

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

委派注册代理

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

注册代理对话框

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

  • 注册代理列表仅包含 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 保护)和运行时用户证书可以使用不同的设置。

参数 描述
   
   
ProviderLegacyCsp 如果设置为 true,FAS 将使用 Microsoft CryptoAPI (CAPI)。否则,FAS 将使用 Microsoft Cryptography Next Generation API (CNG)。
ProviderName 要使用的 CAPI 或 CNG 提供程序的名称。
   
   
ProviderLegacyCsp 如果设置为 true,FAS 将使用 Microsoft CryptoAPI (CAPI)。否则,FAS 将使用 Microsoft Cryptography Next Generation API (CNG)。
ProviderName 要使用的 CAPI 或 CNG 提供程序的名称。
   
   
ProviderLegacyCsp 如果设置为 true,FAS 将使用 Microsoft CryptoAPI (CAPI)。否则,FAS 将使用 Microsoft Cryptography Next Generation API (CNG)。
ProviderName 要使用的 CAPI 或 CNG 提供程序的名称。
   
   
ProviderLegacyCsp 如果设置为 true,FAS 将使用 Microsoft CryptoAPI (CAPI)。否则,FAS 将使用 Microsoft Cryptography Next Generation API (CNG)。
ProviderName 要使用的 CAPI 或 CNG 提供程序的名称。
   
   
ProviderLegacyCsp 如果设置为 true,FAS 将使用 Microsoft CryptoAPI (CAPI)。否则,FAS 将使用 Microsoft Cryptography Next Generation API (CNG)。
ProviderName 要使用的 CAPI 或 CNG 提供程序的名称。
   
   
ProviderLegacyCsp 如果设置为 true,FAS 将使用 Microsoft CryptoAPI (CAPI)。否则,FAS 将使用 Microsoft Cryptography Next Generation API (CNG)。
ProviderName 要使用的 CAPI 或 CNG 提供程序的名称。
   
   
ProviderLegacyCsp 如果设置为 true,FAS 将使用 Microsoft CryptoAPI (CAPI)。否则,FAS 将使用 Microsoft Cryptography Next Generation API (CNG)。
ProviderName 要使用的 CAPI 或 CNG 提供程序的名称。
   
   
ProviderLegacyCsp 如果设置为 true,FAS 将使用 Microsoft CryptoAPI (CAPI)。否则,FAS 将使用 Microsoft Cryptography Next Generation API (CNG)。
ProviderName 要使用的 CAPI 或 CNG 提供程序的名称。
   
       
ProviderLegacyCsp 如果设置为 true,FAS 将使用 Microsoft CryptoAPI (CAPI)。否则,FAS 将使用 Microsoft Cryptography Next Generation API (CNG)。    
ProviderName 要使用的 CAPI 或 CNG 提供程序的名称。 ProviderLegacyCsp 如果设置为 true,FAS 将使用 Microsoft CryptoAPI (CAPI)。否则,FAS 将使用 Microsoft Cryptography Next Generation API (CNG)。
ProviderName 要使用的 CAPI 或 CNG 提供程序的名称。 Provider ProviderLegacyCsp 如果设置为 true,FAS 将使用 Microsoft CryptoAPI (CAPI)。否则,FAS 将使用 Microsoft Cryptography Next Generation API (CNG)。
ProviderName 要使用的 CAPI 或 CNG 提供程序的名称。 W.T.F. (W.T.F.)    
ProviderType Refers to Microsoft KeyContainerPermissionAccessEntry.ProviderType Property PROV_RSA_AES 24. Must always be 24 unless you are using an HSM with CAPI and the HSM vendor specifies otherwise.    
KeyProtection Controls the “Exportable” flag of private keys. Also allows the use of Trusted Platform Module (TPM) key storage, if supported by the hardware.    
KeyLength Key length for RSA private keys. Supported values are 1024, 2048 and 4096 (default: 2048).    

Administration responsibilities

Administration of the environment can be divided into the following groups:

Name Responsibility
Enterprise administrator Install and secure certificate templates in the forest
Domain administrator Configure Group Policy settings
Certificate authority administrator Configure the certificate authority
FAS administrator Install and configure the FAS server
StoreFront/Citrix Gateway administrator Configure user authentication
Citrix Virtual Desktops™ administrator Configure VDAs and Controllers

Each administrator controls different aspects of the overall security model, allowing a defense-in-depth approach to securing the system.

Group Policy settings

Trusted FAS machines are identified by a lookup table of “index number -> FQDN” configured through Group Policy. When contacting a FAS server, clients verify the FAS server’s HOST\<fqdn\> Kerberos identity. All servers that access the FAS server must have identical FQDN configurations for the same index; otherwise, StoreFront and VDAs can contact different FAS servers.

Citrix recommends applying a single policy to all machines in the environment to avoid misconfiguration. Take care when modifying the list of FAS servers, especially when removing or reordering entries.

Control of this GPO must be limited to FAS administrators (and/or domain administrators) who install and decommission FAS servers. Take care to avoid reusing a machine FQDN name shortly after decommissioning a FAS server.

Certificate templates

If you do not want to use the Citrix_SmartcardLogon certificate template supplied with FAS, you can modify a copy of it. The following modifications are supported.

Rename a certificate template

If you want to rename the Citrix_SmartcardLogon to match your organizational template naming standard, you must:

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

Modify General properties

By default, the lifespan of a user certificate is seven days. You can modify the validity period in the certificate template.

Do not modify the Renewal period. FAS ignores this setting in the certificate template. FAS automatically renews the certificate halfway through its validity period.

Modify Request Handling properties

Do not modify these properties. FAS ignores these settings in the certificate template. FAS always deselects Allow private key to be exported and deselects Renew with same key.

Modify Cryptography properties

Do not modify these properties. FAS ignores these settings in the certificate template.

Refer to Private key protection for equivalent settings that FAS provides.

Modify Key Attestation properties

Do not modify these properties. FAS does not support key attestation.

修改已取代的模板属性

请勿修改这些属性。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 的使用不会改变 Delivery Controller 和 VDA 管理员的安全模型,因为 FAS“凭据句柄”只是替换了“Active Directory 密码”。Controller 和 VDA 管理组必须只包含受信任的用户。必须维护审计和事件日志。

通用 Windows 服务器安全性

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

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

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

相关信息