openldap,ldapsearch 无需外部绑定

openldap,ldapsearch 无需外部绑定

如果我查看我的 openldap 日志文件,我总是每天发现以下 3-4 次行(olcLogLevel:256;IP 已替换):

Oct 17 23:44:40 debian slapd[674]: conn=1011 fd=14 ACCEPT from IP=______________ (IP=0.0.0.0:389)
Oct 17 23:44:40 debian slapd[674]: conn=1011 op=0 SRCH base="" scope=0 deref=0 filter="(objectClass=*)"
Oct 17 23:44:40 debian slapd[674]: conn=1011 op=0 SEARCH RESULT tag=101 err=0 nentries=1 text=
Oct 17 23:44:40 debian slapd[674]: conn=1011 fd=14 closed (connection lost)

他们如何能在没有绑定的情况下进行搜索(甚至不是匿名绑定)?ldapsearch 命令看起来怎么样?


数据库的olcAccess规则:

olcAccess: {0}to attrs=userPassword by self write by anonymous auth by * none
olcAccess: {1}to * by self write
olcAccess: {2}to * by self read
olcAccess: {3}to * by * none

如果我尝试使用 ldapsearch,我无法重现此问题,它看起来像这样:

ldapsearch -x正在生成以下日志:

Oct 30 18:44:30 debian slapd[620]: conn=1006 fd=14 ACCEPT from IP=______________ (IP=[::]:389)
Oct 30 18:44:30 debian slapd[620]: conn=1006 op=0 BIND dn="" method=128
Oct 30 18:44:30 debian slapd[620]: conn=1006 op=0 RESULT tag=97 err=0 text=
Oct 30 18:44:30 debian slapd[620]: conn=1006 op=1 SRCH base="" scope=2 deref=0 filter="(objectClass=*)"
Oct 30 18:44:30 debian slapd[620]: conn=1006 op=1 SEARCH RESULT tag=101 err=32 nentries=0 text=
Oct 30 18:44:30 debian slapd[620]: conn=1006 op=2 UNBIND
Oct 30 18:44:30 debian slapd[620]: conn=1006 fd=14 closed

答案1

我不认为ldapsearch它会表现出这种行为,因为它总是想要发出某种绑定,但这并不是说这种行为不会发生。以下程序会产生与您提供的相同形式的日志。

#!/usr/bin/env python3
import ldap
ldapURI = "ldap://ldap.example.com/"
ldapConnection = ldap.initialize(ldapURI)
ldapConnection.search_s('',ldap.SCOPE_BASE)

如果您希望限制这些类型的搜索,您可以通过将 olcAccess 规则应用于 来实现olcDatabase={-1}frontend,cn=config。在执行此操作之前请谨慎行事。

相关内容