管理安全密钥
注意:
您必须将此特性与StoreFront 1912 LTSR CU2或更高版本结合使用。
安全XML特性仅支持在Citrix ADC和Citrix Gateway版本12.1及更高版本。
这个特性允许您只允许经过批准的StoreFront和Citrix Gateway机器与Citrix Cloud通信。启用此功能后,任何不包含密钥的请求都将被阻止。使用此特性可增加额外的安全层,以防止来自内部网络的攻击。
使用该特性的通用工作流如下:
通过使用PowerShell SDK在Studio中启用该特性。
在Studio中配置设置。(使用Studio控制台或PowerShell)。
在StoreFront中配置设置。(使用PowerShell)。
在Citrix ADC中配置设置。
启用安全密钥特性
默认情况下,该功能是禁用的。要启用它,请使用Remote PowerShell SDK。有关远程PowerShell SDK的更多信息,请参见sdk和api.
要启用该特性,请执行以下步骤:
- 运行Citrix虚拟应用程序和桌面远程PowerShell SDK。
- 在命令窗口中执行如下命令:
Add-PSSnapIn Citrix *
.该命令添加Citrix管理单元。Set-ConfigSiteMetadata -Name "Citrix_DesktopStudio_SecurityKeyManagementEnabled" -Value "True"
在Studio中配置设置
您可以使用Studio控制台或PowerShell在Studio中配置设置。
使用Studio控制台
启用该特性后,导航到Studio >设置>管理安全密钥并点击编辑.的管理安全的关键窗口出现。点击保存应用更改并退出窗口。
重要的是:
- 有两把钥匙可用。您可以在XML和STA端口上使用相同或不同的密钥进行通信。我们建议您一次只使用一个密钥。未使用的键仅用于键旋转。
- 不要单击刷新图标来更新已在使用的键。如果您这样做,将导致服务中断。
单击刷新图标以生成新的密钥。
需要通过XML端口进行通信的密钥(仅限StoreFront).如果选择,则需要一个密钥来验证XML端口上的通信。StoreFront通过这个端口与Citrix Cloud通信。有关更改XML端口的信息,请参阅Knowledge Center的文章CTX127945.
需要通过STA端口进行通信的密钥.如果选择,则需要一个密钥来验证通过STA端口的通信。Citrix Gateway和StoreFront通过该端口与Citrix Cloud通信。有关更改STA端口的信息,请参阅知识中心的文章CTX101988.
应用更改后,单击关闭退出管理安全的关键窗口。
使用PowerShell
下面是与Studio操作等效的PowerShell步骤。
运行Citrix虚拟应用程序和桌面远程PowerShell SDK。
- 在命令窗口中执行如下命令:
Add-PSSnapIn Citrix *
- 执行如下命令生成密钥并设置Key1:
New-BrokerXmlServiceKey
Set-BrokerSite -XmlServiceKey1 <您生成的密钥>
- 执行如下命令生成密钥并设置Key2:
New-BrokerXmlServiceKey
Set-BrokerSite -XmlServiceKey2 <您生成的密钥>
- 执行以下命令之一或同时执行以下命令启用通信验证使用密钥:
- 要对XML端口上的通信进行身份验证:
Set-BrokerSite -RequireXmlServiceKeyForNFuse真正的美元
- 通过STA端口验证通信:
Set-BrokerSite -RequireXmlServiceKeyForSta真正的美元
- 要对XML端口上的通信进行身份验证:
有关指导和语法,请参阅PowerShell命令帮助。
在StoreFront中配置设置
在Studio中完成配置后,需要使用PowerShell在StoreFront中配置相关设置。
在StoreFront服务器上运行以下PowerShell命令:
- 要为XML端口上的通信配置密钥,请使用
Get-STFStoreServie
和Set-STFStoreService
命令。例如:PS C:\> Set-STFStoreFarm $farm -Farmtype XenDesktop -Port 80 -TransportType HTTP -Servers
-XMLValidationEnabled $true -XMLValidationSecret <您在Studio>中生成的密钥
- 如果需要配置STA端口的通信密钥,请使用
New-STFSecureTicketAuthority
命令。例如:PS C:\> $sta = new - stfsecureketauthority - stal < sta URL> -StaValidationEnabled $true -StavalidationSecret <您在Studio>中生成的密钥
有关指导和语法,请参阅PowerShell命令帮助。
在Citrix ADC中配置设置
注意:
除非您使用Citrix ADC作为网关,否则不需要在Citrix ADC中配置此功能。如果您使用Citrix ADC,请遵循以下步骤。
确保以下前提配置已经到位:
- 已配置如下Citrix ADC相关IP地址。
- Citrix ADC管理IP (NSIP)地址,用于访问Citrix ADC控制台。有关详细信息,请参见配置NSIP地址.
- 用于在Citrix ADC设备和后端服务器之间进行通信的子网IP (SNIP)地址。有关详细信息,请参见配置子网IP地址.
- Citrix Gateway虚拟IP地址和负载均衡器虚拟IP地址,用于登录ADC设备以启动会话。有关详细信息,请参见创建虚拟服务器.
- 在Citrix ADC设备中启用了所需的模式和特性。
- 要启用模式,请在Citrix ADC GUI导航到系统>设置>配置方式.
- 要启用该功能,请在Citrix ADC GUI导航到系统>设置>配置基本功能.
- 已完成证书相关配置。
- 完成证书签名请求(CSR)的创建。有关详细信息,请参见创建一个证书.
- 已完成服务器证书、CA证书和根证书的安装。有关详细信息,请参见安装、链接和更新.
- 已为“Citrix虚拟桌面”创建“Citrix Gateway”。单击。测试连接性测试STA连接性按钮,确认虚拟服务器处于在线状态。有关详细信息,请参见为Citrix虚拟应用程序和桌面设置Citrix ADC.
- 已配置如下Citrix ADC相关IP地址。
添加重写操作。有关详细信息,请参见配置重写操作.
- 导航到AppExpert >重写>动作.
- 点击添加添加新的重写操作。你可以将这个动作命名为“set Type to INSERT_HTTP_HEADER”。
- 在类型中,选择INSERT_HTTP_HEADER.
- 在标题名称,输入X-Citrix-XmlServiceKey。
- 在表达式,添加
< XmlServiceKey1值>
与报价。您可以从Desktop Delivery Controller配置中复制XmlServiceKey1值。
- 添加重写策略。有关详细信息,请参见配置重写策略.
导航到AppExpert >重写>策略.
点击添加添加新策略。
- 在行动,选择前面步骤中创建的操作。
- 在表达式,添加HTTP.REQ.IS_VALID。
- 点击好吧.
设置负载均衡。每个STA服务器需要配置一个负载均衡虚拟服务器。如果不是,会话将无法启动。
有关详细信息,请参见设置基本的负载平衡.
- 创建负载均衡虚拟服务器。
- 导航到流量管理>负载均衡>服务器.
- 在虚拟服务器页面,点击添加.
- 在协议中,选择HTTP.
- 添加负载分担虚拟IP地址和港口选择80.
- 点击好吧.
- 创建负载均衡服务。
- 导航到流量管理>负载均衡>业务.
- 在现有的服务器,选择上一步创建的虚拟服务器。
- 在协议中,选择HTTP而在港口选择80.
- 点击好吧,然后点击完成.
- 将服务绑定到虚拟服务器。
- 选择之前创建的虚拟服务器,单击编辑.
- 在服务及服务组,点击没有负载均衡虚拟服务器业务绑定.
- 在服务绑定,选择前面创建的服务。
- 点击绑定.
- 将前面创建的重写策略绑定到虚拟服务器。
- 选择之前创建的虚拟服务器,单击编辑.
- 在高级设置,点击政策,然后在政策部分点击+.
- 在选择政策中,选择重写而在选择类型中,选择请求.
- 点击继续.
- 在选择政策,选择前面创建的重写策略。
- 点击绑定.
- 点击完成.
- 如果需要,为虚拟服务器设置持久性。
- 选择之前创建的虚拟服务器,单击编辑.
- 在高级设置,点击持久性.
- 选择持久性类型为其他人.
- 选择DESTIP根据虚拟服务器选择的服务的IP地址(目的IP地址)创建持久会话
- 在IPv4网络掩码,添加与DDC相同的网络掩码。
- 点击好吧.
- 对其他虚拟服务器也重复这些步骤。
- 创建负载均衡虚拟服务器。
如果Citrix ADC设备已经配置了Citrix Virtual Desktops,则配置将更改
如果您已经用Citrix Virtual Desktops配置了Citrix ADC设备,那么要使用Secure XML特性,必须进行以下配置更改。
- 在会话启动之前,更改安全票证授权地址使用负载均衡虚拟服务器的FQDNs。
- 确保
TrustRequestsSentToTheXmlServicePort
参数设置为False。默认情况下,TrustRequestsSentToTheXmlServicePort
参数设置为False。但是,如果客户已经为Citrix虚拟桌面配置了Citrix ADC,则TrustRequestsSentToTheXmlServicePort
设置为True。
- 在Citrix ADC GUI中,导航到与Citrix产品集成并点击XenApp和XenDesktop.
选择网关实例并单击编辑图标。
在StoreFront窗格中,单击编辑图标。
- 添加安全票务中心URL.
- 如果启用了“Secure XML”特性,则STA URL必须为负载均衡服务的URL。
- 如果禁用了Secure XML特性,则STA URL必须为STA (DDC的地址)的URL,并且DDC上的TrustRequestsSentToTheXmlServicePort参数必须设置为True。