简介
本文档介绍思科ISE与作为外部身份源的安全LDAPS服务器的集成。
先决条件
要求
Cisco 建议您了解以下主题:
- 身份服务引擎(ISE)管理基础知识
- Active Directory/安全轻型目录访问协议(LDAPS)基础知识
使用的组件
本文档中的信息基于以下软件和硬件版本:
- 思科ISE 2.6补丁7
- 安装了Active Directory轻型目录服务的Microsoft Windows 2012 R2
- 安装了本地请求方和用户证书的Windows 10操作系统PC
- 思科交换机C3750X,带152-2.E6映像
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
背景信息
LDAPS允许在建立目录绑定时对传输中的LDAP数据(包括用户凭证)进行加密。LDAPS使用TCP端口636。
LDAPS支持以下身份验证协议:
- EAP通用令牌卡(EAP-GTC)
- 密码 认证 协议 (PAP)
- EAP传输层安全(EAP-TLS)
- 受保护的EAP传输层安全(PEAP-TLS)
注意:LDAPS外部身份源不支持EAP-MSCHAPV2(作为PEAP、EAP-FAST或EAP-TTLS的内部方法)、LEAP、CHAP和EAP-MD5。
配置
本节介绍网络设备的配置以及ISE与Microsoft Active Directory (AD) LDAPS服务器的集成。
网络图
在此配置示例中,终端使用与交换机的以太网连接来连接局域网(LAN)。已连接的交换机端口配置为802.1x身份验证,以使用ISE对用户进行身份验证。在ISE上,LDAPS配置为外部身份库。
下图说明了所使用的网络拓扑:
在Active Directory上配置LDAPS
在域控制器上安装身份证书
要启用LDAPS,请在域控制器(DC)上安装满足以下要求的证书:
- LDAPS证书位于域控制器个人证书存储中。
- 与证书匹配的私钥存在于域控制器的存储中,并且与证书正确关联。
- 增强型密钥使用扩展包括服务器身份验证(1.3.6.1.5.5.7.3.1)对象标识符(也称为OID)。
- 域控制器的完全限定域名(FQDN)(例如,DC1.testlab.com)必须存在于以下属性之一中:“主题”(Subject)字段中的公用名(CN)和“主题备用名称扩展”(Subject Alternative Name Extension)中的DNS条目。
- 证书必须由域控制器和LDAPS客户端信任的证书颁发机构(CA)颁发。对于受信任的安全通信,客户端和服务器必须信任彼此的根CA和向其颁发证书的中间CA证书。
- 必须使用信道加密服务提供程序(CSP)生成密钥。
访问LDAPS目录结构
要访问Active Directory服务器上的LDAPS目录,请使用任何LDAP浏览器。本实验使用Softerra LDAP Browser 4.5。
1. 在TCP端口636上建立与域的连接。
2. 为简单起见,在AD中创建名为ISE OU的组织单位(OU),并且其必须包含名为UserGroup的组。创建两个用户(user1和user2)并使其成为UserGroup组的成员。
注意:ISE上的LDAP身份源仅用于用户身份验证。
将ISE与LDAPS服务器集成
1. 导入受信任证书中的LDAP服务器根CA证书。
2. 验证ISE管理员证书并确保ISE管理员证书颁发者证书也存在于受信任的证书库中。
3. 为了集成LDAPS服务器,请使用LDAPS目录中的不同LDAP属性。导航到管理>身份管理>外部身份源> LDAP身份源>添加:
4. 在“常规”选项卡中配置以下属性:
Subject Objectclass:此字段对应于用户帐户的Object类。您可以在此处使用以下四个类之一:
Subject Name Attribute:此字段是包含来自请求的用户名的属性的名称。当ISE查询LDAP数据库中的特定用户名时,会从LDAPS中检索此属性(您可以使用cn、sAMAccountName等)。在此方案中,使用终端上的user1用户名。
组名称属性:这是保存组名称的属性。LDAP目录中的组名称属性值必须与“用户组”页面上的LDAP组名称匹配
Group Objectclass:该值用于搜索以指定识别为组的对象。
组映射属性:此属性定义如何将用户映射到组。
Certificate Attribute:输入包含证书定义的属性。当客户端提供的证书被定义为证书身份验证配置文件的一部分时,可以选择使用这些定义来验证这些证书。在这种情况下,会在客户端证书与从LDAP身份源检索的证书之间执行二进制比较。
5. 要配置LDAPS连接,请导航到连接选项卡:
6. 在域控制器上运行dsquery以获取用于连接到LDAP服务器的用户名DN:
PS C:\Users\Administrator> dsquery user -name poongarg
"CN=poongarg,CN=Users,DC=testlab,DC=com"
步骤1:S设置LDAP服务器的正确IP地址或主机名,定义LDAPS端口(TCP 636)和管理DN,以便通过SSL与LDAP建立连接。
第二步:启用安全身份验证和服务器身份检查选项。
第三步:从下拉菜单中,选择LDAP Server Root CA certificate和ISE admin certificate Issuer CA certificate(我们已使用证书颁发机构,安装在同一LDAP服务器上,也用于颁发ISE管理员证书)。
第四步:选择“测试绑定到服务器”。此时,由于尚未配置搜索库,因此不会检索任何主题或组。
7. 在Directory Organization选项卡下,配置主题/组搜索库。它是ISE到LDAP的加入点。现在您只能检索作为加入点子级的主体和组。在此场景中,主题和组都从OU=ISE OU检索:
8. 在Groups下,点击Add从ISE上的LDAP导入组并检索组,如下图所示:
配置交换机
配置交换机以进行802.1x身份验证。Windows PC已连接到交换机端口Gig2/0/47
aaa new-model
radius server ISE
address ipv4 x.x.x.x auth-port 1812 acct-port 1813
key xxxxxx
aaa group server radius ISE_SERVERS
server name ISE
!
aaa server radius dynamic-author
client x.x.x.x server-key xxxxxx
!
aaa authentication dot1x default group ISE_SERVERS local
aaa authorization network default group ISE_SERVERS
aaa accounting dot1x default start-stop group ISE_SERVERS
!
dot1x system-auth-control
ip device tracking
!
radius-server attribute 6 on-for-login-auth
radius-server attribute 8 include-in-access-req
!
!
interface GigabitEthernet2/0/47
switchport access vlan xx
switchport mode access
authentication port-control auto
dot1x pae authenticator
配置终端
使用Windows本地请求方,并且使用LDAP支持的EAP协议之一,EAP-TLS用于用户身份验证和授权。
1. 确保PC已配置用户证书(用于user1),且其预期用途为客户端身份验证,并且在“受信任的根证书颁发机构”中,颁发者证书链存在于PC上:
2. 启用Dot1x身份验证并将身份验证方法选择为Microsoft:智能卡或其他证书用于EAP-TLS身份验证:
3. 单击附加设置,此时将打开一个窗口。选中specify authentication mode复选框并选择user authentication,如下图所示:
在ISE上配置策略集
由于使用EAP-TLS协议,因此在配置策略集之前,需要配置证书身份验证配置文件,身份源序列稍后在身份验证策略中使用。
请参阅身份源序列中的证书身份验证配置文件,并在身份验证搜索列表中定义LDAPS外部身份源:
现在配置有线Dot1x身份验证的策略集:
在此配置后,使用EAP-TLS协议对LDAPS身份源对终端进行身份验证。
验证
1. 检查连接到PC的交换机端口上的身份验证会话:
2. 为了验证LDAPS和ISE配置,您可以通过测试服务器连接检索主题和组:
3. 验证用户身份验证报告:
4. 检查终端的详细身份验证报告:
5. 通过在ISE上对LDAPS服务器捕获数据包,验证ISE和LDAPS服务器之间的数据是否已加密:
故障排除
本部分介绍此配置遇到的一些常见错误以及如何进行故障排除。
- 在身份验证报告中,您可能会看到以下错误消息:
Authentication method is not supported by any applicable identity store
此错误消息表明LDAP不支持您选择的方法。确保同一报告中的身份验证协议显示其中一种受支持的方法(EAP-GTC、EAP-TLS或PEAP-TLS)。
2. 与服务器的测试绑定以错误结束。
最常见的原因是LDAPS服务器证书验证检查失败。要排除此类问题,请在ISE上捕获数据包,并在调试级别启用所有三个运行时和prrt-jni组件,重新创建问题,然后检查prrt-server.log文件。
数据包捕获抱怨证书错误,端口服务器显示:
04:10:20,197,ERROR,0x7f9c5b6f1700,LdapSslConnectionContext::checkCryptoResult(id = 1289): error message = SSL alert: code=0x22A=554 ; source=local ; type=fatal ; message="Server certificate identity verification failed: host IP didnt match SAN IP.s3_clnt.c:1290
注意:LDAP页面中的主机名必须使用证书的主题名称(或任何主题备用名称)进行配置。因此,除非主题或SAN中有此类证书,否则它不起作用,因此需要使用SAN列表中具有IP地址的证书。
3. 在身份验证报告中,您会注意到在身份库中没有找到主题。这意味着报告中的用户名与LDAP数据库中任何用户的“使用者名称属性”都不匹配。在此方案中,此属性值设置为sAMAccountName,这意味着ISE在尝试查找匹配项时查找LDAP用户的sAMAccountName值。
4. 在绑定到服务器测试期间无法正确检索主题和组。导致此问题的最可能原因是搜索库配置不正确。请记住,LDAP层次结构必须从枝叶到根和dc(可包含多个单词)指定。
相关信息