Gateway

为 Citrix Gateway 虚拟服务器配置网络访问控制设备检查,以进行单因素身份验证部署

本主题提供有关将 Citrix Gateway 配置为使用 Microsoft Intune 提供的网络访问合规性 (NAC) 安全性从移动设备(iOS 和 Android)连接到内部网络的信息。当用户尝试从 iOS 或 Android VPN 客户端连接到 Citrix Gateway 时,网关首先向 Intune 服务检查设备是否为受管设备和合规设备。

  • 托管:使用 Intune 公司门户客户端注册设备。
  • 合规:应用从 Intune MDM 服务器推送的必需策略。

只有当设备既受管又符合要求时,才会建立 VPN 会话,并向用户提供对内部资源的访问权限。

注意:

  • 在此设置中,后端的 Citrix Gateway 会与 Intune 服务进行对话。SSL 配置文件处理到 Citrix Gateway 的传入连接。Citrix Gateway 后端通信可处理后端云服务 (Intune) 的任何 SNI 要求。

  • 仅当 Intune 管理门户(现在称为 Microsoft Endpoint Manager)配置 VPN 配置文件时,才支持针对 PerApp VPN 甚至是设备范围的 VPN 的 Intune NAC 检查。最终用户添加的 VPN 配置文件不支持这些功能。最终用户设备必须由其 Intune 管理员从 Microsoft Endpoint Manager 将 VPN 配置文件部署到其设备,才能使用 NAC 检查。

许可

此功能需要 Citrix 企业版许可证。

系统要求

  • Citrix Gateway 版本 11.1 版本 51.21 或更高版本
  • iOS VPN — 10.6 或更高版本
  • Android VPN — 2.0.13 或更高版本
  • Microsoft
    • Azure AD 访问权限(具有租户和管理员权限)
    • 启用 Intune 的租户
  • 防火墙 为从子网 IP 地址到 https://login.microsoftonline.comhttps://graph.windows.net(端口 53 和端口 443)的所有 DNS 和 SSL 流量启用防火墙规则

必备条件

引用

为网关部署添加带有 nFactor 的 Citrix Gateway 虚拟服务器

  1. 导航到 Citrix Gateway 树节点下的虚拟服务器。

    虚拟服务器页面

  2. 在“基本设置”区域中提供所需信息,然后单击“确定”

    基本设置

  3. 选择 服务器证书

    Add server cert

  4. 选择所需的服务器证书并单击 绑定

    绑定服务器证书

  5. 单击继续

  6. 单击继续

  7. 单击继续

  8. 单击“策略”旁边的加号图标 [+] ,然后从“选择 策略”列表中 选择会话”,然后从“选择 类型”列表中选择请求”,然后单击“继续”。

  9. 单击“选择策略”旁边的加号图标 [+]

  10. 创建 Citrix Gateway 会话策略 页面上,提供会话策略的名称。

  11. 单击 配置文件 旁边的加号图标 [+],然后在 创建 Citrix Gateway 会话配置文件 页面上,提供会话配置文件的名称。

  12. 在“客户端体验”选项卡上,单击“无客户端访问”旁边的复选框,然后从列表中选择“关闭”。

  13. 单击“插件类型”旁边的复选框,然后从列表中选择 Windows/macOS。

  14. 单击 高级设置 ,然后选中 客户端选择旁边的复选 框,然后将其值设置为

  15. 在“ 全”选项卡上,单击“默认授权操作”旁边的复选框,然后从列表中选择“允许”。

  16. 在“已发布的应用程序”选项卡上,单击 ICA Proxy 旁边的复选框,然后从列表中选择 关闭

  17. 单击“创建”。

  18. 在“创建 NetScaler Gateway 会话策略”页面的“表达式”区域下N S_TRUE

  19. 单击创建

  20. 单击绑定

  21. 高级设置中选择验证配文件。

    身份验证配置文件

  22. 单击加号图标 [+] 并提供身份验证配置文件的名称。

    添加身份验证配置文件名称

  23. 单击加号图标 [+] 可创建身份验证虚拟服务器。

    创建身份验证虚拟服务器

  24. 基本设置 区域下指定身份验证虚拟服务器的名称和 IP 地址类型,然后单 击确定IP 地址类型也可以是“不可寻址”。

    更新基本设置

  25. 单击 身份验证策略

    身份验证策略

  26. 在“策略绑定”视图下,单击加号图标 [+] 以创建身份验证策略。

    创建身份验证策略

  27. 选择 OAUTH 作为 操作类型 ,然后单击加号图标 [+] 为 NAC 创建 OAuth 操作。

    选择 OAuth 操作类型

  28. 使用客户端 ID客户端密钥租户 ID 创建 OAuth 操作。

    客户端 ID、 客户端钥和 租户 ID 是在在 Azure 门户上配置 NetScaler Gateway 应用后生成的。

    确保在设备上配置了相应的 DNS 域名服务器来解析和访 https://login.microsoftonline.com/https://graph.windows.net/, 以及 *.manage.microsoft.com。

    Azure 门户的 ID 和密码

  29. OAuth 操作创建身份验证策略。

    规则:

    http.req.header("User-Agent").contains("NAC/1.0")&& ((http.req.header("User-Agent").contains("iOS") &&    http.req.header("User-Agent").contains("NSGiOSplugin")) || (http.req.header("User-Agent").contains("Android") &&    http.req.header("User-Agent").contains("CitrixVPN")))
    <!--NeedCopy-->
    

    OAuth 规则

  30. 单击加号图标 [+] 创建 NextFactor 策略标签。

    下一个要素政策标签

  31. 单击加号图标 [+] 可创建登录架构。

    创建登录架构

  32. 选择 noschema 作为身份验证架构,然后单击“创”。

    选择验证架构

  33. 选择创建的登录架构后,单击 继续

    单击“继续”

  34. 选择策略中,选择用于用户登录的现有身份验证策略,或单击加号图标 + 创建身份验证策略。 有关创建身份验证策略的详细信息,请参阅 配置高级身份验证策略。

    选择策略或创建策略

  35. 单击绑定

    单击绑定

  36. 单击 Done(完成)。

    单击“Done”(完成)

  37. 单击绑定

    单击绑定

  38. 单击继续

    单击“继续”

  39. 单击 Done(完成)。

    单击“Done”(完成)

  40. 单击创建

    单击“创建”

  41. 单击确定

    单击“确定”

  42. 单击 Done(完成)。

    单击“Done”(完成)

