Bug 458187

Summary: RFE: limiting Directory Manager (nsslapd-rootdn) bind access by source host (e.g. 127.0.0.1)
Product: [Retired] 389 Reporter: Aleksander Adamowski <bugs-redhat>
Component: Security - Access Control (ACL)Assignee: Rich Megginson <rmeggins>
Status: CLOSED CURRENTRELEASE QA Contact: Chandrasekar Kannan <ckannan>
Severity: high Docs Contact:
Priority: high    
Version: 1.1.1CC: andrey.ivanov, benl, dpal, Iain.Morgan, jgalipea, mreynolds, nkinder
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
URL: https://www.redhat.com/archives/fedora-directory-users/2008-August/msg00027.html
Whiteboard:
Fixed In Version: 389-ds-base-1.2.11.5-1.fc17 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-03-04 23:31:00 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On:    
Bug Blocks: 495079, 512820, 690319    

Description Aleksander Adamowski 2008-08-06 21:56:41 UTC
Description of problem:

The Directory Manager account (the one whose DN is specified in dse.ldif as nsslapd-rootdn) is a dangerously privileged account.

Access control does not apply to this user and compromising its DN and password gives full control over the directory server.

Therefore, it would be desirable to limit this user's bind access based on some additional criteria, in addition to the knowledge of the password.

Limits based on the source host (e.g. localhost) and/or time of day (e.g. only work hours) would be very useful. 

Currently an attacker can easily mount a brute force guessing attack on the Directory Manager account over the network and if he succeeds, he practically has full control over the directory server. The only defense against this is by using a very long manager password and hard to guess rootdn which may be somewhat unpractical.

This problem is especially significant for LDAP servers accessible from public networks.

Additional info:

Note that in OpenLDAP this is possible using the following ACL:

access to dn.base="cn=Manager,o=Example"
 by peername.regex=127\.0\.0\.1 auth
 by users none
 by anonymous none


This ACL however requires creating a concrete LDAP entry that corresponds to rootdn, setting a userPassword in taht entry, and leaving the rootpw in OpenLDAP configuration undefined. This way the concrete userPassword is used when binding and is subject to that ACL which only allows access from connections that origin from 127.0.0.1.

More details:
http://www.openldap.org/faq/data/cache/761.html
http://www.openldap.org/lists/openldap-software/200711/msg00342.html

Comment 2 Iain Morgan 2011-12-07 20:37:57 UTC
Note that this issue is also relevant to replication manager DNs.

In some cases, it might also be desirable to limit binds to the root DN based on connect type. For example, limit the binds to LDAPI connections.

Comment 3 Martin Kosek 2012-01-04 13:43:21 UTC
Upstream ticket:
https://fedorahosted.org/389/ticket/110

Comment 6 Nathan Kinder 2013-03-04 23:31:00 UTC
This was fixed in 389-ds-base-1.2.11.5-1.fc17.  Closing.