简介
身份服务引擎(ISE)提供安全评估功能,要求使用网络准入控制(NAC)代理(适用于Microsoft Windows、Macintosh或通过Webagent)或AnyConnect版本4.0。AnyConnect版本4.0 ISE终端安全评估模块的工作方式与NAC代理完全相同,因此在本文档中称为NAC代理。客户端状态故障的最常见症状是NAC代理未弹出,因为工作场景总是导致NAC代理窗口弹出并分析您的PC。本文档帮助您缩小可能导致安全评估失败的许多原因的范围,这意味着NAC代理不会弹出。它并非详尽无遗,因为NAC代理日志只能由思科技术支持中心(TAC)进行解码,而且可能的根本原因有很多;但它旨在澄清情况并进一步查明问题,而不仅仅是“代理不会弹出状态分析”,并且可能有助于您解决最常见的原因。
先决条件
要求
本文档中列出的场景、症状和步骤供您在初始设置完成后进行故障排除。有关初始配置,请参阅Cisco.com上的思科ISE配置指南上的终端安全评估服务。
使用的组件
本文档中的信息基于以下软件和硬件版本:
- ISE版本1.2.x
- 用于ISE的NAC代理版本4.9.x
- AnyConnect 版本 4.0
注意:此信息还应适用于ISE的其他版本,除非版本说明指明了重大的行为更改。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
故障排除方法
什么使代理程序弹出?
代理在发现ISE节点时弹出。如果代理检测到它没有完全网络访问权限并且处于安全评估重定向场景中,它会持续查找ISE节点。
Cisco.com文档说明了代理发现过程的详细信息:身份服务引擎的网络准入控制(NAC)代理发现过程。为了避免内容重复,本文档仅讨论要点。
当客户端进行连接时,它将进行RADIUS身份验证(MAC过滤或802.1x),最后,ISE将重定向访问控制列表(ACL)和重定向URL返回网络设备(交换机、自适应安全设备(ASA)或无线控制器),以便限制客户端流量仅允许其获取IP地址和域名服务器(DNS)解析。来自客户端的所有HTTP(S)流量重定向至ISE上以CPP(客户端状态和调配)结尾的唯一URL,但流向ISE门户本身的流量除外。NAC代理向默认网关发送常规HTTP GET数据包。如果代理未收到任何应答或除CPP重定向之外的任何其他应答,则它认为自己具有完全连接,并且不会继续进行状态分析。如果它收到重定向到特定ISE节点末尾的CPP URL的HTTP响应,则继续终端安全评估流程并联系该ISE节点。它仅在成功收到来自该ISE节点的终端安全评估详细信息时才会弹出并启动分析。
NAC代理还连接已配置的发现主机IP地址(它不希望配置多个地址)。它期望在那里也被重定向,以便获取具有会话ID的重定向URL。如果发现IP地址是ISE节点,则不会继续执行,因为它会等待重定向以获取正确的会话ID。因此,通常不需要发现主机,但如果设置为重定向ACL范围内的任何IP地址以触发重定向(例如,在VPN方案中),发现主机可能会非常有用。
可能的原因
不发生重定向
这是迄今为止最常见的原因。为了验证或失效,请在代理未弹出的PC上打开浏览器,并查看在您键入任何URL时是否重定向到状态代理下载页面。您也可以键入随机IP地址(例如http://1.2.3.4)以避免可能的DNS问题(如果IP地址重定向但网站名称不重定向,则可以查看DNS)。
如果您被重定向,您应该收集代理日志和ISE支持捆绑包(使用状态和swiss模块进入调试模式)并联系思科TAC。这表示代理发现ISE节点,但在获取状态数据的过程中出现了故障。
如果未发生重定向,则您有第一个原因,这仍需要进一步调查根本原因。首先检查网络接入设备(无线LAN控制器(WLC)或交换机)上的配置,然后转到本文档中的下一项。
属性未安装在网络设备上
此问题是重定向未发生方案的子案例。如果未发生重定向,第一件事就是验证(因为问题发生在给定客户端上)交换机或无线接入层是否将客户端正确置于正确的状态。
以下是连接客户端的交换机上所执行的show access-session interface <interface number> detail 命令(在某些平台上,您可能在终端添加detail)的输出示例。您必须验证状态为“Authz success”,URL重定向ACL是否正确指向所需的重定向ACL,以及URL重定向是否指向在URL结尾带有CPP的预期ISE节点。ACS ACL字段不是必填字段,因为它仅在您在ISE上的授权配置文件中配置了可下载访问列表时才显示。但是,必须查看它并验证与重定向ACL没有冲突(如有疑问,请参阅有关状态配置的文档)。
01-SW3750-access#show access-sess gi1/0/12 det
Interface: GigabitEthernet1/0/12
MAC Address: 000f.b049.5c4b
IP Address: 192.168.33.201
User-Name: 00-0F-B0-49-5C-4B
Status: Authz Success
Domain: DATA
Security Policy: Should Secure
Security Status: Unsecure
Oper host mode: single-host
Oper control dir: both
Authorized By: Authentication Server
Vlan Policy: N/A
ACS ACL: xACSACLx-IP-myDACL-51519b43
URL Redirect ACL: redirect
URL Redirect: https://ISE2.wlaaan.com:8443/guestportal/gateway?
sessionId=C0A82102000002D8489E0E84&action=cpp
Session timeout: N/A
Idle timeout: N/A
Common Session ID: C0A82102000002D8489E0E84
Acct Session ID: 0x000002FA
Handle: 0xF60002D9
Runnable methods list:
Method State
mab Authc Success
要对运行AireOS的WLC进行故障排除,请输入show wireless client detail <mac address>,并输入show wireless client mac-address <mac address> detail,以便对运行Cisco IOS-XE的WLC进行故障排除。显示类似数据,您必须验证重定向URL和ACL以及客户端是否处于“POSTURE_REQD”状态或类似状态(取决于软件版本)。
如果属性不存在,您必须在您正在对其进行故障排除的客户端的ISE中打开身份验证详细信息(导航到操作>身份验证),并在“结果”部分验证重定向属性已发送。如果未发送这些属性,您应查看授权策略,以便了解为什么没有返回此特定客户端的属性。可能有一个条件不匹配,因此最好逐个排除这些条件的故障。
请记住,关于重定向ACL,Cisco IOS®会对permit语句进行重定向(因此,需要拒绝ISE和DNS IP地址),而WLC上的AireOS会对deny语句进行重定向(因此,对于ISE和DNS是允许的)。
属性已就绪,但网络设备未重定向
本例中的主要原因是配置问题。您应该根据Cisco.com上的配置指南和配置示例来查看网络设备的配置。如果是这种情况,问题通常存在于网络设备的所有端口或接入点(AP)中。否则,问题可能只出现在某些交换机端口或某些AP上。如果出现这种情况,您应该将发生问题的端口或AP的配置与终端安全评估运行良好的端口或AP进行比较。
FlexConnect AP是敏感的,因为它们可能都具有独特的配置,并且在一些AP的ACL或VLAN中很容易出错,而在另一些的AP中则不然。
另一个常见问题是客户端VLAN没有SVI。这只适用于交换机,Catalyst 3750系列交换机上的ISE流量重定向中对此进行了详细讨论。从属性的角度来看,一切可能看起来都很好。
干扰可下载访问列表(DACL)
如果在重定向属性的同时,将DACL推回交换机(或无线控制器的Airespace-ACL),则它可能会阻止您的重定向。DACL首先应用,并确定哪些内容已完全丢弃以及哪些内容将继续处理。然后应用重定向ACL并确定重定向的内容。
具体来说,在大多数情况下,您需要允许DACL中的所有HTTP和HTTPS流量。如果阻止它,将不会重定向,因为在此之前会丢弃它。这不是安全问题,因为流量以后将主要在重定向ACL上进行重定向,因此网络上实际上不允许该流量;但是,您需要在DACL中允许这两种类型的流量以便它们有机会在之后命中重定向ACL。
错误的NAC代理版本
很容易忘记特定NAC代理版本根据特定ISE版本进行验证。许多管理员升级其ISE集群并忘记在客户端调配结果数据库中上传相关NAC代理版本。
如果您的ISE代码使用过时的NAC代理版本,请注意它可能有效,但也可能无效。因此,难怪有些客户在工作,有些则不工作。验证的一种方法是转至ISE版本的Cisco.com下载部分,并检查存在哪些NAC代理版本。通常,每个ISE版本都支持多个版本。此网页收集所有矩阵:Cisco ISE兼容性信息。
客户端正在使用HTTP Web代理
HTTP Web代理的概念是客户端不会自行解析网站DNS IP地址,也不会直接与网站联系;相反,它们只是将请求发送到代理服务器,由代理服务器进行处理。常用配置的典型问题是,客户端通过直接将网站的HTTP GET发送到代理服务器来解决网站(例如www.cisco.com),该代理服务器被拦截并正确重定向到ISE门户。但是,客户端继续将该请求发送到代理,而不是随后发送下一个HTTP GET到ISE门户IP地址。
如果您决定不重定向流向代理的HTTP流量,则您的用户无需身份验证或安全状态评估,即可直接访问整个互联网(因为所有流量都通过代理)。解决方案是实际修改客户端的浏览器设置,并在代理设置中为ISE IP地址添加例外。这样,当客户端必须到达ISE时,它会将请求直接发送到ISE,而不是发送到代理。这避免了无限循环,即客户端不断被重定向,但从不看到登录页。
请注意,NAC代理不受系统中输入的代理设置的影响,它继续正常运行。这意味着,如果您使用Web代理,则不能同时使NAC代理发现工作(因为它使用端口80)和让用户在浏览时重定向到状态页面后自行安装代理(因为使用代理端口和典型交换机无法在多个端口上重定向)。
发现主机在NAC代理中配置
特别是在ISE版本1.2之后,建议不要在NAC代理上配置任何发现主机,除非您对其执行和不执行操作具有专业知识。NAC代理应通过HTTP发现来发现验证客户端设备的ISE节点。如果依赖发现主机,您可能让NAC代理联系另一个ISE节点,而不是验证设备且不起作用的ISE节点。ISE版本1.2拒绝通过发现主机进程发现节点的代理,因为它希望NAC代理从重定向URL获取会话ID,因此不鼓励使用此方法。
在某些情况下,可能需要配置发现主机。然后,应该使用由重定向ACL重定向的任何IP地址(即使不存在)配置该客户端,理想情况下,该客户端不应与客户端位于同一子网中(否则,客户端将无限期地ARP它,并且从不发送HTTP发现数据包)。
NAC代理有时不会弹出
如果问题较为间歇并且拔出/重新插入电缆/wifi连接等操作使其起作用,则问题更为微妙。这可能是通过RADIUS记账在ISE上删除会话ID的RADIUS会话ID的问题(禁用记账以查看它是否有所更改)。
如果您使用ISE版本1.2,另一种可能是客户端发送许多HTTP数据包,因此没有来自浏览器或NAC代理。ISE版本1.2扫描HTTP数据包中的user-agent字段,以查看其是否来自NAC代理或浏览器,但许多其他应用发送HTTP流量时带有user-agent字段,且未提及任何操作系统或有用信息。然后,ISE版本1.2发送授权更改以断开客户端连接。ISE版本1.3不受此问题影响,因为它的工作方式不同。解决方案是升级到版本1.3或允许重定向ACL中所有检测到的应用,以便它们不会重定向到ISE。
反向问题:座席重复弹出
当代理弹出、执行状态分析、验证客户端,然后稍后再次弹出(而不是允许网络连接并保持静默)时,可能会出现相反的问题。发生这种情况的原因是,即使在终端安全评估成功后,HTTP流量仍会被重定向到ISE上的CPP门户。接下来,最好通过ISE授权策略,检查您是否有在看到合规客户端而不是CPP重定向时发送允许访问(或具有可能的ACL和VLAN的类似规则)的规则。
相关信息