身份服务引擎(ISE)3.3中的无代理状态功能在会话重新身份验证事件后无法触发。在初始身份验证期间,无代理状态工作正常,终端变得合规。但是,当发生重新身份验证时,终端会收到RADIUS记帐临时更新事件而不是记帐开始事件,导致无代理状态流不被调用。因此,终端匹配未知的终端安全评估策略,并保持未知的终端安全评估状态,从而影响受影响设备的网络访问。
问题表现在终端在重新身份验证后陷入“状态待定”或“未知”状态,在报告的环境中,1200个终端中有大约800个受到影响。日志分析显示,在重新身份验证期间,ISE收到agentlessEnabled=true的ACCOUNTING_UPDATE事件,但不会为现有会话ID重新调用状态流。
此行为在ISE中是预期行为,且是设计行为。无代理状态仅由RADIUS Accounting Start事件触发,并且当框架IP地址保持不变时,不会在会话重新身份验证期间由记帐临时更新事件重新调用。
ISE NetAccessEventHandler代码路径仅对新的RADIUS Accounting-Start数据包重新处理无代理状态流。在重新身份验证期间,网络设备通常发送具有相同Acct-Session-Id的Accounting Interim-Update数据包,这会导致shouldInvokePostureFlow()函数返回false,从而防止状况重新评估。
显示行为的日志证据:
初始身份验证(无代理状态触发):
2026-04-01 11:28:20,466 DEBUG [PrRTEvents-Executor-2][[]] cisco.cpm.posture.events.NetAccessEventHandler -:0A01281F00003BB490592B5C::::- agentlessEnabled=true, sessionId=0A01281F00003BB490592B5C, ipAddress=10.30.21.130, mac=F8-ED-FC-AD-35-77, psn=ise1.auk.edu.kw, event=ACCOUNTING_START, domainName=null
2026-04-01 11:28:20,466 DEBUG [PrRTEvents-Executor-2][[]] cisco.cpm.posture.events.NetAccessEventHandler -:0A01281F00003BB490592B5C::::- Need to invoke agentless posture flow for new sessionId=0A01281F00003BB490592B5C
重新身份验证(未触发无代理状态):
2026-04-01 11:35:37,669 DEBUG [PrRTEvents-Executor-2][[]] cisco.cpm.posture.events.NetAccessEventHandler -:0A01281F00003BB490592B5C::::- agentlessEnabled=true, sessionId=0A01281F00003BB490592B5C, ipAddress=10.30.21.130, mac=F8-ED-FC-AD-35-77, psn=ise1.auk.edu.kw, event=ACCOUNTING_UPDATE, domainName=null
要减轻此行为的影响,请配置终端安全评估租用设置,以在重新身份验证方案期间保持终端合规性:
步骤 1:在ISE终端安全评估策略中配置适当的终端安全评估租用持续时间,以确保终端在终端安全评估之间不会丢失网络访问权限。
步骤 2:根据组织的安全要求和重新身份验证频率,监控终端安全评估状态并调整租用计时器。
这是思科Bug ID CSCwu48086中记录的预期行为。ISE中的无代理状态设计为仅在RADIUS记帐开始事件上触发,而不是由临时记帐更新事件触发。在会话重新身份验证期间,网络接入设备使用相同的帧IP地址和会话ID发送记帐临时更新,这些更新不会重新调用无代理状态评估过程。ISE代码专门检查新会话(ACCOUNTING_START事件),然后启动无代理安全评估流程。
| 版本 | 发布日期 | 备注 |
|---|---|---|
1.0 |
05-Nov-2026
|
初始版本 |