禁止使用 cn=config 进行全局匿名绑定

禁止使用 cn=config 进行全局匿名绑定

使用 slapd.conf,您可以全局禁用匿名绑定并使用以下静态指令要求进行身份验证:

disallow bind_anon
require authc

如何使用新的 cn=config 实时配置方法实现相同的全局设置?

答案1

并不是说 Quanta 的 ACL 是坏事,但要回答你的问题:

ldapmodify
dn:cn=config
changetype:修改
添加:olcDisallows
olcDisallows:bind_anon
-

dn:olcDatabase={-1}frontend,cn=config
changetype:修改
添加:olcRequires
olcRequires:authc

请注意,ldapmodify 对(尾随)空格敏感,因此直接复制粘贴不起作用(并且可能无法正确验证您的身份)。此外,您使用的 dn 将需要对 cn=config db 的写访问权限。

答案2

同一主题的变体,我尝试了一下,有效: SysadminTalk 上的 LDAP 安全提示

概括:

1)创建一个文件,我们disable_anon_frontend.ldif使用以下内容来调用它:

dn: olcDatabase={-1}frontend,cn=config
add: olcRequires
olcRequires: authc

2)创建另一个文件,disable_anon_backend.ldif其内容如下:

dn: olcDatabase={1}hdb,cn=config
add: olcRequires
olcRequires: authc

3)然后在服务器上,通过发出以下命令修改 LDAP:

sudo ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f disable_anon_frontend.ldif
sudo ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f disable_anon_backend.ldif

4)通过执行以下匿名查询进行检查:(ldapsearch -x -LLL -H ldap:/// -b dc=example,dc=domain,dc=com dn使用dc=...适用的设置)。

如果您看到以下错误消息,则表示匿名访问已成功禁用:

Server is unwilling to perform (53)
Additional information: authentication required

祝你好运!

答案3

我还没有测试过,但可以尝试这样的事情:

dn: olcDatabase={1}hdb,cn=config
add: olcAccess
olcAccess: to attrs=userPassword 
    by dn="cn=admin,dc=example,dc=com" write 
    by self write 
    by * none
olcAccess: to dn.base="" 
    by users read 
    by * none
olcAccess: to * 
    by dn="cn=admin,dc=example,dc=com" write 
    by * none

相关内容