高级概念

通过使用Citrix安全浏览器延长传统Web应用程序的寿命

在Web应用程序和框架的世界中,必须拥抱多样性。不同类型的用户、群组和公司需要访问正确的工具、应用程序和权限,以连接到支持Web的业务应用程序。在大多数情况下,合规性因素决定了如何访问这些应用程序。需要支持旧子系统和旧浏览器框架的企业,在提供足够的访问权限并满足业务关键型应用程序的合规性要求方面面临艰巨的任务。以下文档描述了如何在制定更新和迁移策略的同时,利用Citrix安全浏览器扩展对传统Web应用程序和浏览器的访问并延长其寿命。

该解决方案需要发布一个合规的浏览器,允许外部或内部用户访问,无论用户如何连接或他们使用何种浏览器连接到内部站点。此解决方案利用XenDesktop Server OS VDA、StoreFront™、NetScaler Gateway和XenApp Secure Browser。当合规的浏览器或端点满足IT管理员设置的所有要求时,用户会重定向到使用本地浏览器;如果策略检测到不合规的浏览器或端点,则会将用户重定向到远程容器化的已发布浏览器会话。无论用户如何连接到环境,他们只需知道每个资源的一个URL(这可以降低培训和支持成本)。

体系结构

以下部分解释了无论用户是从内部网络还是外部网络连接,他们如何访问内部站点。在此场景中,一种浏览器类型(Internet Explorer)是合规浏览器,另一种(Google Chrome)是不合规浏览器。各公司自行决定如何以及哪些浏览器映射到合规性策略。

对于此解决方案,我们假设NetScaler® Gateway已配置为外部访问已发布的应用程序,这在图1中表示为Gateway vServer 1。第二个虚拟服务器(Gateway vServer 2)将用户重定向以启动Secure Browser的HTML5 Receiver会话。

用例

需要维护不再受当前浏览器支持的传统Web应用程序。在这种情况下,IT部门仍然需要维护一个专为Internet Explorer 8设计的网站,并且供应商不再发布增强功能来支持新的或其他浏览器。为了解决这个问题,IT管理员发布了一个Secure Browser,以允许满足浏览器要求的用户访问该站点。下图解释了内部和外部用户工作流中的每个连接。

本地化图像

连接工作流程

  1. 每个用户输入从外部DNS服务器解析的站点URL,在我们的示例中,https://train.qckr.net
  2. 浏览器连接到NetScaler Gateway负载均衡器并确定合规性要求。
  3. 当浏览器不合规时,内部和外部用户都会重定向到NetScaler Gateway虚拟服务器。当浏览器合规时,NetScaler Gateway会通过负载均衡器为外部用户代理连接到内部站点,并为内部用户将本地浏览器重定向到该站点。
  4. 虚拟服务器自动启动一个由StoreFront枚举的会话。
  5. StoreFront 联系 XenDesktop® 控制器 以获取会话信息和路由。
  6. 会话通过安全浏览器桌面组启动;在这种情况下,它是一个带有已发布合规浏览器的服务器操作系统 VDA。
  7. 会话通过 NetScaler Gateway 设备上的 ICA® 代理进行连接。
  8. Citrix Receiver™ for HTML5 在本机浏览器中建立用户的会话。
  9. 内部站点通过使用 Citrix Receiver for HTML5 的安全浏览器会话显示。

设置以及配置

本节介绍如何为当前具有 NetScaler Gateway 远程连接的 XenDesktop 环境实施此解决方案。

解决方案要求

此设置过程需要对以下各项组件进行安装和配置:

  • XenDesktop 桌面控制器服务器
  • 带有为外部访问配置的 Store 的 Citrix StoreFront 服务器
  • NetScaler 网关,它与一个 XenDesktop 虚拟服务器协同工作
  • 使用已安装浏览器作为安全浏览器的服务器操作系统 VDA
  • 指向新 NetScaler 负载均衡器的外部 DNS 地址
  • 指向新 NetScaler Gateway 虚拟服务器的外部 DNS 地址

配置说明

XenDesktop 桌面控制器组件

本地化图像

本地化图像

本地化图像

本地化图像

将服务器操作系统 VDA 添加到名为 Secure Browser Catalog 的新计算机目录中。

