The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
The Lightweight Directory Access Protocol (LDAP) is an application protocol for accessing and maintaining distributed directory information services over an IP network.
The IPv6 Support for LDAP feature module describes the changes introduced in authentication, authorization or accounting (AAA) to support IPv6 transport for LDAP protocol.
Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table at the end of this module.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
To support Lightweight Directory Access Protocol (LDAP) over IPv6, changes are made to authentication, authorization and accounting (AAA) transactions in terms of authentication and authorization while communicating over an IPv6 network. In order to support LDAP over an IPv6 network, transport calls have been modified to support both IPv4 and IPv6 based on the server configuration.
Transport Layer Security (TLS) is an application-level protocol that enables secure transactions of data through privacy, authentication, and data integrity. It relies upon certificates, public keys, and private keys for clients to prove the identity. Certificates are issued by Certificate Authorities (CAs). Each certificate includes the name of the authority that issued it, the name of the entity to which the certificate was issued, the entity’s public key, and time stamps that indicate the certificate’s expiration date. TLS support for LDAP is mentioned in RFC 2830 as an extension to the LDAP protocol.
The bind operation is used to authenticate a user to the server. It is used to start a connection with the LDAP server. LDAP is a connection-oriented protocol. The client specifies the protocol version and the client authentication information. LDAP supports the following binds:
An authenticated bind is performed when a root distinguished name (DN) and password are available. In the absence of a root DN and password, an anonymous bind is performed. In LDAP deployments, the search operation is performed first and the bind operation later. This is because, if a password attribute is returned as part of the search operation, the password verification can be done locally on an LDAP client. Thus, there is no need to perform an extra bind operation. If a password attribute is not returned, the bind operation can be performed later. Another advantage of performing a search operation first and a bind operation later is that the DN received in the search result can be used as the user DN instead of forming a DN by prefixing the username (cn attribute) with the base DN. All entries stored in an LDAP server have a unique DN. The DN consists of two parts: the Relative Distinguished Name (RDN) and the location within the LDAP server where the record resides.
Most of the entries that you store in an LDAP server will have a name, and the name is frequently stored in the Common Name (cn) attribute. Because every object has a name, most objects you store in an LDAP will use their cn value as the basis for their RDN.
The compare operation is used to replace a bind request with a compare request for an authentication. The compare operation helps to maintain the initial bind parameters for the connection.
A search operation is used to search the LDAP server. The client specifies the starting point (base DN) of the search, the search scope (either the object, its children, or the subtree rooted at the object), and a search filter.
For authorization requests, the search operation is directly performed without a bind operation. The LDAP server can be configured with certain privileges for the search operation to succeed. This privilege level is established with the bind operation.
An LDAP search operation can return multiple user entries for a specific user. In such cases, the LDAP client returns an appropriate error code to AAA. To avoid these errors, appropriate search filters that help to match a single entry must be configured.
The Lightweight Directory Access Protocol (LDAP) host is a multiuser system running LDAP server software, such as Active Directory (Microsoft) and OpenLDAP. Configuring device-to-LDAP server communication can have several components:
1.
enable
2.
configure terminal
3.
aaa new-model
4.
ldap server name
5.
ipv6 ipv6-address
6.
transport port port-number
7.
timeout retransmit seconds
8.
exit
1.
enable
2.
configure
terminal
3.
aaa
4.
ldap
server
name
5.
bind
authenticate
root-dn
password [0 string | 7 string] string
6.
search-filter
user-object-type
string
7.
base-dn
string
8.
mode
secure
[no-negotiation]
9.
secure
cipher
3des-ede-cbc-sha
10.
exit
1.
enable
2.
configure
terminal
3.
aaa new-model
4.
ldap
server
name
5.
authentication
bind-first
6.
authentication
compare
7.
exit
The following show and debug commands can be entered in any order.
1.
enable
2.
clear ldap server
3.
debug ldap
4.
show ldap server
5.
show ldap attributes
The following example shows how to create server group server1 and specify the IP address, transport port 200, and retransmit values:
Device> enable Device# configure terminal Device(config)# aaa new-model Device(config)# ldap server server1 Device(config-ldap-server)# ipv6 2001:DB8:0:0:8:800 Device(config-ldap-server)# transport port 200 Device(config-ldap-server)# timeout retransmit 20 Device(config-ldap-server)# exit
The following example shows how to configure Lightweight Directory Access Protocol (LDAP) parameters:
Device> enable Device# configure terminal Device(config)# aaa new-model Device(config)# ldap server server1 Device(config-ldap-server)# bind authenticate root-dn “cn=administrator,cn=users,dc=nac-blr2,dc=example,dc=com password” Device(config-ldap-server)# base-dn “dc=sns,dc=example,dc=com” Device(config-ldap-server)# mode secure no-negotiation Device(config-ldap-server)# secure cipher 3des-ede-cbc-sha Device(config-ldap-server)# exit
The following example shows how to configure the sequence of search and bind operations for an authentication request:
Device> enable Device# configure terminal Device(config)# aaa new-model Device(config)# ldap server server1 Device(config-ldap-server)# authentication bind-first Device(config-ldap-server)# authentication compare Device(config-ldap-server)# exit
The following is sample output from an LDAP server:
Device# show ldap server all Server Information for server1 ============================================ Server name :server1 Server IP :2001:DB8:0:0:8:800 Server listening Port :389 Connection status :DOWN Root Bind status :No Bind Server mode :Non-Secure Cipher Suite :0x00 Authentication Seq :Search first. Then Bind/Compare password next Authentication Procedure :Bind with user password Request timeout :30 ------------------------------------------- * LDAP STATISTICS * Total messages [Sent:0, Received:0] Response delay(ms) [Average:0, Maximum:0] Total search [Request:0, ResultEntry:0, ResultDone:0] Total bind [Request:0, Response:0] Total extended [Request:0, Response:0] Total compare [Request:0, Response:0] Search [Success:0, Failures:0] Bind [Success:0, Failures:0] Missing attrs in Entry [0] --------------------------------------------
Related Topic | Document Title |
---|---|
AAA |
Configuring Authentication Module |
RFC | Title |
---|---|
RFC 4511 | Lightweight Directory Access Protocol (LDAP) |
RFC 4513 | Lightweight Directory Access Protocol (LDAP): Authentication Methods and Security Mechanisms |
Description | Link |
---|---|
The Cisco Support website provides extensive online resources, including documentation and tools for troubleshooting and resolving technical issues with Cisco products and technologies. To receive security and technical information about your products, you can subscribe to various services, such as the Product Alert Tool (accessed from Field Notices), the Cisco Technical Services Newsletter, and Really Simple Syndication (RSS) Feeds. Access to most tools on the Cisco Support website requires a Cisco.com user ID and password. |
The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Feature Name |
Releases |
Feature Information |
---|---|---|
IPv6 Support for LDAP |
15.3(2)T |
The IPv6 Support for LDAP feature describes IPv6 transport support for the LDAP protocol by introducing changes in authentication, authorization, and accounting (AAA) transactions. The following commands have been newly introduced or modified: ldap server, show ldap server. |