使用 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