我正在努力保护 LDAP 服务器。我们有一些脚本可以帮助我们管理其中的记录,并且对 slapd 的访问(从外部)是通过 ldap(s) 端口(389/636)进行的。管理脚本从运行 slapd 的服务器上的本地主机执行,并使用 ldapi 进行访问(如 所示-Y EXTERNAL -H ldapi:///
)。仅从本地主机(使用防火墙)打开对 ldapi 的访问。
我想确保(如果可能的话)通过 ldap 尝试进行的任何更改都将失败,但通过 ldapi 进行的更改是允许的。
有什么方法可以在 slapd 配置本身中进行配置吗?
PS:此设置使用新的配置模型(/etc/openldap/slapd.d/...
),而不是文件配置。
答案1
看来在默认配置中添加以下 ACL 可以解决问题:
olcAccess: to *
by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage
peercred 身份验证仅通过 ldapi 接口起作用这一事实并不明显,并且在文档中的任何地方均未提及。
该行被发现于这里并得到开发人员在 IRC 上的确认