将身份验证登录架构绑定到身份验证虚拟服务器以指示 VPN 插件作为 /cgi/login 请求的一部分发送设备 ID

  1. 导航到安全 > AAA - 应用程序流量 > 虚拟服务器

    虚拟服务器页面

  2. 选择之前选择的虚拟服务器,然后单击 编辑

    编辑虚拟服务器

  3. 单击 高级设置下的登录架构

    单击高级设置

  4. 单击 登录架构进 行绑定。

    选择登录架构

  5. 单击 [>] 在登录架构策略中选择并绑定现有内部版本以进行 NAC 设备检查。

    绑定登录架构

  6. 选择适合您的身份验证部署的所需登录架构策略,然后单击 选择

    在解释的部署中,使用了单因素身份验证 (LDAP) 以及 NAC OAuth 操作策略,因此选择了 lschem a_single_factor_deviceid

    选择登录政策

  7. 单击绑定

    单击绑定

  8. 单击 Done(完成)。

    单击“Done”(完成)

故障排除

常规问题

问题 解决方案
打开应用程序时,将显示“需要添加策略”消息 在 Microsoft Graph API 中添加策略
存在策略冲突 每个应用程序只允许使用一个策略
您的应用无法连接到内部资源 确保打开了正确的防火墙端口、更正了租户 ID 等

Citrix Gateway 问题

问题 解决方案
为 Azure 上的网关应用程序配置所需的权限不可用。 检查是否有适当的 Intune 许可证可用。尝试使用 manage.windowsazure.com 门户来查看是否可以添加权限。如果问题仍然存在,请与 Microsoft 支持部门联系。
Citrix Gateway 无法访问 login.microsoftonline.comandgraph.windows.net 从 NS Shell,检查您是否能够访问以下 Microsoft 网站:cURL -v -k https://login.microsoftonline.com。然后,检查是否在 Citrix Gateway 上配置了 DNS。还要检查防火墙设置是否正确(如果 DNS 请求被防火墙处理)。
配置 OAuthAction 后,ns.log 中会出现错误。 检查 Intune 许可是否已启用,以及 Azure 网关应用程序是否设置了适当的权限。
Sh OAuthAction 命令不会显示 OAuth 状态为完成。 检查 Azure Gateway 应用程序的 DNS 设置和配置权限。
Android 或 iOS 设备不显示双重身份验证提示。 检查双重设备 ID 登录架构是否绑定到身份验证虚拟服务器。

Citrix Gateway OAuth 状态和错误情况

状态 错误情况
AADFORGRAPH 密钥无效、URL 未解析、连接超时
MDMINFO *manage.microsoft.com已关闭或无法访问
GRAPH 图形端点已关闭,无法访问
CERTFETCH 由于 DNS 错误,无法与“令牌端点:https://login.microsoftonline.com”对话。要验证此配置,请转到 Shell 提示符并键入 cURL https://login.microsoftonline.com。此命令必须验证。

注意: 当 OAuth 状态成功时,状态将显示为“完成”。

Intune 配置检查

确保在 Citrix SSO > 启用网络访问控制 (NAC) 的基础 iOS VPN 配置 中选中 我同意复选框。否则,NAC 检查不起作用。

为 Citrix Gateway 虚拟服务器配置网络访问控制设备检查,以进行单因素身份验证部署