网络访问控制
您可以使用网络访问控制(NAC)解决方案为Android和Apple设备扩展端点管理设备安全评估。您的NAC解决方案使用端点管理安全评估来促进和处理身份验证决策。配置NAC设备后,将强制执行在端点管理中配置的设备策略和NAC筛选器。
在NAC解决方案中使用端点管理可增加QoS和对网络内部设备的更细粒度控制。有关集成NAC与端点管理的优点的摘要,请参见访问控制.
Citrix支持以下解决方案与端点管理集成:
- Citrix网关
- 思科身份识别服务引擎(ISE)
- ForeScout
思杰不保证与其他NAC解决方案的集成。
在网络中使用NAC设备时:
端点管理支持NAC作为iOS、Android企业和Android设备的端点安全功能。
您可以在端点管理中启用过滤器,根据规则或属性将设备设置为符合或不符合NAC。例如:
如果端点管理中的被管理设备不符合指定的标准,则端点管理将该设备标记为不合规。NAC设备阻止网络上不兼容的设备。
如果端点管理中的受管设备安装了不合规的应用程序,NAC过滤器可以阻止VPN连接。因此,不兼容的用户设备将无法通过VPN访问应用程序或网站。
如果您使用Citrix Gateway进行NAC,则可以启用分割隧道,以防止Citrix Gateway插件向Citrix Gateway发送不必要的网络流量。有关分割隧道的更多信息,请参见配置分裂隧道.
支持NAC合规过滤器
端点管理支持以下NAC合规过滤器:
匿名的设备:检查设备是否处于匿名模式。如果终端管理在设备试图重新连接时无法重新验证用户,则可以使用此检查。
三星Knox认证失败:检查设备对三星Knox认证服务器的查询是否失败。
禁止应用程序:检查设备是否有应用程序访问策略中定义的禁止应用程序。有关该策略的详细信息,请参见App接入设备策略.
不活跃的设备:属性所定义的设备是否处于非活动状态设备不活动天数阈值设置在服务器属性.详细信息请参见服务器属性.
缺少必要的应用程序:根据应用程序访问策略的定义,检查设备是否缺少任何必需的应用程序。
Non-suggested应用:检查设备是否有应用程序访问策略中定义的非建议应用程序。
不合规的密码:检查用户密码是否符合要求。在iOS和Android设备上,端点管理可以确定当前设备上的密码是否符合发送到设备的密码策略。例如,在iOS系统上,如果端点管理向设备发送密码策略,用户有60分钟的时间设置密码。在用户设置密码之前,密码可能不符合要求。
不合规设备:根据out of compliance设备属性检查设备是否不符合法规。通常,自动操作或第三方使用端点管理api更改该属性。
撤销状态:检查设备证书是否被吊销。被撤销的设备在再次获得授权之前不能重新注册。
Android和越狱iOS设备:查看Android或iOS设备是否越狱成功。
非托管设备:检查终端管理是否正在管理设备。例如,在MAM中注册的设备或未注册的设备不受管理。
注意:
隐式合规/不合规过滤器仅在Endpoint Management正在管理的设备上设置默认值。例如,任何安装了阻止应用程序或未注册的设备都会被标记为“不合规”。NAC设备将这些设备从您的网络中屏蔽。
配置概述
我们建议您按照列出的顺序配置NAC组件。
配置设备策略支持NAC:
对于iOS设备:看到配置VPN设备策略支持NAC.
对于Android企业设备:看到为Citrix SSO创建一个Android企业管理配置.
Android设备:看到配置Android系统的Citrix单点登录协议.
配置NAC解决方案:
Citrix Gateway,详见更新Citrix Gateway策略以支持NAC.
需要在设备上安装Citrix SSO。看到Citrix Gateway客户端.
- Cisco ISE:请参见Cisco文档。
- ForeScout:参见ForeScout文档。
在端点管理中启用NAC过滤器
在端点管理控制台中,转到>网络访问控制.
属性的复选框设置为不兼容要启用的过滤器。
点击保存.
更新Citrix Gateway策略以支持NAC
需要在VPN虚拟服务器上配置高级(非经典)认证和VPN会话策略。
以下步骤使用以下特征之一更新Citrix Gateway:
- 与端点管理集成。
- 或者,是为VPN设置的,不是端点管理环境的一部分,并且可以到达端点管理。
在您的虚拟VPN服务器上,从控制台窗口执行以下操作。命令和示例中的fqdn和IP地址均为虚构。
如果您在VPN虚拟服务器上使用经典策略,请删除并解绑定所有经典策略。要检查,输入:
show vpn vserver
.使用实例 删除包含“经典”一词的任何结果。例如:
VPN会话策略名称:PL_OS_10.10.1.1类型:Classic优先级:0
要删除策略,输入:
unbind vpn vserver
-policy .使用实例 输入以下命令创建相应的高级会话策略。
add vpn sessionPolicy
<会话动作> .使用实例 例如:
add vpn sessionPolicy vpn_nac true AC_OS_10.10.1.1_A_ .使用实例
通过输入以下命令将策略绑定到您的VPN虚拟服务器。
bind vpn vserver _XM_EndpointManagement -policy vpn_nac -priority 100
输入以下命令创建一个身份验证虚拟服务器。
添加认证vserver <认证vserver名称> <服务类型>
例如:
添加认证vserver authvs SSL 0.0.0.0
在这个例子中,0.0.0.0
意味着身份验证虚拟服务器不是面向公众的。输入以下命令将SSL证书绑定到虚拟服务器。
bind ssl vserver <认证vserver名称> -certkeyName
. bind ssl vserver <认证vserver名称> 例如:
绑定ssl vserver authvs -certkeyName Star_mpg_citrix.pfx_CERT_KEY
在VPN虚拟服务器上关联认证配置文件和认证虚拟服务器。首先,输入以下内容创建身份验证配置文件。
add authentication authnProfile <配置文件名称> -authnVsName <认证vserver名称> . add authentication authnProfile <配置文件名称>
例如:
add authentication authnProfile xm_nac_prof -authnVsName authvs
输入以下命令将认证配置文件与VPN虚拟服务器关联。
set vpn vserver
-authnProfile . set vpn vserver 例如:
set vpn vserver _XM_EndpointManagement -authnProfile xm_nac_prof . sh
输入以下命令检查从Citrix Gateway到设备的连接。
curl -v -k https://
:4443/Citrix/Device/v1/Check——header "X-Citrix-VPN-Device-ID: deviceid_ " 例如,该查询通过获取第一个设备的遵从状态(
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;安全的< !——NeedCopy >
当上述步骤执行成功后,在Endpoint Management中创建web认证动作。首先,创建一个策略表达式从iOS VPN插件中提取设备ID。输入以下内容。
添加策略表达式xm_deviceid_expression "HTTP.REQ.BODY(10000).TYPECAST_NVLIST_T(\'=\',\'&\').VALUE(\"deviceidvalue\")"
输入以下内容将请求发送到Endpoint Management。本例中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\")"
端点管理NAC的成功输出为
HTTP状态200 OK
.的X-Citrix-Device-State
的值兼容的
.通过键入以下内容创建与操作关联的身份验证策略。
添加身份验证策略名称> <政策规则<规定>动作片< web身份验证行动>
例如:
添加认证策略xm_nac_webauth_pol "HTTP.REQ.HEADER(\"User-Agent\").CONTAINS(\"NAC\")"动作片xm_nac
输入以下命令将现有LDAP策略转换为高级策略。
添加身份验证策略< policy_name >规则<规定>动作片< LDAP动作名称>
例如:
add authentication Policy ldap_xm_test_pol -rule true -action 10.10.1.1_LDAP . add authentication Policy ldap_xm_test_pol
添加一个策略标签,输入以下命令将LDAP策略与之关联。
添加认证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
-policy -priority 100 -nextFactor -gotoPriorityExpression END 添加与身份验证虚拟服务器关联的UI。输入以下命令检索设备ID。
add authentication loginSchemaPolicy
-rule -action lschema_single_factor_deviceid . add authentication loginSchemaPolicy 输入以下命令绑定身份验证虚拟服务器。
bind authentication vserver authvs -policy lschema_xm_nac_pol -priority 100 -gotoPriorityExpression结束
创建LDAP高级身份验证策略,启用安全集线器连接。输入以下内容。
添加认证策略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