Citrix虚拟应用和桌面

管理安全密钥

注意:

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

  • 安全XML特性仅支持在Citrix ADC和Citrix Gateway版本12.1及更高版本。

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

使用该特性的通用工作流如下:

  1. 通过使用PowerShell SDK在Studio中启用该特性。

  2. 在Studio中配置设置。(使用Studio控制台或PowerShell)。

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

  4. 在Citrix ADC中配置设置。

启用安全密钥特性

默认情况下,该功能是禁用的。要启用它,请使用Remote PowerShell SDK。有关远程PowerShell SDK的更多信息,请参见sdk和api

要启用该特性,请执行以下步骤:

  1. 运行Citrix虚拟应用程序和桌面远程PowerShell SDK。
  2. 在命令窗口中执行如下命令:
    • 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步骤。

  1. 运行Citrix虚拟应用程序和桌面远程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真正的美元
    • 通过STA端口验证通信:
      • Set-BrokerSite -RequireXmlServiceKeyForSta真正的美元

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

在StoreFront中配置设置

在Studio中完成配置后,需要使用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 - stal < 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地址

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

      子网IP地址

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

      创建CSR证书

      安装服务器证书

      安装CA证书

      虚拟桌面网关

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

    1. 导航到AppExpert >重写>动作
    2. 点击添加添加新的重写操作。你可以将这个动作命名为“set Type to INSERT_HTTP_HEADER”。

    添加修改操作

    1. 类型中,选择INSERT_HTTP_HEADER
    2. 标题名称,输入X-Citrix-XmlServiceKey。
    3. 表达式,添加< XmlServiceKey1值>与报价。您可以从Desktop Delivery Controller配置中复制XmlServiceKey1值。

    XML服务键值

  3. 添加重写策略。有关详细信息,请参见配置重写策略
    1. 导航到AppExpert >重写>策略

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

    添加修改政策

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

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

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

      添加负载均衡服务器

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

      添加负载均衡服务

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

      绑定服务到虚拟服务器

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

      绑定修改政策

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

      设置的持久性

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

如果Citrix ADC设备已经配置了Citrix Virtual Desktops,则配置将更改

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

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

    编辑现有网关配置

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

    编辑店面细节

  4. 添加安全票务中心URL
    • 如果启用了“Secure XML”特性,则STA URL必须为负载均衡服务的URL。
    • 如果禁用了Secure XML特性,则STA URL必须为STA (DDC的地址)的URL,并且DDC上的TrustRequestsSentToTheXmlServicePort参数必须设置为True。

    添加STA url

管理安全密钥