网络访问控制
您可以使用网络访问控制 (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 Gateway
- 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 访问应用程序或 Web 站点。
-
如果将 NetScaler Gateway 用于 NAC,则可以启用拆分隧道,以防止 NetScaler Gateway 插件向 NetScaler Gateway 发送不必要的网络流量。有关拆分隧道的详细信息,请参阅 配置拆分隧道。
-
支持的 NAC 合规性过滤器
Citrix Endpoint Management 支持以下 NAC 合规性过滤器:
匿名设备: 检查设备是否处于匿名模式。如果设备尝试重新连接时 Citrix Endpoint Management 无法重新验证用户的身份,则可以使用此检查。
禁止的应用程序: 检查设备是否具有应用程序访问策略中定义的禁止的应用程序。有关该策略的更多信息,请参阅 应用程序访问设备策略。
不活动设备: 按照服务器属性中的 Device Inactivity Days Threshold(设备不活动天数阈值)设置的定义,检查设备是否处于不活动状态。有关详细信息,请参阅服务器属性。
缺少所需的应用程序: 检查设备是否缺少在应用程序访问策略中定义的任何所需的应用程序。
非推荐应用程序: 检查设备是否具有应用程序访问策略中定义的非推荐应用程序。
不合规密码: 检查用户密码是否合规。在 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 组件。
-
配置设备策略以支持 NAC:
对于 iOS 设备: 请参阅配置 VPN 设备策略以支持 NAC。
对于 Android 企业设备: 请参阅 为 Citrix SSO 创建 Android Enterprise 托管配置。
对于 Android 设备: 请参阅 配置适用于 Android 的 Citrix SSO 协议。
-
配置 NAC 解决方案:
-
NetScaler Gateway,详见 更新 NetScaler Gateway 策略以支持 NAC。
要求您在设备上安装 Citrix SSO。请参阅 NetScaler Gateway 客户端。
-
ForeScout:请参阅 ForeScout 文档。
-
在 Citrix Endpoint Management 中启用 NAC 过滤器
-
在 Citrix Endpoint Management 控制台中,前往“设置”>“网络访问控制”。
-
选中要启用的设为不合规过滤器旁边的复选框。
-
单击保存。
更新 NetScaler Gateway 策略以支持 NAC
必须在 VPN 虚拟服务器上配置高级(非传统)身份验证和 VPN 会话策略。
以下步骤使用以下任一特征更新 NetScaler Gateway:
- 与 Citrix Endpoint Management 集成。
- 或者,设置为 VPN,不属于 Citrix Endpoint Management 环境,可以访问 Citrix Endpoint Management。
在您的虚拟 VPN 服务器上,从控制台窗口中执行以下操作。命令和示例中的 FQDN 和 IP 地址是虚构的。
-
如果要在您的 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>
-
请通过键入以下命令创建相应的高级会话策略。
add vpn sessionPolicy <policy_name> <rule> <session action>
例如:
add vpn sessionPolicy vpn_nac true AC_OS_10.10.1.1_A_
-
请通过键入以下命令将策略绑定到您的 VPN 虚拟服务器。
bind vpn vserver _XM_EndpointManagement -policy vpn_nac -priority 100
-
请通过键入以下命令创建身份验证虚拟服务器。
add authentication vserver <authentication vserver name> <service type> <ip address>
例如:
add authentication vserver authvs SSL 0.0.0.0
在此示例中,0.0.0.0
表示身份验证虚拟服务器不面向公众开放。 -
请通过键入以下命令将 SSL 证书与虚拟服务器绑定在一起。
bind ssl vserver <authentication vserver name> -certkeyName <Webserver certificate>
例如:
bind ssl vserver authvs -certkeyName Star_mpg_citrix.pfx_CERT_KEY
-
请从 VPN 虚拟服务器将身份验证配置文件关联到身份验证虚拟服务器。首先,请通过键入以下命令创建身份验证配置文件。
add authentication authnProfile <profile name> -authnVsName <authentication vserver name>
例如:
add authentication authnProfile xm_nac_prof -authnVsName authvs
-
请通过键入以下命令将身份验证配置文件与 VPN 虚拟服务器关联。
set vpn vserver <vpn vserver name> -authnProfile <authn profile name>
例如:
set vpn vserver _XM_EndpointManagement -authnProfile xm_nac_prof
-
键入以下内容,检查从 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 <!--NeedCopy-->
-
成功完成上述步骤后,向 Citrix Endpoint Management 创建 Web 身份验证操作。首先,请创建一个策略表达式以从 iOS VPN 插件中导出设备 ID。键入以下命令。
add policy expression xm_deviceid_expression "HTTP.REQ.BODY(10000).TYPECAST_NVLIST_T(\'=\',\'&\').VALUE(\"deviceidvalue\")"
-
键入以下内容将请求发送到 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
。 -
请通过键入以下命令创建一个要将操作关联到的身份验证策略。
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
-
请通过键入以下命令将现有 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
-
请通过键入以下命令添加要将 LDAP 策略关联到的策略标签。
add authentication policylabel <policy_label_name>
例如:
add authentication policylabel ldap_pol_label
-
请通过键入以下命令将 LDAP 策略关联到策略标签。
bind authentication policylabel ldap_pol_label -policyName ldap_xm_test_pol -priority 100 -gotoPriorityExpression NEXT
-
请连接合规设备以执行 NAC 测试,以确认成功的 LDAP 身份验证。键入以下命令。
bind authentication vserver <authentication vserver> -policy <web authentication policy> -priority 100 -nextFactor <ldap policy label> -gotoPriorityExpression END
-
添加 UI 以与身份验证虚拟服务器相关联。请键入以下命令以检索设备 ID。
add authentication loginSchemaPolicy <schema policy>-rule <rule> -action lschema_single_factor_deviceid
-
请通过键入以下命令绑定身份验证虚拟服务器。
bind authentication vserver authvs -policy lschema_xm_nac_pol -priority 100 -gotoPriorityExpression END
-
创建 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