Ответы:
Не то, что списки ACL квантов - это плохо, но чтобы ответить на ваш вопрос:
ldapmodify
dn: cn = config
changetype: modify
add: olcDisallows
olcDisallows: bind_anon
-dn: olcDatabase = {- 1} внешний интерфейс, cn = config
тип изменения: изменить
добавить: olcRequires
olcRequires: authc
Пожалуйста, имейте в виду, что ldapmodify чувствителен к (конечным) пробелам, поэтому прямая вставка копии не будет работать (и может также не аутентифицировать вас должным образом). Кроме того, dn, который вы используете, будет нуждаться в праве на запись в базу данных cn = config.
Вариация на ту же тему, я попробовал, работает: советы по безопасности 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
Удачи!
Я не проверял, но попробуйте что-то вроде этого:
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