Secure Browser Catalog 创建一个交付组并发布 Internet Explorer。在命令行参数中,键入 -k <内部站点的 URL>。-k 参数用于在信息亭模式下打开 Internet Explorer。在此示例中,我们发布 Internet Explorer 8 并使用内部站点作为网址。

您可以将交付组分配给特定的用户和组。如果用例不需要桌面访问,则无需添加桌面访问权限。

在服务器操作系统 VDA 上,安装服务器或客户端身份验证证书,该证书可在控制器和 VDA 通信上启用 SSL。

Mount XenDesktop 7.6 or later install media. Open a PowerShell command window, then run %MediaDrive%:\Support\Tools\SslSupport\Enable-VdaSSL.ps1 –Enable

重新启动服务器操作系统 VDA 实例。

在 XenDesktop 控制器上,请打开一个 PowerShell 命令行窗口,然后执行以下命令:ASNP Citrix*

运行以下三个命令以启用代理到 VDA 的安全通信:

Get-BrokerAccessPolicyRule –DesktopGroupName ‘Secure Browser Desktop Group’ | Set-BrokerAccessPolicyRule –HdxSslEnabled $true*
<!--NeedCopy-->
Set-BrokerSite –DnsResolutionEnabled $true
<!--NeedCopy-->
Set-BrokerSite -TrustRequestsSentToTheXmlServicePort $true*
<!--NeedCopy-->

StoreFront

本地化图像

本地化图像

本地化图像

本地化图像

本地化图像

本地化图像

本地化图像

本地化图像

本地化图像

本地化图像

创建一个名为 SecureBrowser 的新应用商店,并选择 仅允许未经身份验证的用户访问此应用商店。由于所有用户都将令牌从 NetScaler Gateway 传递到控制器,因此流量已通过身份验证。

添加 思杰桌面 控制器。

启用 远程访问 并添加将在以下步骤中配置的第二个 NetScaler Gateway。对于此配置,您无需在 StoreFront / NetScaler Gateway 配置中使用 回调VIP 地址

使用向导默认值完成应用商店的创建。

创建应用商店后,单击 管理 Web 站点版 Receiver

管理 Web 站点版 Receiver 页面上,单击 配置,转到 网站快捷方式,添加内部网站 URL,然后单击 获取快捷方式 链接。

以具有已发布的 Secure Browser 应用程序访问权限的普通用户身份登录。

复制 Secure Browser 应用程序的 URL,并将其保存到文本文件中,以便稍后在 NetScaler Gateway 配置中使用。

返回到 编辑 Web 站点版 Receiver 属性,单击 部署 Citrix Receiver 并选择 始终使用 HTML5 版 Receiver。选择选项 在与 Web 版 Receiver 相同的选项卡中启动应用程序

单击 工作区控制,在 注销操作 中,选择 终止。清除选项 启用工作区控制

单击 客户端界面设置,清除选项 自动启动桌面,然后单击 确定 保存设置。

In a text editor, open the file C:\inetpub\wwwroot\Citrix\SecureBrowserWeb\web.config.

找到 <appShortcuts promptForUntrustedShortcuts=”true”> 这项设置,将其值更改为 false,然后保存所做的更改。禁用此设置将阻止 StoreFront 向用户询问是否要启动该应用程序。

网络标量网关

本地化图像

本地化图像

本地化图像

本地化图像

本地化图像

本地化图像

本地化图像

本地化图像

本地化图像

本地化图像

本地化图像

在 NetScaler Gateway 图形用户界面中,在导航窗格中,单击 XenApp® and XenDesktop,然后在仪表板上单击创建新网关

在 StoreFront 的属性配置中,将站点路径设定为 /Citrix/SecureBrowserWeb,并将应用商店的名称指定为 SecureBrowser,作为 StoreFront 服务器上的一个新应用商店。

继续向导并保存新的虚拟服务器。

NetScaler Gateway 节点上,展开策略,然后转到会话

选择操作选项卡,编辑为第二个虚拟服务器新创建的操作,然后编辑 AC_WB_ 策略操作。

已发布的应用程序选项卡上,将您之前保存的应用程序快捷方式 URL 粘贴到Web 界面地址字段中,然后单击确定

在导航窗格中,单击 AppExpert 节点,展开响应程序部分,然后单击操作

添加新的操作,将其命名为 Internal Connections,并将类型设置为重定向

表达式字段中,添加要连接的内部站点的 URL,并用引号括起来,例如 https://mysite.acme.com

