Openldap
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 命令看起來如何?
db的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
我不相信
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
. 在這樣做之前請謹慎行事。