网络访问控制

如果您的网络中存在网络访问控制 (NAC) 设备(例如 Cisco ISE),则可以在 Endpoint Management 中启用过滤器以根据规则或属性设置设备的 NAC 兼容性。如果 Endpoint Management 中的托管设备不满足指定条件, Endpoint Management 会将设备标记为不合规。NAC 设备阻止在您的网络中使用不合规设备。

对于 iOS 设备,可以部署 VPN 策略并启用 NAC 过滤器以阻止安装了不合规应用程序的设备建立 VPN 连接。有关详细信息,请参阅本文中的 iOS NAC 配置

在 Endpoint Management 控制台中,从列表中选择一个或多个条件,以将设备设为“不合规”。

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 设备标记为“不合规”,任何已安装加入黑名单的应用程序的设备或未注册的设备都将被标记为“不合规”。您的网络会阻止这些设备。

iOS NAC 配置

通过 Citrix Gateway 中的策略设置,Endpoint Management 支持将网络访问控制 (NAC) 作为 iOS 设备的端点安全功能。可以启用 NAC 过滤器以阻止安装了不合规应用程序的设备建立 VPN 连接。阻止建立 VPN 连接时,用户将无法通过 VPN 访问任何应用程序或 Web 站点。

例如,在“应用程序访问”策略中,您将某个特定的应用程序标识为禁止或列入黑名单。用户安装该应用程序。当用户打开 Citrix SSO 并尝试连接到 VPN 时,将阻止建立连接。此时将显示以下错误:Error while processing request. Contact your administrator.(处理请求时出错。请与管理员联系。)

配置要求您更新 Citrix Gateway 策略以支持 NAC。在 Endpoint Management 控制台中, 可以启用 NAC 过滤器并部署 VPN 设备策略。要使此功能在设备上起作用,用户应从 Apple 应用商店中安装 Citrix SSO VPN 客户端。

支持的 NAC 过滤器如下:

  • 匿名设备
  • 禁止应用程序
  • 非活动设备
  • 缺少必备应用程序
  • 非推荐应用程序
  • 不合规密码
  • 不合规设备
  • 已吊销状态
  • 已获得 Root 权限的 Android 设备和已越狱的 iOS 设备
  • 未托管设备

必备条件

  • Citrix Gateway
  • 在设备上安装 Citrix SSO 1.0。1

更新 Citrix Gateway 策略以支持 NAC

配置的身份验证和 VPN 会话策略必须是高级策略。在您的虚拟 VPN 服务器上,从控制台窗口中执行以下操作:命令和示例中的 IP 地址是虚构的。

这些步骤更新了与 Endpoint Management 环境集成的 Citrix Gateway。如果您的 Citrix Gateway 设置为 VPN, 而不是 Endpoint Management 环境的一部分, 但可以访问 Endpoint Management: 还可以执行以下步骤。

  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_Endpoint ManagementGateway -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_Endpoint ManagementGateway -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 OK。‘X-Citrix-Device-State’ 标头必须具有值 Compliant。

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

    add authentication Policy <policy name> -rule <rule> -action <web auth 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 <webauth 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

  19. 配置 VPN 设备策略。有关配置 VPN 设备策略的详细信息,请参阅VPN 设备策略

配置网络访问控制

  1. 在 Endpoint Management 控制台中, 单击右上角的齿轮图标。此时将显示设置页面。

  2. 服务器下方,单击网络访问控制。此时将显示网络访问控制页面。

    “网络访问控制”设置图

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

  4. 单击保存

网络访问控制