PoC 指南:在 Azure 中使用 Secure Browser 和 Citrix ADC 进行 URL 重定向

概述

下面是使用最新的 Citrix ADC 市场模板设置 ADC、配置 SSL 转发代理和 SSL 拦截的配置步骤。通过 ADC 的 URL 重定向到 Secure Browser 功能,管理员能够定义要自动从本地浏览器重定向到 Secure Browser 的特定 Web 站点类别。Citrix ADC 充当中间代理,在本地浏览与 Internet 之间进行拦截,从而实现 Web 隔离并保护公司网络。此功能可在不影响用户体验的情况下提高安全性。

概念体系结构

URL 重定向到 Secure Browser 服务体系结构

Scope(范围)

本概念证明指南描述了以下内容:

  1. 获取 Secure Browser 试用版帐户
  2. 在 Azure 中设置 ADC
  3. 将Citrix ADC 设备设置为代理
  4. 设置 SSL 拦截
  5. 设置重写策略和操作

部署步骤

第 1 部分:获取 Secure Browser 试用版帐户

Secure Browser 服务的参考文档

申请 Secure Browser 试用版

  1. 导航到您的 Citrix Cloud 帐户并输入用户名和密码

  2. 单击“Sign In”(登录)。如果您的帐户管理多个客户,请选择相应的客户

    登录 Citrix Cloud

  3. 双击Secure Browser 磁贴。

    Secure Browser 磁贴

  4. 如果您知道您的客户团队是谁,请联系他们以批准试用。如果您不确定您的客户团队是谁,请继续执行下一步。

  5. 单击Request a Call(请求通话)

    Request a Call(请求通话)

  6. 输入您的详细信息,然后在Comments(评论)部分中指定Secure Browser service trial(Secure Browser 服务试用版)。

  7. 单击Submit(提交)。

    Request a Call form(申请通话表单)

    注意:

    Citrix 销售人员将与您联系以授予您访问该服务所需的权限。这不是立即发生的,Citrix 销售代表将与您联系

  8. Secure Browser 试用版获得批准后,请参阅Citrix Doc 的发布 Secure Browser部分以发布 Secure Browser 应用程序。

启用 URL 参数

  1. 在 Citrix Cloud 订阅中,双击Secure Browser磁贴

  2. 在您发布的浏览器(在本示例中称为“浏览器”)上,单击三个点并选择Policies(策略)

    已发布的浏览器应用程序

  3. 在您发布的浏览器上启用URL Parameters policy(URL 参数策略)

    URL 参数策略启用

第 2 部分:在 Azure 中设置 ADC

可以在选择的任何云中设置 ADC。在此示例中,Azure 是我们的首选云。

配置 ADC 实例

  1. 导航到All Resources(所有资源)并单击+ Add(+ 添加)按钮,搜索“Citrix ADC”

  2. 选择Citrix ADC template(Citrix ADC 模板)

  3. 根据您的要求选择软件计划(在本示例中为“自带许可证”)

  4. 单击Create(创建)

    在 Azure 中设置 ADC

配置 NIC 卡

  1. 导航到All Resources(所有资源),然后选择 ADC 实例的 NIC 卡

  2. 选择IP Configurations(IP 配置),记下ADC management address(ADC 管理地址)

  3. 启用“IP Forwarding Settings”(IP 转发设置),保存更改。

    为 ADC 配置 NIC

配置虚拟 IP

  1. 单击Add(添加),将virtualip设置为新配置的名称

  2. 选择Static(静态)并在管理地址之后添加新 IP 地址

  3. 启用“Public address”(公用地址)选项并创建新的公用 IP 地址

  4. 保存更改

    配置虚拟 IP

