Security

如何禁用 LDAP 上的匿名訪問

  • March 3, 2017

我需要保護我的 LDAP 伺服器,但我不太確定最好的方法。我正在執行 Debian “Lenny”,並使用 OpenLDAP (slapd)。

我注意到,如果我執行:

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

並在提示輸入密碼時按 ENTER,我會得到一個目錄條目列表。如果我將其向 Internet 開放,匿名訪問是不可接受的,但無法找到禁用匿名訪問的方法。

我嘗試修改/etc/ldap/slapd.conf為以下內容:

進入 *
由 dn="cn=admin,dc=example,dc=com" 寫
由 * 無

…但這並不能解決問題。

在此之後,我將讓它在 TLS 上執行,但是在仍然允許匿名訪問的同時執行該步驟是沒有意義的。

有任何想法嗎?

要完全禁用匿名綁定,請將此行添加到 slapd.conf:

disallow bind_anon

並重新啟動 slapd 服務。

如果接受的答案對您不起作用(在 Ubuntu 上對我不起作用),請嘗試以下操作。

創建 ldiff 文件:

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

引用自:https://serverfault.com/questions/63916