网络访问控制

Last published : Oct 21, 2026
您可以使用您的网络访问控制 (NAC) 解决方案来扩展 Citrix Endpoint Management 针对 Android 和 Apple 设备的设备安全评估。您的 NAC 解决方案使用 Citrix Endpoint Management 安全评估来促进和处理身份验证决策。配置 NAC 设备后,您在 Citrix Endpoint Management 中配置的设备策略和 NAC 筛选器将得到强制执行。
将 Citrix Endpoint Management 与 NAC 解决方案结合使用,可以为网络内部的设备添加 QoS 和更精细的控制。有关将 NAC 与 Citrix Endpoint Management 集成的优势摘要,请参阅访问控制。
Citrix 支持以下解决方案与 Citrix Endpoint Management 集成:
  • NetScaler 网关
  • ForeScout
Citrix® 不保证与其他 NAC 解决方案的集成。
在您的网络中使用 NAC 设备时:
  • Citrix Endpoint Management 支持 NAC 作为 iOS、Android Enterprise 和 Android 设备的端点安全功能。
  • 您可以在 Citrix Endpoint Management 中启用筛选器,根据规则或属性将设备设置为符合或不符合 NAC 规范。例如:
    • 如果 Citrix Endpoint Management 中的托管设备不符合指定条件,Citrix Endpoint Management 会将该设备标记为不合规。NAC 设备会阻止网络上的不合规设备。
    • 如果 Citrix Endpoint Management 中的托管设备安装了不合规的应用程序,NAC 筛选器可以阻止 VPN 连接。因此,不合规的用户设备无法通过 VPN 访问应用程序或网站。
    • 如果您将 NetScaler Gateway 用于 NAC,可以启用拆分隧道以防止 NetScaler Gateway 插件向 NetScaler Gateway 发送不必要的网络流量。有关拆分隧道的更多信息,请参阅配置拆分隧道。

支持的 NAC 合规性筛选器

Citrix Endpoint Management 支持以下 NAC 合规性筛选器:
匿名设备: 检查设备是否处于匿名模式。如果设备尝试重新连接时 Citrix Endpoint Management 无法重新验证用户身份,则此检查可用。
禁用应用: 检查设备是否具有应用访问策略中定义的禁用应用。有关该策略的详细信息,请参阅 应用访问设备策略。
非活动设备: 检查设备是否处于非活动状态,此状态由服务器属性中的设备非活动天数阈值设置定义。有关详细信息,请参阅 服务器属性。
缺少所需应用: 检查设备是否缺少应用访问策略中定义的任何所需应用。
非建议应用: 检查设备是否具有应用访问策略中定义的非建议应用。
不合规密码: 检查用户密码是否合规。在 iOS 和 Android 设备上,Citrix Endpoint Management 可以确定设备上当前密码是否符合发送到设备的密码策略。例如,在 iOS 上,如果 Citrix Endpoint Management 向设备发送密码策略,用户有 60 分钟的时间来设置密码。在用户设置密码之前,密码可能不合规。
不合规设备: 根据不合规设备属性,检查设备是否不合规。通常,自动化操作或使用 Citrix Endpoint Management API 的第三方会更改该属性。
已吊销状态: 检查设备证书是否已吊销。已吊销的设备在再次获得授权之前无法重新注册。
已 Root 的 Android 设备和已越狱的 iOS 设备: 检查 Android 或 iOS 设备是否已越狱。
未管理设备: 检查 Citrix Endpoint Management 是否正在管理设备。例如,已注册 MAM 的设备或未注册的设备不受管理。
注意:
隐式合规/不合规筛选器仅在 Citrix Endpoint Management 正在管理的设备上设置默认值。例如,任何安装了被阻止应用或未注册的设备都将被标记为“不合规”。NAC 设备会阻止这些设备访问您的网络。

配置概述

建议您按所列顺序配置 NAC 组件。
  1. 配置设备策略以支持 NAC:
    对于 iOS 设备: 请参阅 配置 VPN 设备策略以支持 NAC。
    对于 Android Enterprise 设备: 请参阅 为 Citrix SSO 创建 Android Enterprise 托管配置。
    对于 Android 设备: 请参阅 配置适用于 Android 的 Citrix SSO 协议。
  2. 配置 NAC 解决方案:

在 Citrix Endpoint Management 中启用 NAC 筛选器

  1. 在 Citrix Endpoint Management 控制台中,转到 设置 > 网络访问控制。
    网络访问控制设置的图像
  2. 选中要启用的 设置为不合规 筛选器对应的复选框。
  3. 点击 保存。

更新 NetScaler Gateway 策略以支持 NAC

您必须在 VPN 虚拟服务器上配置高级(非经典)身份验证和 VPN 会话策略。
这些步骤将更新具有以下任一特征的 NetScaler Gateway:
  • 与 Citrix Endpoint Management 进行了集成。
  • 或者,已设置为 VPN,不属于 Citrix Endpoint Management 环境,并且可以访问 Citrix Endpoint Management。
在控制台窗口中,在您的虚拟 VPN 服务器上执行以下操作。命令和示例中的 FQDN 和 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. 通过键入以下内容检查从 NetScaler 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. 当前一步成功后,创建到 Citrix Endpoint Management 的 Web 身份验证操作。首先,创建一个策略表达式以从 iOS VPN 插件中提取设备 ID。键入以下内容。
    add policy expression xm_deviceid_expression "HTTP.REQ.BODY(10000).TYPECAST_NVLIST_T(\'=\',\'&\').VALUE(\"deviceidvalue\")"
  10. 通过键入以下内容将请求发送到 Citrix Endpoint Management。在此示例中,Citrix Endpoint Management IP 为 10.207.87.82,FQDN 为 example.em.cloud.com:4443。
    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: example.em.cloud.com: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\")"
    Citrix Endpoint Management NAC 的成功输出为 HTTP status 200 OK。X-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 高级身份验证策略以启用 Citrix 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