如何在 LDAP 上禁用匿名访问

Pet*_*kas 7 security debian openldap ldap

我需要保护我的 LDAP 服务器,但我不太确定实现它的最佳方法。我正在运行 Debian“Lenny”,并使用 OpenLDAP (slapd)。

我注意到如果我运行:

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

并在提示输入密码时按 ENTER,我会得到一个目录条目列表。如果我将其开放到互联网,则匿名访问是不可接受的,但找不到禁用匿名访问的方法。

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

进入 *
    by dn="cn=admin,dc=example,dc=com" 写
    由 * 无

......但这并不能解决问题。

在此之后,我将让它在 TLS 上运行,但在仍然允许匿名访问的情况下执行该步骤是毫无意义的。

有任何想法吗?

gav*_*non 20

如果接受的答案对您不起作用(在 Ubuntu 上对我不起作用),请尝试以下操作。

创建 ldiff 文件:

nano /usr/share/slapd/ldap_disable_bind_anon.ldif
Run Code Online (Sandbox Code Playgroud)

粘贴在这个:

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
Run Code Online (Sandbox Code Playgroud)

然后运行:

ldapadd -Y EXTERNAL -H ldapi:/// -f /usr/share/slapd/ldap_disable_bind_anon.ldif
Run Code Online (Sandbox Code Playgroud)


小智 7

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

disallow bind_anon
Run Code Online (Sandbox Code Playgroud)

并重新启动 slapd 服务。