Citrix DaaS

管理安全密钥

注意:

  • 您必须将此功能与StoreFront 1912 LTSR CU2或更高版本结合使用。

  • 仅在Citrix ADC和Citrix Gateway 12.1及以后版本中支持安全XML特性。

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

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

  1. 在“完整配置”界面显示安全密钥设置。(使用远程PowerShell SDK)

  2. 为您的部署配置设置。(使用Full Configuration界面或Remote PowerShell SDK)。

  3. 在StoreFront中配置设置。(使用PowerShell)。

  4. 在Citrix ADC中进行配置。

在“完整配置”界面显示安全密钥设置

默认情况下,安全密钥的设置在“完全配置”界面中隐藏。要在该界面中显示它们,请使用Remote PowerShell SDK。有关Remote PowerShell SDK的更多信息,请参见sdk和api

具体步骤如下:

  1. 运行远程PowerShell SDK。
  2. 在命令窗口中执行如下命令:
    • 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的步骤,相当于在“完整配置”界面中执行的操作。

  1. 运行远程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端口的通信:
      • 设置brokersite -RequireXmlServiceKeyForSta $true

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

在StoreFront中配置设置

完成部署设置后,您需要通过PowerShell在StoreFront中配置相关设置。

在StoreFront服务器上执行如下PowerShell命令:

  • 要为XML端口上的通信配置密钥,请使用Get-STFStoreServieSet-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,请遵循以下步骤。

  1. 确保下列先决条件配置已经到位:

    • 配置如下与Citrix ADC相关的IP地址。
      • Citrix ADC管理IP (NSIP),用于访问Citrix ADC控制台。有关详情,请参阅配置NSIP地址

      ADC管理IP地址

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

      子网IP地址

    • 启用了Citrix ADC设备中所需的模式和特性。
      • 要启用这些模式,请在Citrix ADC GUI中导航到系统>设置>配置模式
      • 要启用这些特性,请在Citrix ADC GUI中导航到系统>设置>基本特性配置
    • 已完成证书相关配置。
      • 创建证书签名请求(CSR)。有关详情,请参阅创建证书

      创建CSR证书

      安装服务器证书

      安装CA证书

      虚拟桌面网关

  2. 添加重写操作。有关详情,请参阅配置重写动作

    1. 导航到AppExpert >重写> Actions
    2. 点击添加添加一个新的重写操作。您可以将该操作命名为“将类型设置为INSERT_HTTP_HEADER”。

    添加重写操作

    1. 类型中,选择INSERT_HTTP_HEADER
    2. 标题名称,输入“X-Citrix-XmlServiceKey”。
    3. 表达式,添加< XmlServiceKey1值>加上引号。您可以从桌面交付控制器配置中复制XmlServiceKey1值。

    XML服务键值

  3. 添加重写策略。有关详情,请参阅配置重写策略
    1. 导航到AppExpert >重写>策略

    2. 点击添加添加新策略。

    添加重写策略

    1. 行动,选择在前面步骤中创建的操作。
    2. 表达式,添加HTTP.REQ.IS_VALID。
    3. 点击好吧
  4. 设置负载均衡。每个STA服务器必须配置一个负载均衡虚拟服务器。否则,会话将无法启动。

    有关详情,请参阅设置基本负载平衡

    1. 创建负载均衡虚拟服务器。
      • 导航到流量管理>负载均衡>服务器
      • 虚拟服务器页面,点击添加

      添加负载均衡服务器

      • 协议中,选择HTTP
      • 添加负载均衡虚拟IP地址港口选择80
      • 点击好吧
    2. 创建负载均衡服务。
      • 导航到流量管理>负载均衡>业务

      添加负载均衡服务

      • 现有的服务器,选择在上一步中创建的虚拟服务器。
      • 协议中,选择HTTP而在港口选择80
      • 点击好吧,然后点击完成
    3. 将服务绑定到虚拟服务器。
      • 选择前面创建的虚拟服务器,单击编辑
      • 服务及服务组,点击无负载均衡虚拟服务器服务绑定

      将服务绑定到虚拟服务器

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

      绑定重写策略

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

      设置的持久性

      • 选择持久性类型为其他人
      • 选择DESTIP基于虚拟服务器选择的服务的IP地址(目的IP地址)创建持久化会话。
      • IPv4网络掩码,添加与DDC相同的网络掩码。
      • 点击好吧
    6. 对另一个虚拟服务器也重复这些步骤。

如果Citrix ADC设备已经配置了Citrix DaaS,则配置会发生变化

如果您已经用Citrix DaaS配置了Citrix ADC设备,那么要使用安全XML特性,您必须进行以下配置更改。

  • 在启动会话之前,更改安全票授权URL使用负载均衡虚拟服务器的fqdn。
  • 确保TrustRequestsSentToTheXmlServicePort参数设置为False。默认情况下,TrustRequestsSentToTheXmlServicePort参数设置为False。但是,如果客户已经为Citrix DaaS配置了Citrix ADC,那么TrustRequestsSentToTheXmlServicePort设置为True。
  1. 在Citrix ADC GUI中,导航到配置>与Citrix产品集成并点击XenApp和XenDesktop
  2. 选择网关实例并单击编辑图标。

    编辑现有网关配置

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

    编辑店面详情

  4. 添加安全票务授权网址
    • 如果启用了安全XML特性,那么STA URL必须是负载均衡服务的URL。
    • 如果禁用了安全XML特性,那么STA URL必须是STA (DDC的地址)的URL,并且DDC上的TrustRequestsSentToTheXmlServicePort参数必须设置为True。

    添加STA url

管理安全密钥