在客户端上设置 FQDN

  1. 导航到为virtualip配置创建的公用 IP 地址资源

  2. 单击Configuration(配置),然后添加 DNS 标签(在本示例中为urlredirection.eastus.cloudapp.azure.com

    设置 FQDN

设置网络连接规则

  1. 添加以下网络连接规则

    网络连接规则

    注意:

    您可以选择在配置完成后关闭端口 22 和 443,因为只有出于配置目的登录到管理控制台才需要这些端口。

  2. 此时Azure 中的 ADC 实例已设置完毕

第 3 部分:将 Citrix ADC 设备设置为代理

将ADC 设置为代理,将流量从客户端浏览器路由到 Internet。

登录到 ADC 管理控制台

  1. 在浏览器的搜索栏中输入实例的公用 IP 地址,导航到 Citrix ADC 管理控制台

    注意:

    请使用您在前面的步骤中配置的计算机的 IP 地址,在本示例中为https://40.88.150.164/

  2. 输入您在前面的步骤中设置的用户名和密码,登录控制台

    登录到管理控制台

  3. 在初始配置屏幕中,单击Continue(继续)

上载许可证

  1. 导航到System(系统)> Licenses(许可证)> Manage Licenses(管理许可证)

  2. 上载 ADC 所需的许可证。

    注意:

    您携带的许可证必须支持“配置基本功能”和“配置高级功能”下的步骤 11 和 13 中突出显示的功能(例如 CNS_V3000_SERVER_PLT_Retail.lic 和 CNS_WEBF_SSERVER_Retail.lic)

    管理许可证

  3. 上载两个许可证后重新启动服务器。

  4. 重新启动后,再次登录到管理层

  5. 导航到System(系统)> Settings(设置)> Configure Modes(配置模式)

  6. 只有两个选项必须启用,即Mac based forwarding(基于 Mac 的转发)和Path MTU Discovery(路径 MTU 发现)

    配置模式

    配置模式

  7. 导航到System(系统)> Settings(设置)> Configure Basic Features(配置基本功能)

    配置基本功能

  8. 选择:SSL OffloadingLoad BalancingRewriteAuthentication, Authorization, and AuditingContent SwitchingIntegrated Caching

    配置基本功能

  9. 导航到System(系统)> Settings(设置)> Configure Advanced Features(配置高级功能)

    配置高级功能

  10. 选择:Cache RedirectionIPv6 Protocol TranslationAppFlowReputationForward ProxyContent InspectionResponderURL FilteringSSL Interception

    配置高级功能

设置 NTP 服务器

  1. 导航到国家结核控制规划服务器系统(系统)>(国家结核控制规划服务器)>添加(添加)

    设置 NTP 服务器

  2. 创建服务器,例如,pool.ntp.org

    设置 NTP 服务器

  3. 出现提示时启用 NTP,并将服务器设置为已启用

    设置 NTP 服务

  4. “从管理门户保存配置”保存操作

    保存配置

  5. 打开到 ADC 管理地址的 SSH 会话,使用您在从 Azure 预配 ADC 时使用的凭据登录

设置 TCP 配置文件和虚拟服务器

  1. 从第 2 部分中的步骤中获取virtualip并在命令中输入(在本示例中为 10.1.0.5)

  2. 使用sslproxy地址运行以下命令,例如virtualip

  3. 要添加 TCP 配置文件,请执行以下操作:

    add ns tcpProfile proxy-tcpprofile01 -dynamicReceiveBuffering ENABLED -KA ENABLED -mptcp ENABLED -mptcpDropDataOnPreEstSF ENABLED -mptcpSessionTimeout 360 -builtin MODIFIABLE 
  4. 添加虚拟服务器

    add cs vserver sslproxy01 PROXY 10.1.0.5 8080 -cltTimeout 360 -tcpProfileName proxy-tcpprofile01 -persistenceType NONE bind cs vserver sslproxy01 -lbvserver azurelbdnsvserver add netProfile proxy-netprofile01 -srcIP 10.1.0.5 -srcippersistency ENABLED -MBF ENABLED -proxyProtocol ENABLED -proxyProtocoltxversion V2 set cs vserver sslproxy01 -netProfile proxy-netprofile01 set ssl vserver sslproxy01 -sslProfile ns_default_ssl_profile_frontend save ns config 
  5. 要更改Cache settings(缓存设置),请返回浏览器上的管理会话

  6. 导航到Optimization(优化)> Integrated Caching(集成缓存)

  7. 导航到Settings(设置)> Change cache settings(更改缓存设置)

    Change Cache settings(更改缓存设置)

  8. Memory Usage Limit(内存使用限制)设置为250 MB,然后单击OK(确定)

    Memory usage limit(内存使用限制)

设置客户端进行 URL 重定向

  1. 在客户端上,例如 Firefox

  2. 将浏览器代理配置为您在第 2 部分中配置的virtualip、公用 IP 或 FQDN: 8080(例如,urlredirection.eastus.cloudapp.azure.com:8080

    Configure Browser proxy(配置浏览器代理)

  3. 现在我们已经设置了 ADC,可以使用 ADC 作为代理来测试浏览器中的任何 Web 站点连接。

第 4 部分:设置 SSL 拦截

SSL 拦截使用一种策略来指定要拦截、阻止或允许的流量。Citrix 建议您配置一个通用策略来拦截流量,并配置更具体的策略来绕过某些流量。

参考:

SSL 拦截

URL 类别

配置视频示例

创建 RSA 密钥

  1. 导航到Traffic management(流量管理)> SSL > SSL Files(SSL 文件)> Keys(密钥)

  2. 选择Create RSA Key(创建 RSA 密钥)

    创建 RSA 密钥

  3. 选择密钥文件名和所需的密钥大小

    创建 RSA 密钥

  4. 创建密钥后,下载.key文件以备将来使用

    创建 RSA 密钥

创建证书签名请求 (CSR)

  1. 导航到Traffic management(流量管理)> SSL > SSL Files(SSL 文件)> CSRs(CSR)> Create Certificate Signing Request (CSR)(创建证书签名请求(CSR))

    CSR

  2. 命名请求文件,例如semesec_req1.req

    CSR 创建

  3. 单击Key Filename(密钥文件名)> Appliance(设备),密钥文件名是在上一步中创建的密钥文件名,在本示例中为smesec_key1.key

    CSR 创建

  4. 选择密钥后,继续填写所需的空白:“Common Name”(公用名)、“Organization Name”(组织名称)和“State or Province”(州或省/自治区/直辖市)

  5. 单击“Create”(创建)

创建证书

  1. 导航到Traffic management(流量管理)> SSL > SSL Files(SSL 文件)> Certificates(证书)> Create Certificate(创建证书)

    创建证书

  2. 为证书命名,然后选择在前面的步骤中创建的证书请求文件 (.req) 和密钥文件名 (.key)

    创建证书

  3. 单击“Create”(创建)

  4. 创建证书后,下载.cert文件以备将来使用

    创建证书

创建 SSL 拦截策略

  1. 导航到Traffic management(流量管理)> SSL > Policies(策略)

  2. 单击“添加”(添加)

    创建 SSL 策略

  3. 为策略命名并选择“INTERCEPT”(拦截)操作

  4. 拦截新闻的表达式:

    client.ssl.detected_domain.url_categorize(0,0).category.eq("News")

  5. 单击“Create”(创建)

    创建 SSL 拦截

  6. 要将“Intercept”(绕过)策略绑定到虚拟服务器,请导航到Security(安全性)> SSL Forward Proxy(SSL 转发代理)> Proxy Virtual Servers(代理虚拟服务器)

    SSL 代理 01

  7. 选择虚拟服务器,在此示例中为sslproxy01

  8. 选择add SSL Policies(添加 SSL 策略),然后单击No SSL Policy Binding(无 SSL 策略绑定)

  9. 绑定拦截策略:

    绑定拦截策略

创建 SSL 绕过策略

  1. 导航到Traffic management(流量管理)> SSL > Policies(策略)

  2. 单击“添加”(添加)

    创建 SSL 策略

  3. 为策略命名并选择“NOOP”(空操作)操作 - 没有“BYPASS”(绕过)选项,请参阅下一步

  4. 绕过策略的表达式:CLIENT.SSL.DETECTED_DOMAIN.CONTAINS("cloud")

    Create bypass policy

  5. 导航到Security(安全性)> SSL Forward Proxy(SSL 转发代理)> SSL Interception Policies(SSL 拦截策略)

    SSL 绕过策略

  6. 选择策略进行编辑

  7. 将操作从“NOOP”(空操作)更改为“BYPASS”(绕过)

  8. 单击“OK”(确定)

    SSL 绕过策略

  9. 仔细检查“Action”(操作)现在是否为“BYPASS”(绕过)

  10. 返回Traffic management(流量管理)> SSL > Policies(策略)仔细检查更改

    “Bypass”(绕过)策略

  11. 要将“Bypass”(绕过)策略绑定到虚拟服务器,请导航到Security(安全性)> SSL Forward Proxy(SSL 转发代理)> Proxy Virtual Servers(代理虚拟服务器)

    SSL 代理 01

  12. 双击虚拟服务器,在此示例中为sslproxy01

  13. 选择add SSL Policies(添加 SSL 策略),然后单击SSL Policy Binding(SSL 策略绑定)

  14. Bind the bypass policy(绑定绕过策略)> Add(添加)

    步骤 5.7

  15. 单击“Bind”(绑定)

    步骤 5.8

    注意:

    创建此策略的目的是绕过 ADC 拦截流向 Secure Browserlaunch.cloud.com的流量

创建 SSL 配置文件

  1. 导航到System(系统)> Profiles(配置文件)> SSL Profile(SSL 配置文件)> Add(添加)

    步骤 6.1

  2. 通过为其命名来创建配置文件,在此示例中为smesec_swg_sslprofile

    SSL profile name(SSL 配置文件名称)

  3. 选中该复选框以启用 SSL 会话拦截,然后单击“OK”(确定)

    步骤 6.3

  4. 单击“OK”(确定)创建 SSL 配置文件

  5. 必须安装证书密钥对

  6. 确保之前有证书密钥对的.pfx格式。有关如何从您之前下载的.cert.key文件生成.pfx文件的指导,请参阅以下步骤。

准备证书密钥对

  1. 首先安装 SSL 工具

  2. openssl安装路径添加到系统环境变量中

    SSL 安装路径

  3. 在 PowerShell 中,运行以下命令:

    openssl pkcs12 -export -out smesec_cert1.pfx -inkey smesec.key1.key -in smesec.cert1.cert

    PowerShell 屏幕截图

将SSL 拦截 CA 证书绑定到 SSL 配置文件

  1. 导航到System(系统)> Profiles(配置文件)> SSL Profile(SSL 配置文件)

  2. 选择之前创建的配置文件

  3. 单击+ Certificate Key(+ 证书密钥)

  4. 单击“Install”(安装)

  5. 选择之前准备的 .pfx 文件

  6. 创建密码(稍后需要)

  7. 单击“Install”(安装)

    步骤 8

将SSL 配置文件绑定到虚拟服务器

  1. 导航到Security(安全性)> SSL Forward Proxy(SSL 转发代理)> Proxy Virtual Servers(代理虚拟服务器)

    SSL 代理 01

  2. 选择虚拟服务器,在此示例中为sslproxy01

  3. 单击以编辑 SSL 配置文件

    编辑 SSL 配置文件

  4. 选择之前创建的 SSL 配置文件,在本示例中为smesec_swg_sslprofile

  5. 完成

第 5 部分:设置重写策略和操作

重写策略由规则和操作组成。规则确定应用重写的流量,操作确定 Citrix ADC 要执行的操作。重写策略是根据在浏览器中输入的 URL 类别(在本示例中为“新闻”)对 Secure Browser 进行 URL 重定向所必需的。

参考

创建重写策略和操作

  1. 导航到AppExpert > Rewrite(重写)> Policy(策略)

  2. 单击“添加”(添加)

    创建重写策略

  3. 通过为其命名(在此示例中为 cloud_pol)来创建策略并使用以下表达式:HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL).URL_CATEGORIZE(0,0).CATEGORY.EQ("News")

  4. 单击“create”(创建)

    创建重写策略

  5. 在 PuTTy 中创建操作

  6. 运行以下命令:

    add rewrite action cloud_act REPLACE_HTTP_RES q{"HTTP/1.1 302 Found" + "\r\n" + "Location: https://launch.cloud.com//?url=https://" + HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL.PATH) + "\r\n\r\n\" "}

    注意:

    在命令中,将替换为您的 Citrix Cloud 客户帐户名称,将替换为启用了 URL 参数策略的 Secure Browser 已发布的应用程序名称。指您在第 1 部分中创建的已发布应用程序。

