Citrix Endpoint Management

网络访问控制

可以通过网络访问控制 (NAC) 解决方案扩展 Endpoint Management 设备安全评估。您的 NAC 解决方案使用 Endpoint Management 安全评估帮助制定和处理身份验证决策。

将 Endpoint Management 与 NAC 解决方案结合使用可提高 QoS,并对网络内部的设备进行更精细的控制。有关将 NAC 与 Endpoint Management 集成的优势的摘要,请参阅访问控制

Citrix 支持以下与 Endpoint Management 集成的解决方案:

  • Citrix Gateway
  • Cisco Identity Services Engine (ISE)
  • ForeScout

Citrix 不保证其他 NAC 解决方案的集成。

使用网络中的 NAC 设备:

  • Endpoint Management 支持 NAC 作为 iOS、Android Enterprise 和 Android 设备的端点安全功能。

  • 可以在 Endpoint Management 中启用过滤器,以便根据规则或属性将设备设置为对 NAC 合规或不合规 。例如:

    • 如果 Endpoint Management 中的托管设备不符合指定的条件,Endpoint Management 会将该设备标记为不合规。NAC 设备会阻止网络中的不合规设备。

    • 如果 Endpoint Management 中的托管设备安装了不合规的应用程序,NAC 过滤器可以阻止建立 VPN 连接。因此,不合规的用户设备无法通过 VPN 访问应用程序或 Web 站点。

    • 如果将 Citrix Gateway 用于 NAC,则可以启用拆分隧道,以防止 Citrix Gateway 插件向 Citrix Gateway 发送不必要的网络流量。有关拆分隧道的详细信息,请参阅 配置拆分隧道

支持的 NAC 合规性过滤器

Endpoint Management 支持以下 NAC 合规性过滤器:

匿名设备: 检查设备是否处于匿名模式。如果在设备尝试重新连接时 Endpoint Management 无法重新对用户进行身份验证,则可以执行此检查。

Samsung Knox 认证失败: 检查设备是否无法通过 Samsung Knox 认证服务器的查询。

禁止的应用程序: 检查设备是否具有应用程序访问策略中定义的禁止的应用程序。有关该策略的详细信息,请参阅应用程序访问设备策略

不活动设备: 按照服务器属性Device Inactivity Days Threshold(设备不活动天数阈值)设置的定义,检查设备是否处于不活动状态。有关详细信息,请参阅服务器属性

缺少所需的应用程序: 检查设备是否缺少在应用程序访问策略中定义的任何所需的应用程序。

非推荐应用程序: 检查设备是否具有应用程序访问策略中定义的非推荐应用程序。

不合规密码: 检查用户密码是否合规。在 iOS 和 Android 设备上,Endpoint Management 可以确定设备上的当前密码是否符合发送到该设备的通行码策略。例如,在 iOS 设备上,如果 Endpoint Management 向该设备发送了通行码策略,则用户可在 60 分钟内设置密码。在用户设置密码之前,通行码可能不合规。

不合规设备: 根据“不合规设备”属性检查设备是否不合规。通常情况下,使用 Endpoint Management API 的自动操作或第三方会更改该属性。

吊销状态: 检查设备证书是否已吊销。再次授权之前,已吊销的设备无法重新注册。

已获得 root 权限的 Android 设备和已越狱的 iOS 设备: 检查 Android 设备或 iOS 设备是否已被越狱。

非托管设备: 检查 Endpoint Management 是否正在管理设备。例如,在 MAM 下注册的设备或已取消注册的设备为非托管设备。

注意:

“隐式合规/不合规”过滤器仅在 Endpoint Management 管理的设备上设置默认值。例如,任何安装了阻止的应用程序或未注册的设备都将被标记为“不合规”。NAC 设备会阻止您的网络中的这些设备。

配置概述

我们建议您按照列出的顺序配置 NAC 组件。在配置 NAC 设备之前,您在 Endpoint Management 中配置的设备策略和 NAC 过滤器不会被强制执行。

  1. 配置设备策略以支持 NAC:

    有关 iOS 设备的信息: 请参阅配置 VPN 设备策略以支持 NAC

    有关 Android Enterprise 设备的信息: 请参阅为 Citrix SSO 创建 Android Enterprise 托管配置

    有关 Android 设备的信息: 请参阅为 Android 配置 Citrix SSO 协议

  2. 在 Endpoint Management 中启用 NAC 过滤器

  3. 配置 NAC 解决方案:

在 Endpoint Management 中启用 NAC 过滤器

  1. 在 Endpoint Management 控制台中,转到设置 > 网络访问控制

    “网络访问控制”设置图

  2. 选中要启用的设为不合规过滤器旁边的复选框。

  3. 单击保存

更新 Citrix Gateway 策略以支持 NAC

必须在 VPN 虚拟服务器上配置高级(非传统)身份验证和 VPN 会话策略。

以下步骤使用以下任一特性更新 Citrix Gateway:

  • 与 Endpoint Management 集成。
  • 或者,为 VPN 进行设置,而非作为 Endpoint Management 环境的一部分,并且可以访问 Endpoint Management。

