С помощью slapd.conf вы можете глобально отключить анонимную привязку и потребовать аутентификацию с помощью следующих статических директив:
disallow bind_anon
require authc
Как добиться тех же глобальных настроек, но с помощью нового метода настройки cn = config live?
Вариант на эту же тему, попробовал, работает: Советы по безопасности LDAP на SysadminTalk
Резюме:
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
Удачи!
Не то чтобы списки ACL Quanta - это плохо, но отвечу на ваш вопрос:
ldapmodify
dn: cn = config
changetype: изменить
добавить: olcDisallows
olcDisallows: bind_anon
-dn: olcDatabase = {- 1} интерфейс, cn = config
changetype: изменить
добавить: olcRequires
olcRequires: authc
Имейте в виду, что ldapmodify чувствителен к (завершающим) пробелам, поэтому прямая копипаста не будет работать (и может не аутентифицировать вас должным образом). Кроме того, для используемого dn потребуется доступ для записи в файл cn = config db.
Я не тестировал, но попробуйте что-то вроде этого:
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