双跳DMZ部署中的通信流
要了解双跳DMZ部署中涉及的配置问题,您必须基本了解双跳DMZ部署中的各种Citrix网关和Citrix虚拟应用程序组件如何通信以支持用户连接。StoreFront和Web界面的连接过程是相同的。
尽管用户连接过程发生在一个连续的流程中,但该过程涉及以下高级步骤。
- 验证用户身份
- 创建会话记录单
- 启动Citrix Workspace应用程序
- 完成连接
下图显示了用户连接到StoreFront或Web界面过程中发生的步骤。在安全网络中,运行Citrix虚拟应用程序的计算机也运行安全票证授权(STA)、XML服务和发布的应用程序。
连接过程
在双跳DMZ部署中,用户连接过程的第一步是验证用户身份。
下图显示了此部署中的用户连接过程。
在用户身份验证阶段,会发生以下基本过程:
- 用户输入“Citrix Gateway”地址,例如https://www.ng.wxyco.com在web浏览器中连接第一个DMZ中的Citrix Gateway。如果在“Citrix Gateway”上启用了登录页面身份验证,则“Citrix Gateway”将对用户进行身份验证。
- 第一个DMZ中的Citrix网关接收请求。
- Citrix Gateway将web浏览器连接重定向到web界面。
- Web接口将用户凭据发送到内部网络的服务器群中运行的Citrix XML服务。
- Citrix XML服务对用户进行身份验证。
XML服务创建用户有权访问的已发布应用程序的列表,并将该列表发送到Web界面。
注:
如果在Citrix Gateway上启用身份验证,设备将向用户发送Citrix Gateway登录页面。用户在登录页面上输入身份验证凭据,设备对用户进行身份验证。然后,Citrix Gateway将用户凭据返回给Web界面。
如果不启用鉴权,则Citrix Gateway不进行鉴权。该设备连接到Web Interface,检索Web Interface登录页面,并将Web Interface登录页面发送给用户。用户在Web Interface登录页面上输入身份验证凭证,然后Citrix Gateway将用户凭证传递回Web Interface。
在双跳DMZ部署中,创建会话票据是用户连接过程的第二阶段。
在创建会话票据阶段,会发生以下基本过程:
- Web接口与内部网络中的XML服务和安全票证管理局(STA)进行通信,为用户有权访问的每个已发布应用程序生成会话票证。会话票证包含运行承载已发布应用程序的Citrix虚拟应用程序的计算机的别名地址。
- STA保存发布应用程序所在服务器的IP地址。然后STA将请求的会话票据发送到Web接口。每个会话票据都包含一个别名,该别名表示承载已发布应用程序的服务器的IP地址,而不是实际的IP地址。
Web Interface为每个发布的应用程序生成一个ICA文件。ICA文件中包含STA签发的票据。然后,Web Interface创建并填充一个带有已发布应用程序链接列表的网页,并将该网页发送到用户设备上的Web浏览器。
启动Citrix Workspace应用程序是双跳DMZ部署中用户连接过程的第三阶段。基本流程如下:
用户在Web Interface中单击指向已发布应用程序的链接。Web Interface将发布应用程序的ICA文件发送到用户设备的浏览器。
ICA文件包含指示web浏览器启动Receiver的数据。
ICA文件还包含第一个DMZ区域中Citrix Gateway的完全限定域名(FQDN)或DNS名称。
web浏览器启动接收器,用户使用ICA文件中的Citrix网关名称连接到第一个DMZ中的Citrix网关。初始SSL/TLS握手用于建立运行Citrix网关的服务器的标识。
在双跳DMZ部署中,完成连接是用户连接过程的第四个也是最后一个阶段。
在连接完成阶段,会发生以下基本过程:
- 用户在Web Interface中单击指向已发布应用程序的链接。
- web浏览器接收由web界面生成的ICA文件,并启动Citrix Workspace app。注意:ICA文件包含指示web浏览器启动Citrix Workspace应用程序的代码。
- Citrix Workspace应用程序在第一个DMZ中启动到Citrix Gateway的ICA连接。
- 第一个DMZ中的Citrix网关与内部网络中的安全票证机构(STA)通信,将会话票证中的别名地址解析为运行Citrix Virtual Apps或StoreFront的计算机的真实IP地址。该通信由Citrix Gateway代理通过第二个DMZ进行代理。
- 第一个DMZ中的Citrix Gateway完成了到Citrix Workspace应用程序的ICA连接。
- Citrix Workspace应用程序现在可以通过两个Citrix Gateway设备与内部网络上运行Citrix Virtual Apps的计算机进行通信。
完成用户连接过程的具体步骤如下:
- Citrix Workspace应用程序将已发布应用程序的STA票据发送到第一个DMZ中的Citrix Gateway。
- 第一个DMZ中的Citrix网关与内部网络中的STA联系以进行票证验证。为了联系STA,Citrix Gateway在第二个DMZ中与Citrix Gateway代理建立SOCKS或SOCKS with SSL连接。
- 第二个DMZ中的Citrix Gateway代理将票据验证请求传递给内部网络中的STA。STA验证该票证,并将其映射到运行Citrix Virtual Apps的计算机上,该计算机托管已发布的应用程序。
- STA向第二个DMZ中的Citrix Gateway代理发送响应,该响应被传递给第一个DMZ中的Citrix Gateway。此响应完成票据验证,并包含承载已发布应用程序的计算机的IP地址。
- 第一个DMZ中的Citrix网关将Citrix虚拟应用服务器的地址合并到用户连接数据包中,并将该数据包发送到第二个DMZ中的Citrix网关代理。
- 第二个DMZ中的Citrix Gateway代理向连接包中指定的服务器发出连接请求。
- 服务器在第二个DMZ中响应Citrix Gateway代理。第二个DMZ中的Citrix Gateway代理将此响应传递给第一个DMZ中的Citrix Gateway,以完成服务器与第一个DMZ中的Citrix Gateway之间的连接。
- 第一个DMZ中的Citrix Gateway通过将最后的连接包传递给用户设备来完成与用户设备的SSL/TLS握手。用户设备与服务器之间建立连接。
- 用户设备和服务器之间的ICA流量分别通过第一个DMZ区域的Citrix Gateway和第二个DMZ区域的Citrix Gateway代理。