将重写策略绑定到虚拟服务器

  1. 返回到 ADC 管理控制台

  2. 导航到AppExpert > Rewrite(重写)> Policy(策略)

  3. 转到策略 cloud_pol 并将操作更改为 cloud_act(之前创建的操作)

    cloud_act 操作

  4. 要选择重写策略的类型,请导航到Security(安全性)> SSL Forward Proxy(SSL 转发代理)> Proxy Virtual Servers(代理虚拟服务器)

  5. 选择“+ Policies”(+ 策略)。

  6. 策略:重写

  7. 类型:响应

    步骤 11.2

  8. 选择创建的策略,在此示例中为cloud_pol

  9. 优先级:10

  10. 绑定

    步骤 11.3

  11. 单击“done”(完成)

  12. 保存配置

将证书密钥绑定到配置文件

  1. 导航到System(系统)> Profiles(配置文件)> SSL Profile(SSL 配置文件)

  2. 选择创建的配置文件,例如smesec_swg_sslprofile

  3. 双击+ Certificate Key(+ 证书密钥)

    步骤 12.2

  4. 选择证书密钥,例如smesec_cert_overall

    步骤 12.3

  5. 单击“Select”(选择)
  6. 单击“Bind”(绑定)
  7. 单击“Done”(完成)
  8. 保存配置

将证书文件导入到浏览器中

  1. 将证书上载到 Firefox 中(以我们的“新闻”类别 Web 站点为例)

  2. 在您选择的浏览器中转到选项,在本例中为 Firefox

  3. 搜索“certs”(证书)> 单击“View Certificates”(查看证书)

    步骤 13.1

  4. 在“Certificate Manager”(证书管理器)窗口中,单击“Import…”(导入…)

    步骤 13.2

  5. 浏览您的证书并单击“open”(打开),在本示例中为smesec_cert1.cert

    步骤 13.3

  6. 输入您在制作证书时创建的密码

  7. 必须正确安装您的证书颁发机构

    步骤 13.4

演示版

本地浏览器中的“新闻”Web 站点会自动重定向到 Secure Browser。请观看下面的演示

总结

在本 PoC 指南中,您学习了如何在 Azure 中设置 Citrix ADC 以及配置“SSL Forward Proxy”(SSL 转发代理)和“SSL Interception”(SSL 拦截)。这种集成允许通过将浏览重定向到 Secure Browser 服务来动态交付资源。因此,在不牺牲用户体验的情况下保护公司网络。

PoC 指南:在 Azure 中使用 Secure Browser 和 Citrix ADC 进行 URL 重定向