Мне нужно защитить свой LDAP-сервер, и я не совсем уверен, как это сделать. Я использую Debian «Lenny» и использую OpenLDAP (slapd).
Я замечаю, что если я бегу:
ldapsearch -x -W -b 'dc=example,dc=com' -H 'ldap://127.0.0.1:389/' 'objectclass=*'
и просто нажмите ENTER, когда он запросит пароль, и я получу список записей каталога. Анонимный доступ неприемлем, если я открываю его для Интернета, но не могу найти способ отключить анонимный доступ.
Я пробовал изменить /etc/ldap/slapd.conf
на следующее:
access to * by dn="cn=admin,dc=example,dc=com" write by * none
... но это не помогает.
После этого я запрошу его через TLS, но делать этот шаг бессмысленно, разрешая анонимный доступ.
Любые идеи?
Если принятый ответ не подходит для вас (а для меня это не так в Ubuntu), попробуйте следующее.
Создайте файл ldiff:
nano /usr/share/slapd/ldap_disable_bind_anon.ldif
Вставьте это:
dn: cn=config
changetype: modify
add: olcDisallows
olcDisallows: bind_anon
dn: cn=config
changetype: modify
add: olcRequires
olcRequires: authc
dn: olcDatabase={-1}frontend,cn=config
changetype: modify
add: olcRequires
olcRequires: authc
А затем запустите:
ldapadd -Y EXTERNAL -H ldapi:/// -f /usr/share/slapd/ldap_disable_bind_anon.ldif
Чтобы полностью отключить анонимное связывание, добавьте эту строку в slapd.conf:
disallow bind_anon
и перезапустите сервис slapd.
Поскольку вы планируете в ближайшее время перейти на SSL / TLS, вы можете рассмотреть возможность использования проверка сертификата клиента чтобы еще больше усилить вашу безопасность. Stunnel с -v -A
варианты тоже подойдут.