轻量级目录访问协议(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 389处于打开状态。
默认情况下,Microsoft Active Directory LDAP服务器配置为接受端口TCP 389上的LDAP连接。如果使用任何其他LDAP服务器,请确保其已启动并正在运行,并且正在接受端口TCP 389上的连接。
本文档中的信息基于以下软件和硬件版本:
思科安全ACS 5.x
Microsoft Active Directory LDAP服务器
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
目录服务是用于存储和组织有关计算机网络用户和网络资源的信息的软件应用程序或应用程序集。您可以使用目录服务来管理用户对这些资源的访问。
LDAP目录服务基于客户端-服务器模型。客户端连接到LDAP服务器以启动LDAP会话,并向服务器发送操作请求。然后,服务器发送其响应。一个或多个LDAP服务器包含LDAP目录树或LDAP后端数据库中的数据。
目录服务管理目录,即保存信息的数据库。目录服务使用分布式模型来存储信息,该信息通常在目录服务器之间复制。
LDAP目录以简单的树状层次结构组织,可以分布在许多服务器中。每台服务器都可以具有定期同步的总目录的复制版本。
树中的条目包含一组属性,其中每个属性都有一个名称(属性类型或属性说明)和一个或多个值。属性在架构中定义。
每个条目都有一个称为其可分辨名称(DN)的唯一标识符。此名称包含从条目中的属性构建的相对可分辨名称(RDN),后跟父条目的DN。您可以将DN视为完整文件名,将RDN视为文件夹中的相对文件名。
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用户指南。
本部分提供有关如何配置本文档所述功能的信息。
要为LDAP配置ACS 5.x,请完成以下步骤:
选择Users and Identity Stores > External Identity Stores > LDAP,然后单击Create创建新的LDAP连接。
在General选项卡中,为新LDAP提供Name和Description(可选),然后单击Next。
在Primary Server部分下的Server Connection选项卡中,提供Hostname、Port、Admin DN和Password。单击Test Bind To Server。
注意:LDAP的IANA分配端口号为TCP 389。但是,请从LDAP管理员中确认LDAP服务器使用的端口号。管理员DN和密码应由您的LDAP管理员提供。您的管理员DN应具有读取LDAP服务器上所有OU的所有权限。
下图显示与服务器的连接测试绑定成功。
注意:如果测试绑定失败,请从LDAP管理员处重新验证主机名、端口号、管理员DN和密码。
单击 Next。
在Schema部分下的Directory Organization选项卡中提供所需的详细信息。同样,在Directory Structure部分下提供由LDAP管理员提供的所需信息。单击Test Configuration。
下图显示配置测试成功。
注意:如果配置测试不成功,请从LDAP管理员处重新验证架构和目录结构中提供的参数。
单击 完成。
LDAP服务器已成功创建。
完成以下步骤以配置身份库:
选择Access Policies > Access Services > Service Selection Rules,并验证哪个服务将使用LDAP服务器进行身份验证。在本示例中,LDAP服务器身份验证使用默认网络访问服务。
一旦您在第1步中检验了服务,请转到特定服务并单击Allowed Protocols。确保选中Allow PAP/ASCII,然后单击Submit。
注意:可以选择其他身份验证协议以及Allow PAP/ASCII。
单击步骤1中确定的服务,然后单击Identity。单击Identity Source字段右侧的Select。
选择新创建的LDAP服务器(myLDAP,在此示例中),然后单击OK。
点击Save Changes。
转到步骤1中识别的服务的Authorization部分,并确保至少有一个规则允许Authentication。
ACS发送绑定请求,以根据LDAP服务器对用户进行身份验证。绑定请求以明文形式包含用户的DN和用户密码。当用户的DN和密码与LDAP目录中的用户名和密码匹配时,即对用户进行身份验证。
Authentication Errors - ACS在ACS日志文件中记录身份验证错误。
初始化错误 -使用LDAP服务器超时设置可以配置ACS在确定某台服务器上的连接或身份验证失败之前等待来自LDAP服务器的响应的秒数。LDAP服务器返回初始化错误的可能原因包括:
不支持LDAP
服务器已关闭
服务器内存不足
用户没有权限
配置的管理员凭据不正确
Bind Errors — LDAP服务器返回绑定(身份验证)错误的可能原因如下:
过滤错误
使用过滤条件的搜索失败
参数错误
输入的参数无效
用户帐户受到限制(禁用、锁定、过期、密码过期等)
这些错误被记录为外部资源错误,表明LDAP服务器可能存在问题:
发生连接错误
超时已过期
服务器已关闭
服务器内存不足
A user does not exist in the database错误被记录为“Unknown User”错误。
An invalid password was entered错误记录为Invalid Password错误,其中用户存在,但发送的口令无效。
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
14-Mar-2012 |
初始版本 |