轻量级目录访问协议(LDAP)是一种用于查询和修改在TCP/IP和UDP上运行的目录服务的网络协议。LDAP是用于访问基于x.500的目录服务器的轻量级机制。RFC 2251定义了LDAP。
访问控制服务器(ACS) 5.x通过使用LDAP协议与LDAP外部数据库(也称为身份库)集成。连接到LDAP服务器的方法有两种:纯文本(简单)和SSL(加密)连接。可以使用这两种方法将ACS 5.x配置为连接到LDAP服务器。在本文档中,ACS 5.x配置为使用加密连接连接到LDAP服务器。
本文档假设ACS 5.x与LDAP服务器具有IP连接,且端口TCP 636处于打开状态。
需要将Microsoft® Active Directory LDAP服务器配置为接受端口TCP 636上的安全LDAP连接。本文档假定您拥有向Microsoft LDAP服务器颁发服务器证书的证书颁发机构(CA)的根证书。有关如何配置LDAP服务器的详细信息,请参阅如何通过第三方证书颁发机构启用基于SSL的LDAP。
本文档中的信息基于以下软件和硬件版本:
思科安全ACS 5.x
Microsoft Active Directory LDAP服务器
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
目录服务
目录服务是用于存储和组织有关计算机网络用户和网络资源的信息的软件应用程序或应用程序集。您可以使用目录服务来管理用户对这些资源的访问。
LDAP目录服务基于客户端-服务器模型。客户端通过连接到LDAP服务器启动LDAP会话,并向服务器发送操作请求。然后,服务器发送其响应。一个或多个LDAP服务器包含LDAP目录树或LDAP后端数据库中的数据。
目录服务管理目录,即保存信息的数据库。目录服务使用分布式模型来存储信息,该信息通常在目录服务器之间复制。
LDAP目录以简单的树状层次结构组织,可以分布在许多服务器中。每台服务器都可以具有定期同步的总目录的复制版本。
树中的条目包含一组属性,其中每个属性都有一个名称(属性类型或属性说明)和一个或多个值。属性在架构中定义。
每个条目都有一个唯一标识符:其可分辨名称(DN)。此名称包含从条目中的属性构建的相对可分辨名称(RDN),后跟父条目的DN。您可以将DN视为完整文件名,将RDN视为文件夹中的相对文件名。
使用LDAP进行身份验证
ACS 5.x可以通过在目录服务器上执行绑定操作来查找和验证主体,从而根据LDAP身份库对主体进行身份验证。如果身份验证成功,则ACS可以检索属于主体的组和属性。可以在ACS Web界面(LDAP页面)中配置要检索的属性。ACS可使用这些组和属性对主体进行授权。
为了对用户进行身份验证或查询LDAP身份库,ACS将连接到LDAP服务器并维护连接池。
LDAP连接管理
ACS 5.x支持多个并发LDAP连接。在首次LDAP身份验证时按需打开连接。为每个LDAP服务器配置的最大连接数。提前打开连接可缩短身份验证时间。
您可以设置用于并发绑定连接的最大连接数。每个LDAP服务器(主要或辅助)的打开连接数可以不同,并根据为每个服务器配置的最大管理连接数确定。
ACS会为ACS中配置的每个LDAP服务器保留一个打开的LDAP连接列表(包括绑定信息)。在身份验证过程中,连接管理器尝试从池中查找打开的连接。
如果打开的连接不存在,则会打开一个新连接。如果LDAP服务器关闭了连接,则连接管理器在第一次呼叫搜索目录时报告错误,并尝试更新连接。
在身份验证过程完成后,连接管理器会释放到连接管理器的连接。有关详细信息,请参阅ACS 5.X用户指南。
本部分提供有关如何配置本文档所述功能的信息。
要在Cisco Secure ACS 5.x上安装根CA证书,请完成以下步骤:
注意:确保LDAP服务器已预配置为接受端口TCP 636上的加密连接。有关如何配置Microsoft LDAP服务器的详细信息,请参阅如何通过第三方证书颁发机构启用基于SSL的LDAP。
选择Users and Identity Stores > Certificate Authorities,然后单击Add将颁发服务器证书的CA的根证书添加到Microsoft LDAP服务器。
从Certificate File to Import部分,单击Certificate File旁边的Browse,以搜索证书文件。
选择所需的证书文件(向Microsoft LDAP服务器颁发服务器证书的CA的根证书),然后单击Open。
在“Description”旁边的空白处提供Description,然后单击Submit。
下图显示根证书已正确安装:
要配置ACS 5.x以实现安全LDAP,请完成以下步骤:
选择Users and Identity Stores > External Identity Stores > LDAP,然后单击Create创建新的LDAP连接。
在General选项卡中,为新LDAP提供Name和Description(可选),然后单击Next。
在主服务器部分下的服务器连接选项卡中,提供主机名、端口、管理员DN和口令。确保选中Use Secure Authentication旁边的复选框并选择最近安装的根CA证书。单击Test Bind To Server。
注意:安全LDAP的IANA分配端口号为TCP 636。但是,请从LDAP管理员中确认LDAP服务器使用的端口号。
注意:管理员DN和密码应由您的LDAP管理员提供。管理员DN必须对LDAP服务器上的所有OU具有读取所有权限。
下一张图显示“到服务器的连接测试绑定”成功。
注意:如果测试绑定失败,请从LDAP管理员处重新验证主机名、端口号、管理员DN、密码和根CA。
单击 Next。
在架构部分下的目录组织选项卡中,提供所需的详细信息。同样,请在Directory Structure部分下提供LDAP管理员所提供的必需信息。单击Test Configuration。
下一张图显示配置测试成功。
注意:如果配置测试不成功,请从LDAP管理员处重新验证架构和目录结构中提供的参数。
单击 完成。
LDAP服务器已成功创建。
完成以下步骤以配置身份库:
选择Access Policies > Access Services > Service Selection Rules并验证哪个服务将使用Secure LDAP服务器进行身份验证。在本示例中,该服务是Default Network Access。
在步骤1中验证该服务之后,转到特定服务并单击Allowed Protocols。确保选中Allow PAP/ASCII,然后单击Submit。
注意:您可以通过允许PAP/ASCII (Allow PAP/ASCII)选择其他身份验证协议。
单击步骤1中确定的服务,然后单击Identity。点击身份源旁边的选择。
选择新创建的安全LDAP服务器(本示例中为myLDAP),然后单击OK。
点击Save Changes。
转至步骤1中识别的服务的授权部分,确保至少有一个规则允许身份验证。
ACS发送绑定请求,以根据LDAP服务器对用户进行身份验证。绑定请求以明文形式包含用户的DN和用户密码。当用户的DN和密码与LDAP目录中的用户名和密码匹配时,即对用户进行身份验证。
Authentication Errors — ACS在ACS日志文件中记录身份验证错误。
初始化错误— 使用LDAP服务器超时设置可以配置ACS在确定某台服务器上的连接或身份验证失败之前等待来自LDAP服务器的响应的秒数。LDAP服务器返回初始化错误的可能原因包括:
不支持LDAP
服务器已关闭
服务器内存不足
用户没有权限
配置的管理员凭据不正确
Bind Errors — LDAP服务器返回绑定(身份验证)错误的可能原因如下:
过滤错误
使用过滤条件的搜索失败
参数错误
输入的参数无效
用户帐户受到限制(禁用、锁定、过期、密码过期等)
这些错误被记录为外部资源错误,这表明LDAP服务器可能存在问题:
发生连接错误
超时已过期
服务器已关闭
服务器内存不足
此错误记录为“未知用户”错误:数据库中不存在用户。
此错误记录为“无效密码”错误,其中用户存在,但发送的密码无效:输入的密码无效。
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
12-Mar-2012 |
初始版本 |