单击创建以保存操作。

添加新操作,将其命名为 External Connections,并将类型设置为重定向

在“表达式”字段中,添加第二个 NetScaler Gateway 虚拟服务器的 URL,并用引号括起来,例如 https://gateway.acme.com

单击“创建”以保存操作。

转到“响应方策略”节点。

添加新策略,将其命名为 Detect Browser Compliance,在“操作”下拉列表中,选择之前创建的“外部连接”操作。

将“未定义结果操作”设置为“NOOP”。

在“表达式”字段中,添加以下文本:

HTTP.REQ.HEADER(“User-Agent”).CONTAINS(“AppleWebKit”) HTTP.REQ.HEADER(“User-Agent”).CONTAINS(“Chrome”)

上述表达式检测不合规的浏览器,或者在此用例中不是 Internet Explorer。

单击“创建”以保存更改。

添加新策略,将其命名为 Detect Client Source,并将“操作”设置为之前创建的“内部连接”操作。

将“未定义结果操作”设置为“NOOP”。

在“表达式”字段中,添加以下文本:

(CLIENT.IP.SRC.IN_SUBNET(172.17.0.0/23)

替换或添加上述每个子网以匹配您的内部网络环境。在此情况下,用户代理与配置的 Internet Explorer 版本匹配,并且客户端正在从内部网络连接。

单击“创建”以保存更改。

在导航窗格中,展开 流量管理 > 负载平衡,然后选择 服务器。添加用于托管内部站点的服务器。

在导航窗格中,在 负载平衡 下单击 服务组,添加一个新的服务组,将 协议 设置为 SSL,并将上一步中创建的 服务器 绑定到 服务组成员 列表。

单击 完成

在导航窗格中,在 负载平衡 节点中单击 虚拟服务器,单击 添加 并将服务器命名为 Intranet 站点

协议 设置为 SSL,并键入负载平衡器的 IP 地址。

绑定上一步中创建的 服务组内部 Web 服务器 并配置外部访问证书。将内部根 CA 证书绑定到 CA 证书,以便负载平衡器可以将 SSL 卸载到内部 Web 服务器。

在详细信息窗格中,在 高级设置 中,单击 + 策略。单击加号 (+) 绑定新策略。

选择 选择策略的响应程序,然后单击 继续。选择 检测客户端源 并将优先级设置为 100。

单击 绑定

单击 响应程序 策略部分,单击 添加绑定,选择 检测浏览器合规性 并将优先级设置为 110。单击 绑定

单击 关闭,然后单击 完成

Save the NetScaler Gateway configuration.

用例结果与预期效果

本节回顾了每个用户如何通过上述配置进行连接的用例和预期结果。在所有以下用例中,用户都将打开本地安装的浏览器并键入培训站点的外部 URL。

本地化图像

本地化图像

本地化图像

本地化图像

使用不合规浏览器的外部用户

预期结果: 用户在浏览器选项卡中启动 Citrix Receiver 会话,该选项卡使用已发布的 Secure Browser 呈现站点。

使用合规浏览器的外部用户

预期结果:NetScaler Gateway 在本地浏览器和内部网站之间代理流量。

使用不合规浏览器的内部用户

预期结果:用户在浏览器选项卡中启动 Citrix Receiver 会话,该选项卡使用已发布的 Secure Browser 呈现站点。

使用合规浏览器的内部用户

预期结果:用户会话重定向到内部站点;由于客户端从内部网络连接,NetScaler Gateway 不会代理连接。

已知的限制

  • Dynamic URL passing to the NetScaler Gateway virtual server does not support using Citrix Receiver for HTML5 for Secure Browser.
    • 要将启动 URL 传递到虚拟服务器,请在会话配置文件中禁用 ICA 代理。ICA 代理是 Citrix Receiver for HTML5 的一项要求。
  • 适用于 HTML5 的 Citrix Receiver 不支持内容重定向。
    • 管理员可以在 StoreFront 中对 Citrix Receiver 进行配置,使其能够用于访问网站。
  • 具有多个独立站点的环境,可以为每个站点创建不同的 NetScaler Gateway 会话策略并将其绑定到虚拟服务器,或者创建可以托管内部站点 URL 的内部启动门户。

参考文献

通过使用Citrix安全浏览器延长传统Web应用程序的寿命