如何禁用LDAP上的匿名访问

我需要确保我的LDAP服务器,我不太确定最好的方法去做。 我正在运行Debian“Lenny”,并使用OpenLDAP(slapd)。

我注意到,如果我运行:

ldapsearch -x -W -b 'dc=example,dc=com' -H 'ldap://127.0.0.1:389/' 'objectclass=*'

当它提示input密码时,只需按ENTER键,即可获得目录条目列表。 匿名访问是不可接受的,如果我打开这个互联网,但不能find一种方法来禁用匿名访问。

我已经尝试修改/etc/ldap/slapd.conf到以下内容:

进入 *
    由dn =“cn = admin,dc = example,dc = com”写入
    由*无

…但这并不能解决问题。

在此之后,我会通过TLS运行它,但是仍然允许匿名访问,但是这样做毫无意义。

有任何想法吗?

要完全禁用匿名绑定,请将此行添加到slapd.conf中:

 disallow bind_anon 

并重新启动slapd服务。

如果接受的答案不适合你(在Ubuntu上不适用于我),请尝试以下操作。

创buildldiff文件:

 nano /usr/share/slapd/ldap_disable_bind_anon.ldif 

粘贴在这里:

 dn: cn=config changetype: modify add: olcDisallows olcDisallows: bind_anon dn: cn=config changetype: modify add: olcRequires olcRequires: authc dn: olcDatabase={-1}frontend,cn=config changetype: modify add: olcRequires olcRequires: authc 

然后运行:

 ldapadd -Y EXTERNAL -H ldapi:/// -f /usr/share/slapd/ldap_disable_bind_anon.ldif 

既然你打算很快去SSL / TLS,你可能要考虑使用客户端证书validation来进一步加强你的安全。 具有-v -A选项的Stunnel会很好地完成。