管理安全密钥
注意:
您必须将此功能与StoreFront 1912 LTSR CU2或更高版本结合使用。
仅在Citrix ADC和Citrix Gateway 12.1及以后版本中支持安全XML特性。
此功能允许您仅允许经批准的StoreFront和Citrix Gateway机器与Citrix Delivery Controllers进行通信。启用此功能后,任何不包含密钥的请求都将被阻止。使用此功能可以增加额外的安全层,以防止来自内部网络的攻击。
使用此功能的一般工作流程如下:
在“完整配置”界面显示安全密钥设置。(使用远程PowerShell SDK)
为您的部署配置设置。(使用Full Configuration界面或Remote PowerShell SDK)。
在StoreFront中配置设置。(使用PowerShell)。
在Citrix ADC中进行配置。
在“完整配置”界面显示安全密钥设置
默认情况下,安全密钥的设置在“完全配置”界面中隐藏。要在该界面中显示它们,请使用Remote PowerShell SDK。有关Remote PowerShell SDK的更多信息,请参见sdk和api。
具体步骤如下:
- 运行远程PowerShell SDK。
- 在命令窗口中执行如下命令:
Add-PSSnapIn Citrix *
。该命令添加了Citrix管理单元。Set-ConfigSiteMetadata -Name "Citrix_DesktopStudio_SecurityKeyManagementEnabled" -Value "True"
为您的部署配置设置
您可以使用Full Configuration或PowerShell为您的部署配置设置。
使用“Full Configuration”界面
启用该特性后,导航到完整配置>设置>管理安全密钥并点击编辑。的管理安全密钥叶片出现。点击保存应用您的更改并退出刀片。
重要的是:
- 有两个键可供使用。您可以在XML和STA端口上使用相同或不同的密钥进行通信。我们建议您一次只使用一个密钥。未使用的键仅用于键旋转。
- 不要单击刷新图标来更新已在使用的密钥。否则将导致业务中断。
单击刷新图标以生成新密钥。
需要通过XML端口进行通信的密钥(仅限StoreFront)。如果选择该选项,则需要一个密钥来验证XML端口上的通信。StoreFront通过该端口与Citrix Cloud通信。有关更改XML端口的信息,请参阅知识中心的文章CTX127945。
通过STA端口通信需要密钥。如果选择,需要一个密钥来验证通过STA端口的通信。Citrix Gateway和StoreFront通过该端口与Citrix Cloud通信。有关更改STA端口的信息,请参阅知识中心文章CTX101988。
应用更改后,单击关闭退出管理安全密钥刀片。
使用远程PowerShell SDK
以下是PowerShell的步骤,相当于在“完整配置”界面中执行的操作。
运行远程PowerShell SDK。
- 在命令窗口中执行如下命令:
Add-PSSnapIn Citrix *
- 执行如下命令生成密钥并设置Key1:
New-BrokerXmlServiceKey
Set-BrokerSite -XmlServiceKey1 <生成的密钥>
- 执行如下命令生成密钥并设置Key2:
New-BrokerXmlServiceKey
Set-BrokerSite -XmlServiceKey2 <生成的密钥>
- 运行以下命令中的一个或两个以启用在通信验证中使用密钥:
- 验证XML端口上的通信:
Set-BrokerSite -RequireXmlServiceKeyForNFuse $true
- 验证通过STA端口的通信:
设置brokersite -RequireXmlServiceKeyForSta $true
- 验证XML端口上的通信:
有关指导和语法,请参阅PowerShell命令帮助。
在StoreFront中配置设置
完成部署设置后,您需要通过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 - stl < 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地址。
- 子网IP (SNIP)地址,用于启用Citrix ADC设备和后端服务器之间的通信。有关详情,请参阅配置子网IP地址。
- Citrix网关虚拟IP地址和负载平衡器虚拟IP地址,用于登录ADC设备以启动会话。有关详情,请参阅创建虚拟服务器。
- 启用了Citrix ADC设备中所需的模式和特性。
- 要启用这些模式,请在Citrix ADC GUI中导航到系统>设置>配置模式。
- 要启用这些特性,请在Citrix ADC GUI中导航到系统>设置>基本特性配置。
- 已完成证书相关配置。
- 创建证书签名请求(CSR)。有关详情,请参阅创建证书。
- 完成服务器证书、CA证书和根证书的安装。有关详情,请参阅安装、链接和更新。
- 为Citrix DaaS(以前的Citrix虚拟应用程序和桌面服务)创建了一个Citrix网关。测试连通性,请单击测试STA连通性按钮,确认虚拟服务器在线。有关详情,请参阅为Citrix虚拟应用程序和桌面设置Citrix ADC。
- 配置如下与Citrix ADC相关的IP地址。
添加重写操作。有关详情,请参阅配置重写动作。
- 导航到AppExpert >重写> Actions。
- 点击添加添加一个新的重写操作。您可以将该操作命名为“将类型设置为INSERT_HTTP_HEADER”。
- 在类型中,选择INSERT_HTTP_HEADER。
- 在标题名称,输入“X-Citrix-XmlServiceKey”。
- 在表达式,添加
< XmlServiceKey1值>
加上引号。您可以从桌面交付控制器配置中复制XmlServiceKey1值。
- 添加重写策略。有关详情,请参阅配置重写策略。
导航到AppExpert >重写>策略。
点击添加添加新策略。
- 在行动,选择在前面步骤中创建的操作。
- 在表达式,添加HTTP.REQ.IS_VALID。
- 点击好吧。
设置负载均衡。每个STA服务器必须配置一个负载均衡虚拟服务器。否则,会话将无法启动。
有关详情,请参阅设置基本负载平衡。
- 创建负载均衡虚拟服务器。
- 导航到流量管理>负载均衡>服务器。
- 在虚拟服务器页面,点击添加。
- 在协议中,选择HTTP。
- 添加负载均衡虚拟IP地址港口选择80。
- 点击好吧。
- 创建负载均衡服务。
- 导航到流量管理>负载均衡>业务。
- 在现有的服务器,选择在上一步中创建的虚拟服务器。
- 在协议中,选择HTTP而在港口选择80。
- 点击好吧,然后点击完成。
- 将服务绑定到虚拟服务器。
- 选择前面创建的虚拟服务器,单击编辑。
- 在服务及服务组,点击无负载均衡虚拟服务器服务绑定。
- 在服务绑定,选择前面创建的Citrix DaaS。
- 点击绑定。
- 将前面创建的重写策略绑定到虚拟服务器。
- 选择前面创建的虚拟服务器,单击编辑。
- 在高级设置,点击政策,然后在政策部分点击+。
- 在选择政策中,选择重写而在选择类型中,选择请求。
- 点击继续。
- 在选择政策,选择前面创建的重写策略。
- 点击绑定。
- 点击完成。
- 如有必要,为虚拟服务器设置持久性。
- 选择前面创建的虚拟服务器,单击编辑。
- 在高级设置,点击持久性。
- 选择持久性类型为其他人。
- 选择DESTIP基于虚拟服务器选择的服务的IP地址(目的IP地址)创建持久化会话。
- 在IPv4网络掩码,添加与DDC相同的网络掩码。
- 点击好吧。
- 对另一个虚拟服务器也重复这些步骤。
- 创建负载均衡虚拟服务器。
如果Citrix ADC设备已经配置了Citrix DaaS,则配置会发生变化
如果您已经用Citrix DaaS配置了Citrix ADC设备,那么要使用安全XML特性,您必须进行以下配置更改。
- 在启动会话之前,更改安全票授权URL使用负载均衡虚拟服务器的fqdn。
- 确保
TrustRequestsSentToTheXmlServicePort
参数设置为False。默认情况下,TrustRequestsSentToTheXmlServicePort
参数设置为False。但是,如果客户已经为Citrix DaaS配置了Citrix ADC,那么TrustRequestsSentToTheXmlServicePort
设置为True。
- 在Citrix ADC GUI中,导航到配置>与Citrix产品集成并点击XenApp和XenDesktop。
选择网关实例并单击编辑图标。
在StoreFront窗格中,单击编辑图标。
- 添加安全票务授权网址。
- 如果启用了安全XML特性,那么STA URL必须是负载均衡服务的URL。
- 如果禁用了安全XML特性,那么STA URL必须是STA (DDC的地址)的URL,并且DDC上的TrustRequestsSentToTheXmlServicePort参数必须设置为True。