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.
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.
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.
This was fixed in 389-ds-base-220.127.116.11-1.fc17. Closing.