Citrix DaaS™

管理安全密钥

注意:

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

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

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

  1. 在 Studio 中显示安全密钥设置。(使用 Remote PowerShell SDK)

  2. 配置部署设置。(使用 Studio 或 Remote PowerShell SDK)。

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

  4. 在 Citrix ADC 中配置设置。

配置部署设置

您可以使用 Studio 或 PowerShell 配置部署设置。

使用 Studio

启用此功能后,导航到 Settings > Site settings > Manage security key,然后单击 Edit。“Manage Security Key”边栏将显示。单击 Save 以应用更改并退出边栏。

管理安全密钥向导

> **重要提示:** >
> -  有两个密钥可供使用。您可以对通过 XML 和 STA 端口进行的通信使用相同密钥或不同密钥。我们建议您一次只使用一个密钥。未使用的密钥仅用于密钥轮换。
> -  请勿单击刷新图标来更新已在使用中的密钥。如果这样做,将会导致服务中断。

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

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

   -  **要求通过 STA 端口进行通信的密钥**。如果选中,则要求密钥对通过 STA 端口进行的通信进行身份验证。Citrix Gateway 和 StoreFront 通过此端口与 Citrix Cloud 通信。有关更改 STA 端口的信息,请参阅知识中心文章 [CTX101988](https://support.citrix.com/support-home/kbsearch/article?articleNumber=CTX101988)。

   -  应用更改后,单击 **Close** 以退出“**Manage Security Key**”边栏。

使用 Remote PowerShell SDK

以下是与在 Studio 中执行的操作等效的 PowerShell 步骤。

  1. 运行 Remote 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 端口进行的通信进行身份验证:
      • Set-BrokerSite -RequireXmlServiceKeyForSta $true
  • 有关指导和语法,请参阅 PowerShell 命令帮助。

在 StoreFront 中配置设置

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

在 StoreFront 服务器上,运行以下 PowerShell 命令:

    -  要配置通过 XML 端口进行通信的密钥,请使用命令 [Set-STFStoreFarm](https://developer-docs.citrix.com/en-us/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-STFSecureTicketAuthority` 和 `Set-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 地址](/zh-cn/citrix-adc/current-release/networking/ip-addressing/configuring-citrix-adc-owned-ip-addresses/configuring-citrix-adc-ip-address.html)。

    ![ADC 管理 IP 地址](/en-us/citrix-daas/media/adc-management-ip.png)

    -  子网 IP (SNIP) 地址,用于在 Citrix ADC 设备与后端服务器之间启用通信。有关详细信息,请参阅 [配置子网 IP 地址](/zh-cn/citrix-adc/current-release/networking/ip-addressing/configuring-citrix-adc-owned-ip-addresses/configuring-subnet-ip-addresses-snips.html)。
    -  Citrix Gateway 虚拟 IP 地址和负载平衡器虚拟 IP 地址,用于登录 ADC 设备以启动会话。有关详细信息,请参阅 [创建虚拟服务器](/zh-cn/citrix-adc/current-release/load-balancing/load-balancing-setup.html#creating-a-virtual-server)。

    -  ![子网 IP 地址](/en-us/citrix-daas/media/adc-subnetip-address.png)

    -  所需的模式和功能已在 Citrix ADC 设备中启用。
    -  要启用这些模式,请在 Citrix ADC GUI 中转至 **System(系统)> Settings(设置)> Configure Mode(配置模式)**。
    -  要启用这些功能,请在 Citrix ADC GUI 中转至 **System(系统)> Settings(设置)> Configure Basic Features(配置基本功能)**。

    -  证书相关配置已完成。
    -  证书签名请求 (CSR) 已创建。有关详细信息,请参阅 [创建证书](/zh-cn/citrix-adc/current-release/ssl/ssl-certificates/obtain-cert-frm-cert-auth.html)。

    -  ![创建 CSR 证书](/en-us/citrix-daas/media/adc-create-rsa-key.png)

    -  服务器和 CA 证书以及根证书已安装。有关详细信息,请参阅 [安装、链接和更新](/zh-cn/citrix-adc/current-release/ssl/ssl-certificates/add-group-certs.html)。

    -  ![安装服务器证书](/en-us/citrix-daas/media/adc-install-server-certificate.png)

    -  ![安装 CA 证书](/en-us/citrix-daas/media/adc-install-ca-certificate.png)

    -  已为 Citrix DaaS(以前称为 Citrix Virtual Apps and Desktops 服务)创建 Citrix Gateway。通过单击**“测试 STA 连接”**按钮测试连接,以确认虚拟服务器处于联机状态。有关详细信息,请参阅 [为 Citrix Virtual Apps and Desktops 设置 Citrix ADC](/zh-cn/citrix-adc/current-release/solutions/deploy-xa-xd.html)。

    -  ![适用于虚拟桌面的网关](/en-us/citrix-daas/media/xenapp-xendesktop-wizard.gif)

    -  1.  添加重写操作。有关详细信息,请参阅 [配置重写操作](/zh-cn/citrix-adc/current-release/appexpert/rewrite.html#configuring-a-rewrite-action)。

1.  转至 **AppExpert(AppExpert)> Rewrite(重写)> Actions(操作)**。
1.  单击**“添加”**以添加新的重写操作。您可以将操作命名为“set Type to INSERT_HTTP_HEADER”。

    -  ![添加重写操作](/en-us/citrix-daas/media/adc-appexpert-rewrite-action.png)

1.  在**“类型”**中,选择 **INSERT_HTTP_HEADER**。
1.  在**“标头名称”**中,输入 X-Citrix-XmlServiceKey。
1.  在**“表达式”**中,添加带引号的 `<XmlServiceKey1 value>`。您可以从 Desktop Delivery Controller™ 配置中复制 XmlServiceKey1 值。

![XML 服务密钥值](/en-us/citrix-daas/media/xml-service-key-values.png)

    -  1.  添加重写策略。有关详细信息,请参阅 [配置重写策略](/zh-cn/citrix-adc/current-release/appexpert/rewrite.html#configure-rewrite-policy)。
1.  转至 **AppExpert(AppExpert)> Rewrite(重写)> Policies(策略)**。

1.  单击**“添加”**以添加新策略。

![添加重写策略](/en-us/citrix-daas/media/adc-appexpert-rewrite-policy.png)

1.  在**“操作”**中,选择上一步中创建的操作。
1.  在**“表达式”**中,添加 HTTP.REQ.IS_VALID。
1.  单击**“确定”**。
  1. 设置负载平衡。您必须为每个 STA 服务器配置一个负载平衡虚拟服务器。否则会话将无法启动。

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

    1. 创建负载平衡虚拟服务器。
      • 转至 Traffic Management(流量管理)> Load Balancing(负载平衡)> Servers(服务器)
      • “虚拟服务器”页面中,单击“添加”

      添加负载平衡服务器

      • “协议”中,选择 HTTP
      • 添加负载平衡虚拟 IP 地址,并在“端口”中选择 80
      • 单击“确定”
    2. 创建负载平衡服务。
      • 转至 Traffic Management(流量管理)> Load Balancing(负载平衡)> Services(服务)

      添加负载平衡服务

      • “现有服务器”中,选择上一步中创建的虚拟服务器。
      • “协议”中,选择 HTTP,并在“端口”中选择 80
      • 单击“确定”,然后单击“完成”
    3. 将服务绑定到虚拟服务器。
      • 选择之前创建的虚拟服务器,然后单击“编辑”
      • “服务和服务器组”中,单击“无负载平衡虚拟服务器服务绑定”

      将服务绑定到虚拟服务器

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

      绑定重写策略

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

      设置持久性

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

如果 Citrix ADC 设备已配置 Citrix DaaS,则进行配置更改

如果您已将 Citrix ADC 设备配置为使用 Citrix DaaS,则要使用安全 XML 功能,您必须进行以下配置更改。

  • 在会话启动之前,更改网关的“安全票证颁发机构 URL”以使用负载平衡虚拟服务器的 FQDN。
  • 确保 TrustRequestsSentToTheXmlServicePort 参数设置为 False。默认情况下,TrustRequestsSentToTheXmlServicePort 参数设置为 False。但是,如果客户已为 Citrix DaaS 配置 Citrix ADC,则 TrustRequestsSentToTheXmlServicePort 将设置为 True。
  1. 在 Citrix ADC GUI 中,转至 Configuration(配置)> Integrate with Citrix Products(与 Citrix 产品集成),然后单击 XenApp and XenDesktop®
  2. 选择网关实例,然后单击编辑图标。

    编辑现有网关配置

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

    编辑 StoreFront 详细信息

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

    添加 STA URL

管理安全密钥