管理安全密钥

重要提示:

  • 您必须将此功能与 StoreFront™ 1912 LTSR CU2 或更高版本结合使用。
  • 安全 XML 功能仅在思杰 ADC 和思杰网关 12.1 及更高版本上受支持。

注意:

您可以使用两种管理控制台管理您的思杰虚拟应用和桌面™ 部署:Web Studio(基于 Web)和思杰 Studio(基于 Windows)。本文仅介绍 Web Studio。有关思杰 Studio 的信息,请参阅思杰虚拟应用和桌面 7 2212 或更早版本中的等效文章。

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

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

  1. 启用 Web Studio 以显示功能设置。

  2. 配置站点的相关设置。

  3. 配置 StoreFront 的相关设置。

  4. 配置 Citrix ADC 的相关设置。

配置站点的相关设置

您可以使用 Web Studio 或 PowerShell 为您的站点配置安全密钥设置。

使用 Web 工作室

  1. 登录 Web Studio,在左侧窗格中选择设置
  2. 找到管理安全密钥磁贴,然后单击编辑。此时将显示管理安全密钥页面。

    管理安全密钥向导

  3. 单击刷新图标以生成密钥。

    重要提示:

    • 有两个可用密钥。您可以对通过 XML 和 STA 端口进行的通信使用相同密钥或不同密钥。我们建议您一次只使用一个密钥。未使用的密钥仅用于密钥轮换。
    • 请勿单击刷新图标来更新已在使用中的密钥。如果这样做,将导致服务中断。
  4. 选择在哪些情况下通信需要密钥:

    • 要求通过 XML 端口进行通信时使用密钥(仅限 StoreFront)。如果选中,则要求使用密钥通过 XML 端口进行通信身份验证。StoreFront 通过此端口与 Citrix Cloud 通信。有关更改 XML 端口的信息,请参阅知识中心文章 CTX127945

    • 要求通过 STA 端口进行通信时使用密钥。如果选中,则要求使用密钥通过 STA 端口进行通信身份验证。Citrix Gateway 和 StoreFront 通过此端口与 Citrix Cloud 通信。有关更改 STA 端口的信息,请参阅知识中心文章 CTX101988

  5. 单击保存以应用更改并关闭窗口。

使用 动力外壳

The following are PowerShell steps equivalent to Web Studio operations.

  1. Run the Citrix Virtual Apps and Desktops Remote PowerShell SDK.

  2. 在命令窗口中,运行以下命令:
    • Add-PSSnapIn Citrix*
  3. 运行以下命令以生成密钥并设置 Key1:
    • New-BrokerXmlServiceKey
    • Set-BrokerSite -XmlServiceKey1 <the key you generated>
  4. 运行以下命令以生成密钥并设置 Key2:
    • New-BrokerXmlServiceKey
    • Set-BrokerSite -XmlServiceKey2 <the key you generated>
  5. 运行以下一个或两个命令,以启用密钥在身份验证通信中的使用:
    • 要通过 XML 端口验证通信:
      • Set-BrokerSite -RequireXmlServiceKeyForNFuse $true
    • 要通过 STA 端口验证通信:
      • Set-BrokerSite -RequireXmlServiceKeyForSta $true

有关指导和语法,请参阅 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 store
  • Resource feed name
  • secret

要配置用于通过 STA 端口进行通信的密钥,请使用 New-STFSecureTicketAuthoritySet-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 name
  • STA URL
  • Secret

请参阅 PowerShell 命令帮助以获取指导和语法。

对 Citrix ADC 进行设置配置

注意:

除非您使用 Citrix ADC 作为网关,否则无需为 Citrix ADC 配置此功能。如果您使用 Citrix ADC,请按照以下步骤操作:

  1. 请确保以下先决条件配置已妥善设置并准备就绪:

    • 已配置以下 Citrix ADC 相关的 IP 地址。
      • 用于访问 Citrix ADC 控制台的 Citrix ADC 管理 IP (NSIP) 地址。有关详细信息,请参阅 配置 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. In Type, select INSERT_HTTP_HEADER.
    2. In Header Name, enter X-Citrix-XmlServiceKey.
    3. 请在表达式字段中,添加带引号的 <XmlServiceKey1 value>。您可以从您的 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. 将服务绑定到虚拟服务器。
      • 选择之前创建的虚拟服务器,然后单击“编辑”。
      • 在“服务和服务组”中,单击“无负载平衡虚拟服务器服务绑定”。

      将服务绑定到虚拟服务器(/zh-cn/citrix-virtual-apps-desktops/2411/media/adc-bind-service-to-lbvserver.png)

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

      绑定重写策略(/zh-cn/citrix-virtual-apps-desktops/2411/media/adc-bind-rewrite-policy.png)

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

      设置持久性

      • 将持久性类型选择为“其他”。
      • 选择“DESTIP”以根据虚拟服务器选择的服务 IP 地址(目标 IP 地址)创建持久性会话。
      • 在“IPv4 子网掩码”中,添加与 DDC 相同的网络掩码。
      • 单击“确定”。
    6. 对其他虚拟服务器也重复这些步骤。

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。
  1. In the Citrix ADC GUI, go to Configuration > Integrate with Citrix Products and click XenApp and XenDesktop®.
  2. 选择网关实例并单击编辑图标。

    编辑现有网关配置(/zh-cn/citrix-virtual-apps-desktops/2411/media/edit-gateway-instance.png)

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

    编辑 思拓方 详细信息

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

    添加 STA 地址

管理安全密钥