管理安全密钥
重要提示:
- 您必须将此功能与 StoreFront™ 1912 LTSR CU2 或更高版本结合使用。
- The Secure XML feature is only supported on Citrix ADC and Citrix Gateway release 12.1 and later.
注意:
Starting with version 2511, Citrix Web Studio (web-based) is the only management console for Citrix Virtual Apps and Desktops™. Citrix Studio (MMC-based) has been removed from the installer. This article applies only to Web Studio. For information about Citrix Studio, see the equivalent article in Citrix Virtual Apps and Desktops 7 2212 or earlier.
此功能允许您仅允许经批准的 StoreFront 和 Citrix Gateway 计算机与 Delivery Controllers 通信。启用此功能后,任何不包含密钥的请求都将被阻止。使用此功能可增加一层安全性,以防范源自内部网络的攻击。
使用此功能的通用工作流程如下:
-
启用 Web Studio 以显示功能设置。
-
配置您的站点的设置。
-
配置 StoreFront 的相关设置。
-
配置 Citrix ADC 的相关设置。
配置站点的相关设置
您可以使用 Web Studio 或 PowerShell 为您的站点配置安全密钥设置。
使用 Web 工作室
- 登录到 Web Studio,在左侧窗格中选择设置。
-
找到管理安全密钥磁贴,然后单击编辑。此时将显示管理安全密钥页面。
管理安全密钥向导(/zh-cn/citrix-virtual-apps-desktops/2511/media/manage-security-key-wizard.png)
-
单击刷新图标以生成密钥。
重要提示:
- 有两个可用的密钥。您可以对通过 XML 和 STA 端口进行的通信使用相同或不同的密钥。我们建议您一次只使用一个密钥。未使用的密钥仅用于密钥轮换。
- 请勿单击刷新图标来更新已在使用中的密钥。否则,将导致服务中断。
-
选择在哪些通信中需要密钥:
- 单击保存以应用更改并关闭窗口。
使用 跑儿壳
以下是与 Web Studio 操作等效的 PowerShell 命令步骤。
-
运行 思杰虚拟应用™和桌面 远程 PowerShell SDK。
- 在命令窗口中,运行以下命令:
Add-PSSnapIn Citrix*
- 运行以下命令以生成密钥并设置 Key1:
New-BrokerXmlServiceKeySet-BrokerSite -XmlServiceKey1 <the key you generated>
- 运行以下命令以生成密钥并设置 Key2:
New-BrokerXmlServiceKeySet-BrokerSite -XmlServiceKey2 <the key you generated>
- 运行以下一个或两个命令,以启用密钥在身份验证通信中的使用:
- 要通过 XML 端口验证通信:
Set-BrokerSite -RequireXmlServiceKeyForNFuse $true
- 要通过 STA 端口验证通信:
Set-BrokerSite -RequireXmlServiceKeyForSta $true
- 要通过 XML 端口验证通信:
有关指导和语法,请参阅 PowerShell 命令帮助。
配置 StoreFront 的相关设置
完成站点的配置后,您需要使用 PowerShell 配置 StoreFront 的相关设置。
在 StoreFront 服务器上,请运行以下 PowerShell 命令来完成操作:
| 要配置通过 XML 端口进行通信的密钥,请使用命令 [Set-STFStoreFarm | https://developer-docs.citrix.com/zh-cn/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-->
请为以下各项参数输入适当的值:
Path to storeResource feed namesecret
要配置通过 STA 端口进行通信的密钥,请使用 New-STFSecureTicketAuthority 和 Set-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-->
请为以下各项参数输入适当的值:
Gateway nameSTA URLSecret
有关指导和语法,请参阅 PowerShell 命令帮助。
配置 Citrix ADC 的相关设置
注意:
除非您使用 Citrix ADC 作为网关,否则无需为 Citrix ADC 配置此功能。如果您使用 Citrix ADC,请按照以下步骤操作:
-
请确保以下先决条件配置已完成并准备就绪:
- 已配置以下 Citrix ADC 相关 IP 地址。
- 用于访问 Citrix ADC 控制台的 Citrix ADC 管理 IP (NSIP) 地址。有关详细信息,请参阅 配置 NSIP 地址。

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

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

- 已安装服务器和 CA 证书以及根证书。有关详细信息,请参阅 安装、链接和更新。


- 已为 Citrix 虚拟桌面创建了 Citrix 网关。通过单击“测试 STA 连接”按钮测试连接,以确认虚拟服务器在线。有关详细信息,请参阅 为 Citrix 应用交付控制器设置 Citrix 虚拟应用和桌面。

- 已配置以下 Citrix ADC 相关 IP 地址。
-
添加重写操作。有关详细信息,请参阅 配置重写操作。
- 转到 AppExpert > 重写 > 操作。
- 单击“添加”以添加新的重写操作。您可以将操作命名为“set Type to INSERT_HTTP_HEADER”。

- In Type, select INSERT_HTTP_HEADER.
- In Header Name, enter X-Citrix-XmlServiceKey.
- In Expression, add
<XmlServiceKey1 value>with the quotes. You can copy the XmlServiceKey1 value from your Desktop Delivery Controller™ configuration.

- 添加重写策略。有关详细信息,请参阅 配置重写策略。
-
转到 应用专家 > 重写 > 策略。
-
单击“添加”以添加新策略。

- 在 操作 中,选择上一步中创建的操作。
- 在 表达式 字段中,请务必添加 HTTP.REQ.IS_VALID。
- 单击 确定。
-
-
设置负载平衡。必须为每个 STA 服务器配置一个负载平衡虚拟服务器。否则会话将无法启动。
有关详细信息,请参阅 设置基本负载平衡。
- 创建负载平衡虚拟服务器。
- 转到 流量管理 > 负载平衡 > 服务器。
- 在 虚拟服务器 页面中,单击 添加。

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

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

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

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

- 将持久性类型选择为 其他。
- 选择 DESTIP 以根据虚拟服务器选择的服务(目标 IP 地址)的 IP 地址创建持久性会话
- 在 IPv4 子网掩码 中,添加与 DDC 相同的网络掩码。
- 单击 确定。
- 对另一个虚拟服务器重复这些步骤。
- 创建负载平衡虚拟服务器。
Configuration changes if the Citrix ADC appliance is already configured with Citrix Virtual Desktops™
如果您已将 Citrix ADC 设备配置为使用 Citrix Virtual Desktops,则要使用安全 XML 功能,您必须进行以下配置更改。
- 在会话启动之前,更改网关的 安全票证颁发机构 URL 以使用负载平衡虚拟服务器的 FQDN。
- 确保
TrustRequestsSentToTheXmlServicePort参数设置为 False。默认情况下,TrustRequestsSentToTheXmlServicePort参数设置为 False。但是,如果客户已为 Citrix Virtual Desktops 配置了 Citrix ADC,则TrustRequestsSentToTheXmlServicePort设置为 True。
- In the Citrix ADC GUI, go to Configuration > Integrate with Citrix Products and click XenApp and XenDesktop®.
-
选择网关实例,然后单击编辑图标。

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

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