URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 81603
[ Назад ]

Исходное сообщение
"Авторизация SMTP в Sendmail с выборкой учётных записей из AD"

Отправлено SchTiRlic , 18-Авг-08 14:39 
Задача
^^^^^^^
Необходимо разрешить релеинг почты на сервере (ОС FreeBSD 6.2  почтовая система Sendmail) авторизованным пользователям. Авторизацию производить на основе AD по LDAP.


Предположительная связка компонентов:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Sendmail - Sasl - Saslauthd - Openldap


Я установил, собрал и настроил следующее:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Установил из портов SASL2, Saslauthd (с опцией WITH_OPENLDAP), Openldap (c опцией WITH_SASL).
- Собрал системный Sendmail с поддержкой LDAP и SASL2.
- Настроил saslauthd.conf сл. образом:
ldap_servers: ldap://сервер_AD/
ldap_bind_dn: cn=LDAPSearcher,cn=Users,dc=domain,dc=ru
ldap_bind_pw: password
ldap version: 3
ldap_search_base: dc=domain,dc=ru
ldap_filter: (sAMAccountName=%u)
ldap_debug: -1
- В rc.conf прописал флаги запуска saslauthd:
saslauthd_enable="YES"
saslauthd_flags="-a ldap -O /usr/local/etc/saslauthd.conf"
- В /usr/local/lib/sasl2/Sendmail.conf
pwcheck_method: saslauthd


Проверял так:
^^^^^^^^^^^^^
- Команда ldapsearch делает выборку корректно:
ldapsearch -h сервер_AD -D "cn=LDAPSearcher,cn=Users,dc=domain,dc=ru" -w "password" -x -b "dc=domain,dc=ru"
- Запускал tcpdump -i de0 port 389 + запускал в дебаговом режиме saslauthd -a ldap -d + выполнял testsaslauthd -u sch -p password. В ответ получал: 0: NO "authentication failed"

Доп. информация:
^^^^^^^^^^^^^^^^
- AD 2003
- Системный sendmail-8.13.8
- ОС FreeBSD 6.2
- Пакеты SASL:
cyrus-sasl-2.1.22   RFC 2222 SASL (Simple Authentication and Security Layer)
cyrus-sasl-ldapdb-2.1.22 SASL LDAPDB auxprop plugin
cyrus-sasl-saslauthd-2.1.22 SASL authentication server for cyrus-sasl2
- Пакеты LDAP:
openldap-client-2.4.3.a Open source LDAP client implementation


В чём может быть проблема? почему не проходит аутентификация? Что я недонастроил?

Заранее спасибо.


Содержание

Сообщения в этом обсуждении
"Авторизация SMTP в Sendmail с выборкой учётных записей из AD"
Отправлено SchTiRlic , 18-Авг-08 14:43 
Хотелось бы добавить что при прослушиваниии порта 389 tcpdump'ом никаких запросов не отображалось. А так же если нужна какая то доп. информация то скажите я дополню.

"Авторизация SMTP в Sendmail с выборкой учётных записей из AD"
Отправлено SchTiRlic , 29-Авг-08 14:19 
Отвечаю на свой вопрос сам. В конфиге saslauthd.conf была опечатка, ошибка.

А именно (ошибочная строка подчёркнута):
ldap_servers: ldap://сервер_AD/
ldap_bind_dn: cn=LDAPSearcher,cn=Users,dc=domain,dc=ru
ldap_bind_pw: password
ldap version: 3
^^^^^^^^^^^^^^^^^
ldap_search_base: dc=domain,dc=ru
ldap_filter: (sAMAccountName=%u)
ldap_debug: -1


Правильно так (изменёная строка подчёркнута):
ldap_servers: ldap://сервер_AD/
ldap_bind_dn: cn=LDAPSearcher,cn=Users,dc=domain,dc=ru
ldap_bind_pw: password
ldap_version: 3
^^^^^^^^^^^^^^^^^
ldap_search_base: dc=domain,dc=ru
ldap_filter: (sAMAccountName=%u)
ldap_debug: -1

ldap_servers: ldap://сервер_AD/
ldap_bind_dn: cn=LDAPSearcher,cn=Users,dc=domain,dc=ru
ldap_bind_pw: password
ldap version: 3
^^^^^^^^^^^^^^^^^
ldap_search_base: dc=domain,dc=ru
ldap_filter: (sAMAccountName=%u)
ldap_debug: -1


Т.е. я тупо опечатался и вместо подчёркивания поставил пробел. Вот так вот.