简介
本文档介绍思科ISE与作为外部身份源的安全LDAPS服务器的集成。
先决条件
要求
Cisco 建议您了解以下主题:
- 身份服务引擎(ISE)管理基础知识
- Active Directory/安全轻型目录访问协议(LDAPS)基础知识
使用的组件
本文档中的信息基于以下软件和硬件版本:
- 思科ISE 2.6补丁7
- 安装了Active Directory轻型目录服务的Microsoft Windows版本2012 R2
- 安装了本地请求方和用户证书的Windows 10 OS PC
- 带152-2.E6映像的思科交换机C3750X
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
背景信息
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上配置LDAP
在域控制器上安装身份证书
要启用LDAPS,请在符合以下要求的域控制器(DC)上安装证书:
- LDAPS证书位于域控制器的个人证书存储中。
- 与证书匹配的私钥存在于域控制器的存储中,并且与证书正确关联。
- 增强型密钥使用扩展包括服务器身份验证(1.3.6.1.5.5.7.3.1)对象标识符(也称为OID)。
- 域控制器的完全限定域名(FQDN)(例如,DC1.testlab.com)必须存在于以下属性之一:Subject字段中的Common Name(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:此字段对应于用户帐户的对象类。您可以在此处使用四个类之一:
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服务器根CA证书和ISE管理员证书Isser CA证书(我们使用证书颁发机构,安装在同一LDAP服务器上以颁发ISE管理员证书)。
第四步:选择Test Bind to server。此时,由于尚未配置搜索库,因此不会检索任何主题或组。
7.在Directory Organization选项卡下,配置主题/组搜索库。它是ISE到LDAP的加入点。现在您只能检索作为加入点子级的主体和组。在此方案中,主题和组都从OU=ISE OU检索
8.在Groups下,点击Add从ISE上的LDAP导入组并检索组,如下图所示。
配置交换机
配置交换机以进行802.1x身份验证。Windows PC连接到switchport 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 Native Supplicant客户端,并且使用LDAP支持的EAP协议之一,EAP-TLS用于用户身份验证和授权。
1.确保PC已配置用户证书(用于user1),并且其目标用途为客户端身份验证,在受信任的根证书颁发机构中,PC上存在颁发者证书链。
2.启用Dot1x身份验证并将身份验证方法选择为Microsoft:智能卡或其他证书进行EAP-TLS身份验证。
3.单击“其它设置”,此时将打开一个窗口。选中specify authentication mode复选框,然后选择user authentication,如下图所示。
在ISE上配置策略集
由于使用EAP-TLS协议,因此在配置策略集之前,需要配置证书身份验证配置文件,并在稍后在身份验证策略中使用身份源序列。
请参阅Identity Source Sequence中的Certificate Authentication Profile,并在Authentication Search列表中定义LDAPS外部身份源:
现在配置有线Dot1x身份验证的策略集:
完成此配置后,我们可以根据LDAPS身份源使用EAP-TLS协议对终端进行身份验证。
验证
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)。
这通常是由于LDAPS服务器证书验证检查失败。为了排除此类故障,请在ISE上捕获数据包,并在调试级别启用所有三个运行时和prrt-jni组件,重新创建问题,然后检查prrt-server.log文件。
数据包捕获投诉错误的证书,并且prrt-server显示:
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.在绑定到服务器测试期间无法正确检索主题和组。导致此问题的最可能原因是搜索库配置不正确。请记住,必须从枝叶到根和dc(可包含多个单词)指定LDAP层次结构。
相关信息