Назад | Перейти на главную страницу

Безопасный поиск псевдонима LDAP через Sendmail

Я пытаюсь настроить sendmail для использования поиска LDAP в качестве таблицы псевдонимов.

У меня в конфиге есть такая строка:

Kldapfullname ldap -k"uid=%s" -v"mail" -h"my-ldap-server"

Пользуюсь этим уже давно. Это работает, псевдонимы просматриваются, а электронная почта попадает в соответствующий почтовый ящик.

Однако это работает, потому что LDAP в настоящее время разрешает анонимные привязки. Из-за некоторых изменений в политике это больше невозможно.

У меня это работает:

Kldapfullname ldap -k"uid=%s" -v"mail" -H"ldaps://my-ldap-server/" -Msimple -d"CN=LDAP_USER" -P /path/to/ldap.secret

Что соответствует требованию «больше никаких анонимных привязок».

Однако все еще есть небольшая проблема с безопасностью: привязка LDAP не выполняется через безопасный канал. Имя пользователя и пароль отправляются в виде открытого текста. Что в конечном итоге так же полезно, как оставить привязку анонимно.

В нескольких примерах, которые я видел во время поиска, я видел, что -H flag позволяет указать протокол, например ldap://, или в моем случае ldaps://.

Но когда я пошел проверять, я увидел, что данные все еще проходят через незащищенный порт LDAP (порт 389) вместо порта LDAPS (порт 636). (Я использовал snoop чтобы увидеть трафик между моим хостом и сервером LDAP.)

Итак, мои вопросы: * Почему ldaps:// игнорируется и используется, как если бы это было просто ldap://? * Что мне нужно изменить, чтобы это работало?

Согласно 4-му изданию «летучей книги» (раздел 3.4.56), когда sendmail скомпилирован с поддержкой LDAP, но без SM_CONF_LDAP_INITIALIZE, часть scheme: // URL LDAP опускается.