LINUX.ORG.RU
ФорумAdmin

SASL + LDAP


0

0

Уважаемые гуру!!! Помогите!!! Пытаюсь сделать связку SASL + LDAP для авторизации пользователей... Бьюсь неделю. Посмотрел кучу примеров и документации. Уже запутался в конец. Может кто подскажет что делать и главное КАК!!! Все застопорилось на сообщении при загрузке системы:

slapd[540]: auxpropfunc error invalid parameter supplied

готов показать конфиги. Только помогите!!!


В догонку:

root@mail# ldapwhoami -W -D "cn=admin,dc=example,dc=ru"

Enter LDAP Password:

SASL/GSSAPI authentication started ldap_sasl_interactive_bind_s: Local error (-2) additional info: SASL(-1): generic failure: GSSAPI Error: Miscellaneous failure (see text) (open(/tmp/krb5cc_0): No such file or directory)

root@mail# ldapsearch -h localhost -p 389 -x -b "" -s base -LLL

supportedSASLMechanisms dn:

supportedSASLMechanisms: NTLM

supportedSASLMechanisms: GSSAPI

supportedSASLMechanisms: DIGEST-MD5

supportedSASLMechanisms: CRAM-MD5

Не нужен мне GSSAPI! Я хочу использовать DIGEST-MD5 или CRAM-MD5! Вроде везде все поставил. А толку....

Milker (*) (21.07.2005 18:34:52)

Milker
() автор топика
Ответ на: комментарий от Milker

ты хочешь чтобы sasl авторизовывал пользователей которые в базе ldap,
или наоборот чтобы ldap авторизовывался из базы sasl ????

anonymous2 ★★★★★
()
Ответ на: комментарий от anonymous2

У меня вообще-то планируется связка postfix+sasl+ldap+ciurier-imap. Все пользователи виртуальные, т.е. хранятся в ldap. Postfix+ldap работает, т.е. письма принимаются. Мне нужно чтобы клиенты авторизовались через SASL. Нашел пару примеров в инете с подобной схемой. Но там почему то не прописана настройка SASL, только продекларирована. Помогите!

anonymous
()
Ответ на: комментарий от anonymous

Предыдущее сообщение было мое.

В добавок для информации сейчас у меня стоят следующие пакеты: courier-authlib-base-0.56 courier-authlib-ldap-0.56 courier-authlib-userdb-0.56 courier-imap-4.0.3,1 cyrus-sasl-2.1.21 cyrus-sasl-ldapdb-2.1.21 cyrus-sasl-saslauthd-2.1.21 db4-4.0.14_1,1 db42-4.2.52_4 openldap-sasl-client-2.2.27 openldap-sasl-server-2.2.27

При запуске системы в логах пишется: _sasl_plugin_load failed on sasl_auxprop_plug_init for plugin: ldapdb т.е. проблемы с cyrus-sasl-ldapdb... Но ставил все правильно.

Milker
() автор топика
Ответ на: комментарий от Milker

чтобы sasl брал пользователей ldap необходимо:
1. sasl должен быть с поддержкой ldap
2. файл конфигурации saslauthdb.conf
ldap_servers:     ldap://ldap.domain.ru
ldap_bind_dn:     cn=login,dc=domain,dc=ru
ldap_password:    pass_login
ldap_search_base: ou=users,dc=domain,dc=ru

3. запускаем saslauthd -m /var/run/saslauthd -a ldap -O /etc/saslauthdb.conf

4. где то в исходниках есть тест для проверки
testsaslauthd -u user_ldap -p pass_ldap

anonymous2 ★★★★★
()
Ответ на: комментарий от anonymous2

Делал именно в такой последовательности.

> 3. запускаем saslauthd -m /var/run/saslauthd -a ldap -O /etc/saslauthdb.conf

Я запускаю saslauthd -a ldap стартуют 5 процессов. ключи -m и -O не указываю так как использую стандартное расположение файлов, а они берутся естественно по дефолту. Уже проверено.

Сасл собирал с поддержкой лдап. но судя по ошибке или она не подхватила этот модуль или она не может его найти...

Milker
() автор топика
Ответ на: комментарий от Milker

Смущает еще одно. При сборке выдает следующее: ===> Running ldconfig /sbin/ldconfig -m /usr/local/lib

===> Registering installation for cyrus-sasl-2.1.21

===> Returning to build of cyrus-sasl-saslauthd-2.1.21

===> cyrus-sasl-saslauthd-2.1.21 depends on shared library: db-4.2.2 - found

===> cyrus-sasl-saslauthd-2.1.21 depends on shared library: ldap-2.2.7 - found

===> Configuring for cyrus-sasl-saslauthd-2.1.21

т.е. обнаружен лдап. Но вот строка ниже: checking LDAPDB... disabled говорит что ldapdb не подключили... вроде все опции проверил. везде указываю что надо юзать лдапдб, но... Где курить?

Milker
() автор топика
Ответ на: комментарий от Milker

saslauthd не нужен, нужно собрать sasl с поддержкой ldapdb (--enable-ldapdb). Конфиг например для postfix (smtpd.conf):

