Citrix Gateway 和 XenMobile
使用 XenMobile 配置 Citrix Gateway 时,为远程设备访问内部网络建立身份验证机制。利用此功能,移动设备上的应用程序可以访问 Intranet 上的企业服务器。XenMobile 在设备上的应用程序与 Citrix Gateway 之间创建一个 Micro VPN。
您通过从 Citrix Gateway 上运行的 XenMobile 中导出一个脚本,将 Citrix Gateway 配置为与 XenMobile 结合使用。
使用 Citrix Gateway 配置脚本的必备条件
Citrix ADC 要求:
- Citrix ADC(最低版本 11.0,内部版本号 70.12)。
- Citrix ADC IP 地址已配置并且连接到 LDAP 服务器(平衡了 LDAP 的负载时除外)。
- Citrix ADC 子网 (SNIP) IP 地址已配置,连接到必需的后端服务器,并且能够通过端口 8443/TCP 访问公用网络。
- DNS 可以解析公共域。
- Citrix ADC 已通过平台/通用许可证或试用版许可证获得许可。有关信息,请参阅https://support.citrix.com/article/CTX126049。
- Citrix Gateway SSL 证书已上载并安装在 Citrix ADC 上。有关信息,请参阅https://support.citrix.com/article/CTX136023。
XenMobile 的要求:
- XenMobile服务器(最低版本 10.6)。
- LDAP 服务器已配置。
配置身份验证以便远程设备能够访问内部网络
在 XenMobile 控制台中,单击控制台右上角的齿轮图标。此时将显示设置页面。
在服务器下方,单击Citrix Gateway。此时将显示Citrix Gateway页面。在以下示例中,存在一个 Citrix Gateway 实例。
配置以下设置:
- 身份验证:选择是否启用身份验证。默认值为开。
- 向用户提供用于身份验证的证书:选择是否希望 XenMobile 与 Secure Hub 共享身份验证证书,以使 Citrix Gateway 能够处理客户端证书身份验证。默认值为关。
- 凭据提供程序:在列表中,单击要使用的凭据提供程序。有关详细信息,请参阅凭据提供程序。
单击保存。
添加 Citrix Gateway 实例
保存身份验证设置后,请向 XenMobile 中添加一个 Citrix Gateway 实例。
在 XenMobile 控制台中,单击控制台右上角的齿轮图标。此时将打开设置页面。
在服务器下方,单击Citrix Gateway。此时将显示Citrix Gateway页面。
单击添加。此时将显示添加新的 Citrix Gateway页面。
配置以下设置:
- 名称:键入 Citrix Gateway 实例的名称。
- 别名:(可选)包括 Citrix Gateway 的别名。
- 外部 URL:键入 Citrix Gateway 的可公开访问的 URL。例如,
https://receiver.com
。 - 登录类型:选择登录类型。类型包括仅限域、仅限安全令牌、域和安全令牌、证书、证书和域以及证书和安全令牌。需要密码字段的默认设置会根据所选登录类型发生变化。默认值为仅限域。
如果您有多个域,请使用证书和域。有关为 XenMobile 和 Citrix Gateway 配置多域身份验证的详细信息,请参阅为多个域配置身份验证。
如果使用证书和安全令牌,则需要在 Citrix Gateway 上设置一些其他配置才能支持 Secure Hub。有关信息,请参阅为 XenMobile 配置证书和安全令牌身份验证。
有关详细信息,请参阅部署手册中的身份验证。
- 需要密码:选择是否要求使用密码身份验证。默认值因会根据所选登录类型发生变化。
- 设为默认值:选择是否将此 Citrix Gateway 用作默认值。默认值为关。
- 导出配置脚本:单击此按钮可导出您上载到 Citrix Gateway 以通过 XenMobile 设置对其进行配置的配置包。有关信息,请参阅这些步骤后面的“配置本地 Citrix Gateway 以与 XenMobile Server 配合使用”。
- 回调 URL和虚拟 IP:请在添加这些字段之前保存您的设置。有关信息,请参阅本文中的添加回调 URL 和 Citrix Gateway VPN 虚拟 IP。
单击保存。
此时 Citrix Gateway 已添加并显示在表格中。要编辑或删除实例,请单击列表中的名称。
配置 Citrix Gateway 以与 XenMobile Server 配合使用
要配置本地 Citrix Gateway 以与 XenMobile 结合使用,请执行本文中详细介绍的以下常规步骤:
从 XenMobile Server 下载一个脚本以及相关的文件。请参阅脚本附带的自述文件了解最新的详细说明。
确认您的环境是否满足必备条件。
更新脚本使其适用您的环境。
在 Citrix ADC 上运行脚本。
测试配置。
该脚本配置 XenMobile 所需的以下 Citrix Gateway 设置:
- MDM 和 MAM 需要的 Citrix Gateway 虚拟服务器
- Citrix Gateway 虚拟服务器的会话策略
- XenMobile服务器详细信息
- Citrix Gateway 虚拟服务器的身份验证策略和操作。 该脚本描述了 LDAP 配置设置。
- 代理服务器的流量操作和策略
- 无客户端访问配置文件
- Citrix ADC 上的静态本地 DNS 记录
- 其他绑定:服务策略、CA 证书
该脚本不处理以下配置:
- Exchange 负载平衡
- Citrix Files 负载平衡
- ICA 代理配置
- SSL 卸载
下载、更新和运行脚本
如果要添加 Citrix Gateway,请单击添加新 Citrix Gateway页面上的导出配置脚本。
或者,如果您在导出脚本之前添加了一个 Citrix Gateway 实例并单击保存,请返回设置 > Citrix Gateway,选择“Citrix ADC”,单击导出配置脚本,然后单击下载。
单击导出配置脚本后,XenMobile 将创建一个 .tar.gz 脚本包。脚本包中包括:
- 包含详细说明的 readme 文件
- 包含用于在 Citrix ADC 中配置所需组件的 Citrix ADC CLI 命令的脚本
- XenMobile服务器的公用根 CA 证书和中间 CA 证书(这些证书用于 SSL 卸载,不是当前版本必需的证书)
- 包含用于删除 Citrix ADC 配置的 Citrix ADC CLI 命令的脚本
编辑脚本 (NSGConfigBundle_CREATESCRIPT.txt) 以将所有占位符替换为您的环境中的详细信息。
按照脚本包附带的自述文件所述,在 Citrix ADC bash shell 中运行编辑后的脚本。例如:
/netscaler/nscli -U :
: batch -f "/var/NSGConfigBundle_CREATESCRIPT.txt" 脚本完成后,将显示以下行。
测试配置
验证 Citrix Gateway 虚拟服务器显示的状态是否为运行。
验证代理负载平衡虚拟服务器显示的状态是否为运行。
打开 Web 浏览器,连接到 Citrix Gateway URL,并尝试进行身份验证。如果身份验证失败,将显示以下消息:HTTP 状态 404 - 未找到
注册设备,并确保其获取 MDM 和 MAM 注册。
添加回调 URL 和 Citrix Gateway VPN 虚拟 IP
添加 Citrix Gateway 实例后,可以添加一个回调 URL 并指定 Citrix Gateway 虚拟 IP 地址。这些设置是可选设置,但是可以进行配置以增强安全性,尤其是当 XenMobile Server 在 DMZ 中时。
在设置 > Citrix Gateway中,选择 Citrix Gateway,然后单击编辑。
在表格中,单击添加。
对于回调 URL,键入完全限定的域名 (FQDN)。回调 URL 验证请求是否来自 Citrix Gateway。
请确保回调 URL 解析为可从 XenMobile Server 访问的 IP 地址。回调 URL 可以是外部 Citrix Gateway URL 或某些其他 URL。
键入 Citrix Gateway虚拟 IP地址,然后单击保存。
为多个域配置身份验证
如果您有多个 XenMobile Server 实例(例如,用于测试、开发和生产环境),则必须手动为其他环境配置 Citrix Gateway。(只能运行一次适用于 XenMobile 的 Citrix ADC 向导。)
Citrix Gateway 配置
要为多域环境配置 Citrix Gateway 身份验证策略和会话策略,请执行以下操作:
- 在 Citrix Gateway 配置实用程序中的配置选项卡上,展开Citrix Gateway > 策略 > 身份验证。
- 在导航窗格中,单击LDAP。
单击后即可编辑 LDAP 配置文件。将服务器登录名称属性更改为userPrincipalName或您想要用于搜索的属性。记下您指定的属性,以便在 XenMobile 控制台中配置 LDAP 设置时具有该属性。
- 针对每个 LDAP 策略重复以上步骤。每个域均需要一个单独的 LDAP 策略。
- 在绑定到 Citrix Gateway 虚拟服务器的会话策略中,导航到编辑会话配置文件 > 已发布的应用程序。请确保单点登录域为空。
XenMobile服务器配置
要为多域 XenMobile 环境配置 LDAP,请执行以下操作:
在 XenMobile 控制台中,转至设置 > LDAP并添加或编辑一个目录。
提供相关信息。
在域别名中,指定要用于执行用户身份验证的每个域。用逗号分隔这些域,并且在域之间不要使用空格。例如:
domain1.com,domain2.com,domain3.com
请确保用户搜索依据字段与在 Citrix Gateway LDAP 策略中指定的服务器登录名称属性保持一致。
删除对特定 URL 的入站连接请求
如果您的环境中的 Citrix Gateway 是为 SSL 卸载配置的,您可能希望网关删除对特定 URL 的入站连接请求。
如果您更偏好额外的安全性,请在 Citrix Gateway 上配置两个 MDM 负载平衡器虚拟服务器(一个用于端口 443,一个用于端口 8443)。请将以下信息用作您的设置的模板。
重要:
以下更新仅适用于为 SSL 卸载配置的 Citrix Gateway。
创建名为
XMS_DropURLs
的模式集。add policy patset XMS_DropURLs
将以下 URL 添加到新模式集。根据需要自定义此列表。
bind policy patset XMS_DropURLs /zdm/shp/console -index 6 bind policy patset XMS_DropURLs /zdm/login_xdm_uc.jsp -index 5 bind policy patset XMS_DropURLs /zdm/helper.jsp -index 4 bind policy patset XMS_DropURLs /zdm/log.jsp -index 3 bind policy patset XMS_DropURLs /zdm/login.jsp -index 2 bind policy patset XMS_DropURLs /zdm/console -index 1
除非连接请求来自指定的子网,否则请创建一个策略以删除传输到这些 URL 的所有流量。
add responder policy XMS_DROP_pol “CLIENT.IP.SRC.IN_SUBNET(192.168.0.0/24).NOT && HTTP.REQ.URL.CONTAINS_ANY(”XMS_DropURLs”)” DROP -comment "Allow only subnet 192.168.0.0/24 to access these URLs. All other connections are DROPed"
将新策略绑定到两个 MDM 负载平衡器虚拟服务器(端口 443 和 8443)。
bind lb vserver _XM_LB_MDM_XenMobileMDM_443 -policyName XMS_DROP_pol -priority 100 -gotoPriorityExpression END -type REQUEST bind lb vserver _XM_LB_MDM_XenMobileMDM_8443 -policyName XMS_DROP_pol -priority 100 -gotoPriorityExpression END -type REQUEST
阻止通过浏览器访问 MAM URL
直接通过浏览器访问 MAM URL 会提示用户输入其 Active Directory 凭据。虽然它充当用户验证其凭据的工具,但某些用户可能会将其视为安全违规。以下部分将帮助您使用 NetScaler 上的响应程序策略功能限制浏览器对 MAM URL (NetScaler Gateway VIP) 的访问。
请创建以下响应程序策略之一并将其绑定到您的 NetScaler Gateway 虚拟服务器:
add responder policy Resp_Brow_Pol "HTTP.REQ.HEADER(\"User-Agent\").CONTAINS(\"Mozilla\")&&HTTP.REQ.URL.PATH_AND_QUERY.EQ(\"/vpn/index.html\")" DROP
add responder policy Resp_Brow_Pol_CR "!HTTP.REQ.HEADER(\"User-Agent\").CONTAINS(\"CitrixReceiver\")&&HTTP.REQ.URL.PATH_AND_QUERY.EQ(\"/vpn/index.html\")" DROP
add responder policy Resp_Brow_Pol_CR "HTTP.REQ.HEADER(\"User-Agent\").CONTAINS(\"CitrixReceiver\").NOT&&HTTP.REQ.URL.PATH_AND_QUERY.EQ(\"/vpn/index.html\")" DROP
使用
bind vpn vserver _XM_XenMobileGateway -policy Resp_Brow_Pol_CR -priority 100 -gotoPriorityExpression END -type REQUEST
绑定到 NetScaler Gateway 虚拟服务器注意:
_XM_XenMobileGateway
是 NetScaler Gateway 虚拟服务器的示例名称。