在您的虚拟 VPN 服务器上,从控制台窗口中执行以下操作:命令和示例中的 IP 地址是虚构的。

  1. 如果要在您的 VPN 虚拟服务器上使用经典策略,请删除并取消绑定所有经典策略。要进行检查,请键入:

    show vpn vserver <VPN_VServer>

    删除包含单词 Classic 的所有结果。例如: VPN Session Policy Name: PL_OS_10.10.1.1 Type: Classic Priority: 0

    要删除策略,请键入:

    unbind vpn vserver <VPN_VServer> -policy <policy_name>

  2. 请通过键入以下命令创建相应的高级会话策略。

    add vpn sessionPolicy <policy_name> <rule> <session action>

    例如: add vpn sessionPolicy vpn_nac true AC_OS_10.10.1.1_A_

  3. 请通过键入以下命令将策略绑定到您的 VPN 虚拟服务器。

    bind vpn vserver _XM_EndpointManagement -policy vpn_nac -priority 100

  4. 请通过键入以下命令创建身份验证虚拟服务器。

    add authentication vserver <authentication vserver name> <service type> <ip address>

    例如:add authentication vserver authvs SSL 0.0.0.0 在此示例中,0.0.0.0 表示身份验证虚拟服务器不面向公众开放。

  5. 请通过键入以下命令将 SSL 证书与虚拟服务器绑定在一起。

    bind ssl vserver <authentication vserver name> -certkeyName <Webserver certificate>

    例如: bind ssl vserver authvs -certkeyName Star_mpg_citrix.pfx_CERT_KEY

  6. 请从 VPN 虚拟服务器将身份验证配置文件关联到身份验证虚拟服务器。首先,请通过键入以下命令创建身份验证配置文件。

    add authentication authnProfile <profile name> -authnVsName <authentication vserver name>

    例如:

    add authentication authnProfile xm_nac_prof -authnVsName authvs

  7. 请通过键入以下命令将身份验证配置文件与 VPN 虚拟服务器关联。

    set vpn vserver <vpn vserver name> -authnProfile <authn profile name>

    例如:

    set vpn vserver _XM_EndpointManagement -authnProfile xm_nac_prof

  8. 请通过键入以下命令检查从 Citrix Gateway 到设备的连接。

    curl -v -k https://<Endpoint Management_server>:4443/Citrix/Device/v1/Check --header "X-Citrix-VPN-Device-ID: deviceid_<device_id>"

    例如,此查询通过获取在环境中注册的第一台设备 (deviceid_1) 的合规性状态来验证连接性:

    curl -v -k https://10.10.1.1:4443/Citrix/Device/v1/Check --header "X-Citrix-VPN-Device-ID: deviceid_1"

    成功的结果与以下示例类似。

    HTTP/1.1 200 OK
    < Server: Apache-Coyote/1.1
    < X-Citrix-Device-State: Non Compliant
    < Set-Cookie: ACNODEID=181311111;Path=/; HttpOnly; Secure
    
  9. 上一个步骤成功时,请创建对 Endpoint Management 的 Web 身份验证操作。首先,请创建一个策略表达式以从 iOS VPN 插件中导出设备 ID。键入以下命令。

    add policy expression xm_deviceid_expression "HTTP.REQ.BODY(10000).TYPECAST_NVLIST_T(\'=\',\'&\').VALUE(\"deviceidvalue\")"

  10. 请通过键入以下命令向 Endpoint Management 发送请求。在此示例中,Endpoint Management IP 为 10.207.87.82

    add authentication webAuthAction xm_nac -serverIP 10.207.87.82 -serverPort 4443 -fullReqExpr q{"GET /Citrix/Device/v1/Check HTTP/1.1\r\n" + "Host: 10.207.87.82:4443\r\n" + "X-Citrix-VPN-Device-ID: " + xm_deviceid_expression + "\r\n\r\n"} -scheme https -successRule "HTTP.RES.STATUS.EQ(\"200\") &&HTTP.RES.HEADER(\"X-Citrix-Device-State\").EQ(\"Compliant\")"

    Endpoint Management NAC 的成功输出为 HTTP status 200 OKX-Citrix-Device-State 标头的值必须为 Compliant

  11. 请通过键入以下命令创建一个要将操作关联到的身份验证策略。

    add authentication Policy <policy name> -rule <rule> -action <web authentication action>

    例如: add authentication Policy xm_nac_webauth_pol -rule "HTTP.REQ.HEADER(\"User-Agent\").CONTAINS(\"NAC\")" -action xm_nac

  12. 请通过键入以下命令将现有 LDAP 策略转换为高级策略。

    add authentication Policy <policy_name> -rule <rule> -action <LDAP action name>

    例如: add authentication Policy ldap_xm_test_pol -rule true -action 10.10.1.1_LDAP

  13. 请通过键入以下命令添加要将 LDAP 策略关联到的策略标签。

    add authentication policylabel <policy_label_name>

    例如: add authentication policylabel ldap_pol_label

  14. 请通过键入以下命令将 LDAP 策略关联到策略标签。

    bind authentication policylabel ldap_pol_label -policyName ldap_xm_test_pol -priority 100 -gotoPriorityExpression NEXT

  15. 请连接合规设备以执行 NAC 测试,以确认成功的 LDAP 身份验证。键入以下命令。

    bind authentication vserver <authentication vserver> -policy <web authentication policy> -priority 100 -nextFactor <ldap policy label> -gotoPriorityExpression END

  16. 添加 UI 以与身份验证虚拟服务器相关联。请键入以下命令以检索设备 ID。

    add authentication loginSchemaPolicy <schema policy>-rule <rule> -action lschema_single_factor_deviceid

  17. 请通过键入以下命令绑定身份验证虚拟服务器。

    bind authentication vserver authvs -policy lschema_xm_nac_pol -priority 100 -gotoPriorityExpression END

  18. 创建 LDAP 高级身份验证策略以启用 Secure Hub 连接。键入以下命令。

    add authentication Policy ldap_xm_test_pol -rule "HTTP.REQ.HEADER(\"User-Agent\").CONTAINS(\"NAC\").NOT" -action 10.200.80.60_LDAP

    bind authentication vserver authvs -policy ldap_xm_test_pol -priority 110 -gotoPriorityExpression NEXT

网络访问控制