本文档介绍身份服务引擎(ISE)和Active Directory(AD)如何通信、使用的协议、AD过滤器和流程。
思科建议您掌握以下方面的基本知识:
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
Kerberos的三个头由密钥分发中心(KDC)、客户端用户和要访问的服务器组成。KDC作为域控制器(DC)的一部分进行安装,并执行以下两项服务功能:身份验证服务(AS)和票证授予服务(TGS)。
客户端最初访问服务器资源时,涉及三个交换:

初次登录网络时,用户必须协商访问权限并提供登录名称和密码,以由其域内的KDC的AS部分进行验证。KDC有权访问Active Directory用户帐户信息。通过身份验证后,用户将被授予对本地域有效的票证授予票证(TGT)。TGT的默认有效期为10小时,在用户登录会话期间续订,无需用户重新输入密码。TGT缓存在易失性存储器空间中的本地计算机上,用于请求与整个网络中服务的会话。
当需要访问服务器服务时,用户向KDC的TGS部分提供TGT。KDC上的TGS对用户TGT进行身份验证,并为客户端和远程服务器创建票证和会话密钥。然后,此信息(服务票证)在客户端计算机上本地缓存。TGS接收客户端TGT并使用其自己的密钥进行读取。如果TGS批准客户端请求,将为客户端和目标服务器生成服务票证。客户端使用之前从AS应答检索的TGS会话密钥读取其部分。客户端在下一次客户端/服务器交换时向目标服务器提供TGS应答的服务器部分。
示例:

从ISE为经过身份验证的用户捕获的数据包:

AS-REQ包含用户名。如果密码正确,则AS服务提供使用用户密码加密的TGT。然后为TGT提供接收会话票证的TGT服务。当收到会话票证时,身份验证成功。
以下示例说明客户端提供的密码不正确:

如果密码不正确,则AS请求会失败,且不会收到TGT:
在此下一个示例中,当密码不正确时,以下是ad_agent.log文件中的日志:
2020-01-14 13:36:05,442 DEBUG,140574072981248,krb5:将请求(276字节)发送到RALMAAIT.COM,LwKrb5TraceCallback(),lwadvapi/threaded/lwkrb5.c:1325
2020-01-14 13:36:05,444 DEBUG,140574072981248,krb5:收到来自KDC的错误:-1765328360/预身份验证失败,LwKrb5TraceCallback(),lwadvapi/threaded/lwkrb5.c:1325
2020-01-14 13:36:05,444 DEBUG,140574072981248,krb5:预身份验证重试输入类型:16, 14, 19, 2,LwKrb5TraceCallback(),lwadvapi/threaded/lwkrb5.c:1325
2020-01-14 13:36:05,444 WARNING,140574072981248,[LwKrb5GetTgtImpl ../../lwadvapi/threaded/krbtgt.c:329] KRB5错误代码:-1765328360(消息:预身份验证失败),LwTranslateKrb5Error(),lwadvapi/threaded/lwkrb5.c:892
2020-01-14 13:36:05,444 DEBUG,140574072981248,[LwKrb5InitializeUserLoginCredentials()]错误代码:40022(符号:LW_ERROR_PASSWORD_MISMATCH),LwKrb5InitializeUserLoginCredentials(),lwadvapi/threaded/lwkrb5.c:1453
ISE使用MS-RPC over SMB,而SMB提供身份验证,不需要单独的会话来查找给定RPC服务的位置。它使用名为“命名管道”的机制在客户端和服务器之间通信。

negotiate protocol request/response行协商SMB的方言,会话设置请求/响应执行身份验证。树连接请求和响应连接到请求的资源。您已连接到特殊共享IPC$。这种进程间通信共享提供了主机之间的通信方式,也作为MSRPC功能的传输方式。
Packet 77是Create Request File,文件名是连接的服务(本示例中为netlogon服务)的名称。
数据包83和86是NetrlogonSamLogonEX请求,在该请求中,您将ISE上客户端身份验证的用户名发送到AD的Network_INFO字段。NetrlogonSamLogonEX响应数据包回复结果。
NetrlogonSamLogonEX响应的某些标志值:
0xc000006a为STATUS_WRONG_PASSWORD
0x00000000为STATUS_SUCCESS
0x00000103为STATUS_PENDING
ISE使用LDAP、KRB和MSRBC在加入/退出和身份验证过程中与AD通信。以下各节提供了用于连接到AD上的特定DC以及针对该DC进行用户身份验证的协议、搜索格式和机制。如果DC因任何原因变为脱机,ISE会故障切换到下一个可用的DC,身份验证过程不受影响。
全局编录服务器(GC)是域控制器,用于存储林中所有Active Directory对象的副本。它存储域目录中所有对象的完整副本以及所有其他林域的所有对象的部分副本。全局编录允许用户和应用程序通过搜索包含在GC中的属性在当前林的任何域中查找对象。全局编录包含每个域中每个林对象的基本(但不完整)属性集(部分属性集、PAT)。
GC从林中的所有域目录分区接收数据,这些数据将使用标准AD复制服务进行复制。
Active Directory和ISE集成的必备条件。
ISE应用域发现以分三个阶段获取有关加入域的信息:
此外,思科ISE发现DNS域名(UPN后缀)、备用UPN后缀和NTLM域名。
ISE应用DC发现以获取有关可用DC和GC的所有信息。
用于计算DC优先级的一个因素是DC响应CLDAP ping所用的时间;响应速度越快,优先级越高。
注意:CLDAP是ISE用来建立和维护与DC连接的机制。它测量第一个DC应答之前的响应时间。如果您没有看到来自DC的答案,它将失败。如果响应时间大于2.5秒,则发出警告。CLDAP ping站点上的所有DC(如果没有站点,则对域中的所有DC执行ping操作)。 CLDAP响应包含DC站点和客户端站点(分配ISE计算机的站点。)
当ISE离开时,AD必须考虑:
当连接到ISE的DC因任何原因离线或不可访问时,DC故障切换在ISE上自动触发。DC故障切换可通过以下条件触发:
在这种情况下,AD连接器启动带有阻止列表的DC选择(“不良”DC被置于阻止列表中),并尝试与选定的DC通信。阻止列表中选定的DC不会缓存。
AD连接器必须在合理的时间内完成故障切换(如果可能的话,请发生故障)。 因此,AD连接器在故障切换期间尝试有限数量的DC。如果存在无法恢复的网络或服务器错误,ISE会阻止AD域控制器,以防止ISE使用错误的DC。如果DC不响应CLDAP ping,则不会将其添加到阻止列表中。ISE只在DC不响应时降低其优先级。
ISE使用以下搜索格式之一在AD中搜索计算机或用户。如果搜索的是计算机,则ISE会在计算机名称末尾添加“$”。这是用于标识AD中用户的身份类型列表:
过滤器用于标识要与AD通信的实体。ISE始终搜索用户和计算机组中的实体。搜索过滤器的示例:




| 版本 | 发布日期 | 备注 |
|---|---|---|
3.0 |
04-Aug-2026
|
更新了简介、标题、拼写、语法、插入水平线以分隔各节/可读性、更新的替换文本。 |
2.0 |
03-Aug-2022
|
语法,结构,机器翻译,风格,格式 |
1.0 |
06-Feb-2020
|
初始版本 |