pwcheck_method: auxprop
auxprop_plugin: ldapdb
ldapdb_uri: ldap://127.0.0.1
ldapdb_id: auxprop
ldapdb_pw: secret
ldapdb_mech: login plain digest-md5 cram-md5
mech_list: login plain digest-md5 cram-md5

настройка slapd:

sasl_mech_list: plain, digest-md5
sasl-secprops minssf=128
sasl-authz-policy both

sasl-regexp
        uid=(.*)@(.*),cn=digest-md5,cn=auth
        mail=$1,ou=$2,ou=Domains,o=mydomain <- тут уже от схемы зависит

sasl-regexp
        uid=(.*),cn=digest-md5,cn=auth ldap:///o=mydomain??sub?uid=$1

запись для auxprop:

dn: uid=auxprop,ou=Admins,o=mydomain
uid: auxprop
objectClass: top
objectClass: account
objectClass: simpleSecurityObject
saslAuthzTo: ldap:///o=mydomain??sub?uid=cyrus
saslAuthzTo: ldap:///ou=Domains,o=mydomain??sub?objectClass=qmailUser
userPassword: secret
description: auth account for postfix and cyrus

borisych ★★★★★
()
Ответ на: комментарий от borisych

так... стоп... т.е. получается такая последовательность действий...: 1. ставим чистый sasl2 2. ставим openldap с поддержкой sasl2 3. сносим sasl2 4. ставим sasl2 c поддержкой ldapdb правильно? во всяком случае я это прочитал только что в доке по cyrus-sasl2.

Кстати, borisych можешь стукнуть в аську? моя 285908205. надоедать не буду просто так оперативней получиться. у меня уже это горит.

Milker
() автор топика
Ответ на: комментарий от Milker

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

Milker
() автор топика
Ответ на: комментарий от borisych

У меня схема такая:

mailDomain=mail.example.ru, ou=Domains, ou=postfix, ou=daemons, dc=example, dc=ru

таким образом ваш кусок конфига slapd

> sasl-regexp > uid=(.*)@(.*),cn=digest-md5,cn=auth

> mail=$1,ou=$2,ou=Domains,o=mydomain <- тут уже от схемы зависит

> sasl-regexp

> uid=(.*),cn=digest-md5,cn=auth ldap:///o=mydomain??sub?uid=$1

в моем случае будет выглядеть так?:

sasl-regexp

uid=(.*)@(.*),cn=digest-md5,cn=auth

mail=$1,ou=$2,ou=Domains,ou=postfix,ou=daemons,dc=example,dc=ru

sasl-regexp

uid=(.*),cn=digest-md5,cn=auth ldap:///dc=example,dc=ru??sub?uid=$1

Я правильно понимаю?

Milker
() автор топика
Ответ на: комментарий от Milker

Все... крыша съехала окончательно...

поставил openldap-sasl-server + cyrus-sasl-ldapdb библиотеки все встали. настроил конфиги. запускаю slapd и вижу в логах все тоже:

Jul 22 20:11:59 mail slapd[22401]: _sasl_plugin_load failed on sasl_auxprop_plug_init for plugin: ldapdb

Jul 22 20:11:59 mail slapd[22402]: slapd starting

Запустил slaptest. Стало еще грустнее:

Jul 22 20:16:09 mail slaptest: bdb(dc=example,dc=ru): Database handles open during environment close

Jul 22 20:16:09 mail slaptest: bdb_db_destroy: close failed: Invalid argument (22)

Что делать?????

Milker
() автор топика
Ответ на: комментарий от anonymous

> Мне нужно чтобы клиенты авторизовались через SASL

Когда клиенты должны авторизовываться? При отправке почты? Или при ее прочтении?

Postfix работает в чруте, как он увидит сасловский сокет для выполнения авторизации, если по-умолчанию неизвестно куда кладет свой mux?

anonymous
()
Ответ на: комментарий от anonymous

> Когда клиенты должны авторизовываться? При отправке почты? Или при ее прочтении?

И при отправке и при получении.

> Postfix работает в чруте, как он увидит сасловский сокет для выполнения авторизации, если по-умолчанию неизвестно куда кладет свой mux?

Встречный вопрос: а как это работает у других? есть в инете примеры настроек. Я ничего не выдумывал сам, я только попытался повторить уже готовую схему. И не заработало.

Для информации: openldap-2.2.27 courier-imap-4.0.3,1 courier-authlib-ldap-0.56 cyrus-sasl-2.1.21 postfix-2.3.20050708,2

Конфликта версий нет.

Milker
() автор топика
Ответ на: комментарий от Milker

> Встречный вопрос: а как это работает у других?

Как это сделано у меня я рассказал здесь: http://www.linux.org.ru/jump-message.jsp?msgid=977170

и вот что у меня стоит:

net-nds/openldap-2.2.27-r1 dev-libs/cyrus-sasl-2.1.21-r1 net-mail/courier-imap-4.0.1-r2 mail-mta/postfix-2.2.2-r1 net-libs/courier-authlib-0.55.20050320

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.