Citrix Virtual Apps and Desktops

管理安全密钥

重要提示:

  • 您必须将此功能与 StoreFront™ 1912 LTSR CU2 或更高版本结合使用。
  • 安全 XML 功能仅在 Citrix ADC 和 Citrix Gateway 12.1 及更高版本上受支持。

注意:

从版本 2511 开始,Citrix Web Studio(基于 Web)是 Citrix Virtual Apps and Desktops™ 的唯一管理控制台。Citrix Studio(基于 MMC)已从安装程序中移除。本文仅适用于 Web Studio。有关 Citrix Studio 的信息,请参阅 Citrix Virtual Apps and Desktops 7 2212 或更早版本中的对应文章。

此功能允许您仅允许经批准的 StoreFront 和 Citrix Gateway 计算机与 Delivery Controller 通信。启用此功能后,不包含密钥的任何请求都将被阻止。使用此功能可增加一层额外的安全保护,以防范源自内部网络的攻击。

使用此功能的通用工作流程如下:

  1. 启用 Web Studio 以显示功能设置。

  2. 配置站点的设置。

  3. 配置 StoreFront 的设置。

  4. 配置 Citrix ADC 的设置。

配置站点的设置

您可以使用 Web Studio 或 PowerShell 为您的站点配置安全密钥设置。

使用 Web Studio

  1. 登录 Web Studio,在左侧窗格中选择“设置”。
  2. 找到“管理安全密钥”磁贴,然后单击“编辑”。此时将显示“管理安全密钥”页面。

    管理安全密钥向导

  3. 单击刷新图标以生成密钥。

    重要提示:

    • 有两个可用密钥。您可以使用相同的密钥或不同的密钥进行 XML 和 STA 端口通信。建议您一次只使用一个密钥。未使用的密钥仅用于密钥轮换。
    • 请勿单击刷新图标来更新已在使用的密钥。否则,将导致服务中断。
  4. 选择需要密钥进行通信的位置:

    • 要求密钥用于 XML 端口通信(仅限 StoreFront)。如果选中,则要求密钥对 XML 端口上的通信进行身份验证。StoreFront 通过此端口与 Citrix Cloud 通信。有关更改 XML 端口的信息,请参阅知识中心文章 CTX127945

    • 要求密钥用于 STA 端口通信。如果选中,则要求密钥对 STA 端口上的通信进行身份验证。Citrix Gateway 和 StoreFront 通过此端口与 Citrix Cloud 通信。有关更改 STA 端口的信息,请参阅知识中心文章 CTX101988

  5. 单击“保存”以应用更改并关闭窗口。

使用 PowerShell

以下是与 Web Studio 操作等效的 PowerShell 步骤。

  1. 运行 Citrix Virtual Apps™ and Desktops 远程 PowerShell SDK。

  2. 在命令窗口中,运行以下命令:
    • Add-PSSnapIn Citrix*
  3. 运行以下命令以生成密钥并设置 Key1:
    • New-BrokerXmlServiceKey
    • Set-BrokerSite -XmlServiceKey1 <您生成的密钥>
  4. 运行以下命令以生成密钥并设置 Key2:
    • New-BrokerXmlServiceKey
    • Set-BrokerSite -XmlServiceKey2 <您生成的密钥>
  5. 运行以下一个或两个命令以启用密钥用于通信身份验证:
    • 对 XML 端口上的通信进行身份验证:
      • Set-BrokerSite -RequireXmlServiceKeyForNFuse $true
    • 对 STA 端口上的通信进行身份验证:
      • Set-BrokerSite -RequireXmlServiceKeyForSta $true

有关指导和语法,请参阅 PowerShell 命令帮助。

配置 StoreFront 的设置

完成站点配置后,您需要使用 PowerShell 配置 StoreFront 的相关设置。

在 StoreFront 服务器上,运行以下 PowerShell 命令:

