Я использую OpenLDAP 2.4.23 в Ubuntu 11.04. Все работает нормально. Я использую другой сервер для аутентификации через LDAP, и он работает хорошо. На подключающемся сервере я использую такой файл конфигурации:
[ldap]
basedn = ou=Employees,dc=example,dc=com
basedn_filter = personStatus=1
bind_passwd = pass123
bind_user = cn=admin,dc=example,dc=com
cache_size = 100
cache_ttl = 900
enable = true
global_perms = false
group_bind = false
group_rdn =
groupattr = cn
groupmember = member
groupmemberisdn = false
groupname = groupofnames
#host = ldap.example.com
host = 192.168.2.127
manage_groups = false
port = 389
Есть ли способ зашифровать пароль, используемый для привязки к LDAP?
Вы можете использовать SSL (или TLS) для шифрования трафика. В руководстве OpenLDAP 2.4 есть раздел о используя TLS, как и OpenLDAP FAQ. В руководстве Ubuntu 11.04 есть раздел о LDAP что включает использование TLS / SSL. В проекте FreeBSD (где хранятся некоторые из лучших руководств, которые я видел) есть статья на LDAP аутентификация который включает раздел о настройке LDAP с TLS.
Я нашел эту информацию через поиск Google ...
Нет.
Открытый текстовый пароль необходим для привязки к LDAP, поэтому, даже если он был каким-то образом зашифрован, вам также понадобится ключ для его расшифровки в системе (например, наличие зашифрованного ключа SSL и сохранение пароля для ключа в конфигурацию веб-сервера). Неизвестность - это не безопасность; оставлять пароль открытым текстом не менее безопасно, чем его шифрование ключом, который также указан в конфигурации.
Установите разрешения в вашей конфигурации LDAP так, чтобы они не были доступны для чтения всем, и, если система потенциально может быть физически скомпрометирована, используйте какое-то шифрование диска.
Если ваше клиентское приложение разрешает аутентификацию TLS / EXTERNAL (то есть на основе сертификатов x509), вы могли бы вместо этого избавиться от пароля в открытом виде и заменить его сертификатом клиента. Имейте в виду, что серверу требуется несколько изменений конфигурации, чтобы принять SASL TLS / EXTERNAL.