Citrix Virtual Apps and Desktops

证书管理

概述

HDX™ Direct 连接通过网络级加密进行保护。 为了实现这一点,每个会话主机都有一个唯一的自签名根 CA 证书和一个相应的服务器证书,该证书由自签名根 CA 证书进行签名。

此解决方案具有以下优势:

  • 简化的安全性: HDX Direct 连接是安全的,无需在环境内管理证书的管理开销。
  • 减少攻击面: 攻击面仅限于单个主机,因为每个主机都有一组唯一的密钥和证书。
  • 增强的非永久性环境的安全性: 在具有非永久性会话主机的环境中,由于重新启动时会生成新的密钥和证书,因此安全性得到进一步增强。

会话主机

Citrix ClxMtp ServiceCitrix Certificate Manager Service 是负责管理每个会话主机上的证书的两个服务。 ClxMtp Service 负责处理密钥生成和轮换,而 Certificate Manager Service 负责生成和管理证书。

创建了两个证书:自签名根 CA 证书和服务器证书。 两者的有效期均为两年;但是,在密钥轮换时会将其替换。 此外,每次非永久性计算机重新启动时都会生成新证书。

每个证书的详细信息如下:

  • 自签名根 CA
    • 颁发对象:CA-Citrix-Certificate-Manager
    • 颁发者:CA-Citrix-Certificate-Manager
    • 颁发者详细信息:该组织为 Citrix Systems, Inc.
  • 服务器证书
    • 颁发对象:<主机 FQDN>(例如,FTLW11-001.ctxlab.net)
    • 颁发者:CA-Citrix-Certificate-Manager
    • 颁发者详细信息:该组织为 Citrix Systems, Inc.

注意:

Citrix Certificate Manager Service 生成利用 2048 位密钥的 RSA 证书。

如果存在由 Citrix Certificate Manager Service 创建的现有计算机证书,并且使用者名称与计算机的 FQDN 不匹配,则会生成新证书。

密钥轮换

Citrix ClxMtp Service 每六个月自动轮换密钥。 但是,您可以通过增加会话主机注册表中的轮换计数器来手动触发密钥轮换。

要轮换密钥,请更新以下值:

  • 注册表项:SOFTWARE\Citrix\ClxMtpConnectorSvcRotateKeyPairs
  • 值类型:DWORD
  • 值名称:ClxMtpRotateRequestCounter
  • 数据:整数(十进制)

注意:

首次密钥轮换:

  1. 创建 ClxMtpConnectorSvcRotateKeyPairs 注册表项。
  2. 创建并将 ClxMtpRotateRequestCounter 值设置为 1。

对于后续密钥轮换,请将 ClxMtpRotateRequestCounter 值增加 1。

一旦更新值,Citrix ClxMtp Service 将自动轮换密钥,而无需重新启动。 一旦检测到新密钥,Citrix Certificate Manager Service 将自动生成新证书。

客户端设备

根 CA 证书由 Workspace 或 StoreFront™ 通过已建立的安全可信连接路径发送到客户端。 这样就无需将 CA 证书分发到客户端设备的证书存储,并确保客户端信任用于保护 HDX Direct 连接安全的证书。

使用自定义证书

HDX Direct 支持使用由您自己的 PKI 颁发和管理的证书。 以下步骤概述了如何安装证书、配置必要的权限、将其绑定到会话管理器服务以及启用所需的 TLS 侦听器。

  1. 如果计算机上禁用了 HDX Direct,请继续执行步骤 2。 如果启用了 HDX Direct,请按照以下步骤进行操作:
    1. 打开注册表编辑器 (regedit.exe) 并导航到 HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\icawd
    2. SSLEnabled 值设置为 0
    3. 导航到 HKLM\Software\Citrix\HDX-Direct
    4. HdxDirectCaInTls 值设置为 0
  2. 在计算机的证书存储中安装由您的 PKI 颁发的适当证书。

  3. 授予会话管理器服务对证书私钥的读取权限。
    1. 启动 Microsoft 管理控制台 (MMC):开始 > 运行 > mmc.exe。
    2. 导航到文件 > 添加/删除管理单元
    3. 选择证书,然后单击添加
    4. 选择计算机帐户并单击下一步
    5. 选择本地计算机并单击完成
    6. 导航到证书(本地计算机) > 个人 > 证书
    7. 右键单击相应的证书并选择所有任务 > 管理私钥
    8. 添加以下其中一项服务并向其授予读取权限:
      • 对于单会话 VDANT SERVICE\PorticaService
      • 对于多会话 VDANT SERVICE\TermService
    9. 单击应用,然后单击确定
  4. 将证书绑定到会话管理器服务。
    1. 检索证书指纹(双击证书 > 详细信息 > 指纹)。
    2. 打开注册表编辑器 (regedit.exe) 并导航到 HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\icawd
    3. 编辑 SSLThumbprint 值并粘贴证书的指纹。
  5. 启用 Citrix TLS 侦听器。
    1. 在相同的注册表位置,将 SSLEnabled 值设置为 1
  6. 启用 HDX Direct(在 Citrix 策略中)。

Citrix Virtual Apps and Desktops 安装介质包含一个 PowerShell 脚本 (Enable-VdaSSL.ps1),该脚本可自动执行以下几项任务:

  • 设置证书密钥的权限
  • 将证书绑定到会话管理器服务
  • 启用 Citrix TLS 侦听器

此脚本位于“Support”>“Tools”>“SslSupport”目录中。 有关更多详细信息,请参阅使用 PowerShell 脚本在 VDA 上配置 TLS

注意:

如果使用自己的证书,则连接到会话主机的设备需要安装正确的根 CA 证书和中间 CA 证书。

证书管理