要配置用于 XML 端口通信的密钥,请使用命令 [Set-STFStoreFarm https://developer-docs.citrix.com/en-us/storefront-powershell-sdk/current-release/Set-STFStoreFarm.html]。例如:
$store = Get-STFStoreService -VirtualPath [Path to store]
$farm = Get-STFStoreFarm -StoreService $store -FarmName [Resource feed name]
Set-STFStoreFarm -Farm $farm -XMLValidationEnabled $true -XMLValidationSecret [secret]
<!--NeedCopy-->

为以下参数输入相应的值:

  • 存储路径
  • 资源订阅源名称
  • 密钥

要配置用于 STA 端口通信的密钥,请使用 New-STFSecureTicketAuthoritySet-STFRoamingGateway 命令。例如:

$gateway = Get-STFRoamingGateway -Name [Gateway name]
$sta1 = New-STFSecureTicketAuthority -StaUrl [STA1 URL] -StaValidationEnabled $true -StaValidationSecret [secret]
$sta2 = New-STFSecureTicketAuthority -StaUrl [STA2 URL] -StaValidationEnabled $true -StaValidationSecret [secret]
Set-STFRoamingGateway -Gateway $gateway -SecureTicketAuthorityObjs $sta1,$sta2
<!--NeedCopy-->

为以下参数输入相应的值:

  • 网关名称
  • STA URL
  • 密钥

有关指导和语法,请参阅 PowerShell 命令帮助。

配置 Citrix ADC 的设置

注意:

除非您使用 Citrix ADC 作为网关,否则无需为 Citrix ADC 配置此功能。如果您使用 Citrix ADC,请按照以下步骤操作:

  1. 确保已完成以下必备配置:

    • 已配置以下 Citrix ADC 相关 IP 地址。
      • 用于访问 Citrix ADC 控制台的 Citrix ADC 管理 IP (NSIP) 地址。有关详细信息,请参阅配置 NSIP 地址

      ADC 管理 IP 地址

  • 子网 IP (SNIP) 地址,用于在 Citrix ADC 设备与后端服务器之间启用通信。有关详细信息,请参阅配置子网 IP 地址
  • Citrix Gateway 虚拟 IP 地址和负载平衡器虚拟 IP 地址,用于登录 ADC 设备以启动会话。有关详细信息,请参阅创建虚拟服务器

子网 IP 地址

  • Citrix ADC 设备中所需的模式和功能已启用。
    • 要启用模式,请在 Citrix ADC GUI 中转到系统 > 设置 > 配置模式
    • 要启用功能,请在 Citrix ADC GUI 中转到系统 > 设置 > 配置基本功能
  • 证书相关配置已完成。
    • 证书签名请求 (CSR) 已创建。有关详细信息,请参阅创建证书

创建 CSR 证书

-  服务器证书、CA 证书和根证书已安装。有关详细信息,请参阅[安装、链接和更新](/zh-cn/citrix-adc/current-release/ssl/ssl-certificates/add-group-certs.html)。

安装服务器证书

安装 CA 证书

-  已为 Citrix Virtual Desktops 创建 Citrix Gateway。通过单击**测试 STA 连接**按钮测试连接,以确认虚拟服务器在线。有关详细信息,请参阅[为 Citrix Virtual Apps and Desktops 设置 Citrix ADC](/zh-cn/citrix-adc/current-release/solutions/deploy-xa-xd.html)。

适用于虚拟桌面的网关

  1. 添加重写操作。有关详细信息,请参阅配置重写操作

    1. 转到AppExpert > 重写 > 操作
    2. 单击添加以添加新的重写操作。您可以将操作命名为“set Type to INSERT_HTTP_HEADER”。

    添加重写操作

    1. 类型中,选择 INSERT_HTTP_HEADER
    2. 标头名称中,输入 X-Citrix-XmlServiceKey。
    3. 表达式中,添加带引号的 <XmlServiceKey1 value>。您可以从 Desktop Delivery Controller™ 配置中复制 XmlServiceKey1 值。

    XML 服务密钥值

  2. 添加重写策略。有关详细信息,请参阅配置重写策略
    1. 转到AppExpert > 重写 > 策略

    2. 单击添加以添加新策略。

    添加重写策略

    1. 操作中,选择上一步中创建的操作。
    2. 表达式中,添加 HTTP.REQ.IS_VALID。
    3. 单击确定
  3. 设置负载平衡。您必须为每个 STA 服务器配置一个负载平衡虚拟服务器。否则会话将无法启动。

    有关详细信息,请参阅设置基本负载平衡

    1. 创建负载平衡虚拟服务器。
      • 转到流量管理 > 负载平衡 > 服务器
      • 虚拟服务器页面上,单击添加

      添加负载平衡服务器

      • 协议中,选择 HTTP
      • 添加负载平衡虚拟 IP 地址,并在端口中选择 80
      • 单击确定
    2. 创建负载平衡服务。
      • 转到流量管理 > 负载平衡 > 服务

      添加负载平衡服务

      • 现有服务器中,选择上一步中创建的虚拟服务器。
      • 协议中,选择 HTTP,并在端口中选择 80
      • 单击确定,然后单击完成
    3. 将服务绑定到虚拟服务器。
      • 选择之前创建的虚拟服务器,然后单击编辑
      • 服务和服务组中,单击无负载平衡虚拟服务器服务绑定

      将服务绑定到虚拟服务器

      • 服务绑定中,选择之前创建的服务。
      • 单击绑定
    4. 将之前创建的重写策略绑定到虚拟服务器。
      • 选择之前创建的虚拟服务器,然后单击编辑
      • 高级设置中,单击策略,然后在策略部分单击+

      绑定重写策略

      • 选择策略中,选择重写,并在选择类型中,选择请求
      • 单击继续
      • 选择策略中,选择之前创建的重写策略。
      • 单击绑定
      • 单击完成
    5. 为虚拟服务器设置持久性(如有必要)。
      • 选择之前创建的虚拟服务器,然后单击编辑
      • 高级设置中,单击持久性

      设置持久性

      • 将持久性类型选择为其他
      • 选择 DESTIP 以根据虚拟服务器选择的服务 IP 地址(目标 IP 地址)创建持久性会话。
      • IPv4 子网掩码中,添加与 DDC 相同的网络掩码。
      • 单击确定
    6. 对其他虚拟服务器也重复这些步骤。

如果 Citrix ADC 设备已配置 Citrix Virtual Desktops™,则进行配置更改

如果您已将 Citrix ADC 设备配置为使用 Citrix Virtual Desktops,则要使用安全 XML 功能,您必须进行以下配置更改。

  • 在会话启动之前,更改网关的安全票证颁发机构 URL 以使用负载平衡虚拟服务器的 FQDN。
  • 确保 TrustRequestsSentToTheXmlServicePort 参数设置为 False。默认情况下,TrustRequestsSentToTheXmlServicePort 参数设置为 False。但是,如果客户已为 Citrix Virtual Desktops 配置 Citrix ADC,则 TrustRequestsSentToTheXmlServicePort 设置为 True。
  1. 在 Citrix ADC GUI 中,转到配置 > 与 Citrix 产品集成,然后单击 XenApp and XenDesktop®
  2. 选择网关实例,然后单击编辑图标。

编辑现有网关配置

  1. 在 StoreFront 窗格中,单击编辑图标。

编辑 StoreFront 详细信息

  1. 添加安全票证颁发机构 URL
    • 如果启用了安全 XML 功能,则 STA URL 必须是负载平衡服务的 URL。
  • 如果安全 XML 功能已禁用,则 STA URL 必须是 STA 的 URL(DDC 的地址),并且 DDC 上的 TrustRequestsSentToTheXmlServicePort 参数必须设置为 True。

添加 STA URL

管理安全密钥