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

Исходное сообщение
"Проблема  с Saslauthd"

Отправлено zloy_serg , 04-Дек-06 15:57 
Итак,
окружение:
cyrus-sasl-2.1.19-5.EL4
этот демон я планирую использовать для аутентификации пользователей в cyrus-imapd-2.2.10-1.RHEL4.1, а также для смтп авторизация пользователей в exim-4.62-22.99.el4.at

собственно сама ОС RedHat_EL4.

Проблема. по всей видимости в работе Saslauthd, но пока не понимаю в какую сторону копать. поиски в интернете ничего конкретного не дали.
как это выражается
когда я делаю
[root@mx ~]# saslpasswd2 -c testuser
Password:
Again (for verification):
[root@mx ~]#  

в логе мессажес
[root@mx ~]# tail -f /var/log/messages
Dec  4 14:48:52 mx saslpasswd2: setpass succeeded for testuser
Dec  4 14:48:52 mx saslpasswd2: error deleting entry from sasldb: DB_NOTFOUND: No matching key/data pair found

но тем не менее
в базе запись появляется
[root@mx ~]# sasldblistusers2
cyrus@localdomain.com: userPassword
support@localdomain.com: userPassword
sergey@localdomain.com: userPassword
test@localdomain.com: userPassword
testuser@localdomain.com: userPassword
[root@mx ~]#

проблема в том что эта запись не используется.. точнее используя её не получается пройти аутентификацию.
а используется для аутентификации и экзимом и самим цайрусом ЛОКАЛЬНАЯ учётная запись пользователя. тоесть только используя локальную учётку можно авторизоваться и в цайрусе и в экзиме.

в цайрусе эквивалентный пользователь (testuser@localdomain.com) создан.


Содержание

Сообщения в этом обсуждении
"Проблема  с Saslauthd"
Отправлено lavr , 04-Дек-06 16:51 
>Итак,
>окружение:
>cyrus-sasl-2.1.19-5.EL4
>этот демон я планирую использовать для аутентификации пользователей в cyrus-imapd-2.2.10-1.RHEL4.1, а также
>для смтп авторизация пользователей в exim-4.62-22.99.el4.at
>
>собственно сама ОС RedHat_EL4.
>
>Проблема. по всей видимости в работе Saslauthd, но пока не понимаю в
>какую сторону копать. поиски в интернете ничего конкретного не дали.
>как это выражается
>когда я делаю
>[root@mx ~]# saslpasswd2 -c testuser
>Password:
>Again (for verification):
>[root@mx ~]#
>
>в логе мессажес
>[root@mx ~]# tail -f /var/log/messages
>Dec  4 14:48:52 mx saslpasswd2: setpass succeeded for testuser
>Dec  4 14:48:52 mx saslpasswd2: error deleting entry from sasldb: DB_NOTFOUND:
>No matching key/data pair found
>
>но тем не менее
>в базе запись появляется
>[root@mx ~]# sasldblistusers2
>cyrus@localdomain.com: userPassword
>support@localdomain.com: userPassword
>sergey@localdomain.com: userPassword
>test@localdomain.com: userPassword
>testuser@localdomain.com: userPassword
>[root@mx ~]#
>
>проблема в том что эта запись не используется.. точнее используя её не
>получается пройти аутентификацию.
>а используется для аутентификации и экзимом и самим цайрусом ЛОКАЛЬНАЯ учётная запись
>пользователя. тоесть только используя локальную учётку можно авторизоваться и в цайрусе
>и в экзиме.
>
>в цайрусе эквивалентный пользователь (testuser@localdomain.com) создан.

надо просто понять суть и возможные схемы авторизации и их сочетание или
использование в ПО.

Что нужно для SMTP-AUTH:

- собрать exim с поддержкой SASL, на www.exim.org есть вся документация и расписано
прекрасно! Ньюанс чтоб вы не запутались, MTA, допустим Exim, может выступать как
- сервер авторизации, это когда ваши клиенты сперва проходят авторизацию, а затем
отправляют почту
- клиент, это когда вы ВСЮ вашу почту отправляете[получаете] через провайдера, те
ваш exim авторизуется через smt-auth у MTA провайдера

Теперь Cyrus - ну тут вовсе все просто, sasl2 творение в рамках проекта cyrus

Теперь собственно про SASL2 - все расписано в документации, это во-первых

2) sasl - очень универсальный механизм авторизации, можно использовать
собственную базу sasldb, а можно так называемые плагины - механихмы позволяющие
брать авторизацию(пароли) из системной авторизации pwchek-method, из разных DB,
из LDAP...

3) чтобы меньше мучаться с разными методами, можно использовать УНИВЕРСАЛЬНЫЙ -
это демон saslauthd с параметрами запуска

Теперь ньюансы: когда вы используете SMTP-AUTH, НЕ ЗАБЫВАЙТЕ про domain, иначе у вас
ничего не получится, для этого следует почитать документацию по SASL:

про userid, domain, realm

В документации самого Exima просто конкретно есть главы:

# 33. SMTP authentication

    * 33.1 Generic options for authenticators
    * 33.2 The AUTH parameter on MAIL commands
    * 33.3 Authentication on an Exim server
    * 33.4 Testing server authentication
    * 33.5 Authentication by an Exim client

# 34. The plaintext authenticator

    * 34.1 Using plaintext in a server
    * 34.2 The PLAIN authentication mechanism
    * 34.3 The LOGIN authentication mechanism
    * 34.4 Support for different kinds of authentication
    * 34.5 Using plaintext in a client

# 35. The cram_md5 authenticator

    * 35.1 Using cram_md5 as a server
    * 35.2 Using cram_md5 as a client

# 36. The cyrus_sasl authenticator

    * 36.1 Using cyrus_sasl as a server


"Проблема  с Saslauthd"
Отправлено zloy_serg , 04-Дек-06 17:44 
>
>Что нужно для SMTP-AUTH:
>
>- собрать exim с поддержкой SASL, на www.exim.org есть вся документация и
>расписано
>прекрасно!
--- этот  пункт выполнен
[root@mx ~]# exim -bV
Exim version 4.62 #1 built 05-May-2006 06:18:24
Copyright (c) University of Cambridge 2006
Berkeley DB: Sleepycat Software: Berkeley DB 4.2.52: (December 11, 2004)
Support for: crypteq iconv() IPv6 PAM Perl TCPwrappers OpenSSL Content_Scanning Old_Demime Experimental_SPF Experimental_SRS Experimental_DomainKeys
Lookups: lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz dnsdb dsearch ldap ldapdn ldapm mysql nis nis0 nisplus passwd pgsql sqlite
Authenticators: cram_md5 cyrus_sasl plaintext spa
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore/mbx autoreply lmtp pipe smtp
Fixed never_users: 0
Size of off_t: 4
[root@mx ~]#


> Ньюанс чтоб вы не запутались, MTA, допустим Exim, может выступать как
>
>- сервер авторизации, это когда ваши клиенты сперва проходят авторизацию, а затем
>
>отправляют почту
>- клиент, это когда вы ВСЮ вашу почту отправляете[получаете] через провайдера, те
>
>ваш exim авторизуется через smt-auth у MTA провайдера


-- эту идеологию я прекрасно понимаю..(т.к. работаю с Экзим ещё с версии 3-11.)


>Теперь Cyrus - ну тут вовсе все просто, sasl2 творение в рамках
>проекта cyrus

-- думаю что не совсем просто, так как неясные возникают ошибки.. при совершенно штатной на мой взгляд операции
>когда я делаю
>>[root@mx ~]# saslpasswd2 -c testuser
>>Password:
>>Again (for verification):
>>[root@mx ~]#
>>
>>в логе мессажес
>>[root@mx ~]# tail -f /var/log/messages
>>Dec  4 14:48:52 mx saslpasswd2: setpass succeeded for testuser
>>Dec  4 14:48:52 mx saslpasswd2: error deleting entry from sasldb: DB_NOTFOUND:
>>No matching key/data pair found


>
>Теперь собственно про SASL2 - все расписано в документации, это во-первых
>
>2) sasl - очень универсальный механизм авторизации, можно использовать
>собственную базу sasldb, а можно так называемые плагины - механихмы позволяющие
>брать авторизацию(пароли) из системной авторизации pwchek-method, из разных DB,
>из LDAP...
>
>3) чтобы меньше мучаться с разными методами, можно использовать УНИВЕРСАЛЬНЫЙ -
>это демон saslauthd с параметрами запуска

-- если можно по подробнее об этом универсальном методе...


>
>Теперь ньюансы: когда вы используете SMTP-AUTH, НЕ ЗАБЫВАЙТЕ про domain, иначе у
>вас
>ничего не получится, для этого следует почитать документацию по SASL:
>
>про userid, domain, realm
>

-- ок Спасибо учёл, сегодня почитаю...



"Проблема  с Saslauthd"
Отправлено lavr , 04-Дек-06 18:18 
>>Теперь Cyrus - ну тут вовсе все просто, sasl2 творение в рамках
>>проекта cyrus
>
>-- думаю что не совсем просто, так как неясные возникают ошибки.. при
>совершенно штатной на мой взгляд операции

просто, если документацию посмотришь, не забыв про user, domain, realm
если у тебя виртуальные домены и виртуальные пользователи, то domain обязательно,
ибо если просто user то exim наверное будет к нему добавлять свой hostname
Если же у тебя один домен: lala.ru тогда можешь пользователей только с username
заводить

ты можешь делать схемы SASL для разного софта - читай в документации, а можешь
saslauthd -a pam - тогда будет универсальный метод, те усе через pam, а там
для кажного сервиса свои настройки, хошь pam_pwdfile, pam_smb, pam_ldap и тд и тп,
кажный сервис через свою авторизацию: для smtp - будет один pam модуль, для imap другой,
для ftp еще какой-нить. ну это как пример.

Народ разделился как всегда на две категории:

- которые использую sasl с sasldb и схемами для софта (saslauthd якобы тежловесен, лично
я не заметил...)
- которые используют демон saslauthd

Как только в голове появится некая целостность и структурность, все станет просто

PS. Попробуй еще поиск в форуме, много про sasl разного было.


"Проблема  с Saslauthd"
Отправлено Alex_hha , 09-Дек-06 17:59 
> 2) sasl - очень универсальный механизм авторизации, можно использовать
> собственную базу sasldb, а можно так называемые плагины - механихмы позволяющие
> брать авторизацию(пароли) из системной авторизации pwchek-method, из разных DB,
> из LDAP...
в случае с SASL, то это чисто аутентификация (проверка логина и пароля по некоторому алгоритму, PLAIN, LOGIN, CRAM-MD5 и т.д.), а не авторизация (раграничение прав, аутентифицированных пользователей). Это все таки разные понятия.

"Проблема  с Saslauthd"
Отправлено lavr , 09-Дек-06 18:33 
>> 2) sasl - очень универсальный механизм авторизации, можно использовать
>> собственную базу sasldb, а можно так называемые плагины - механихмы позволяющие
>> брать авторизацию(пароли) из системной авторизации pwchek-method, из разных DB,
>> из LDAP...
>в случае с SASL, то это чисто аутентификация (проверка логина и пароля
>по некоторому алгоритму, PLAIN, LOGIN, CRAM-MD5 и т.д.), а не авторизация
>(раграничение прав, аутентифицированных пользователей). Это все таки разные понятия.

истинно так, просто в форумах зачастую оба СЛОВА используют для выражения ОДНОГО механизма
- аутентикации.

Sorry, я пытался одно время правильно отвечать, потом плюнул, постараюсь вернуться
к истинной терминологии, которая правильно отражает механизм.

Sorry еще раз.


"Проблема  с Saslauthd"
Отправлено zloy_serg , 13-Дек-06 09:57 

в октябрьском номере за 2006 год журнала Системный Администратор нашёл неплохую статью с описанием этой (SASL) фичи...

помогло.

и всем спасибо за ответы\советы


"Проблема  с Saslauthd"
Отправлено lavr , 13-Дек-06 19:03 
>
>в октябрьском номере за 2006 год журнала Системный Администратор нашёл неплохую статью
>с описанием этой (SASL) фичи...
>
>помогло.
>
>и всем спасибо за ответы\советы

дык че не получалось то?
ссылка есть на статью?


"Проблема  с Saslauthd"
Отправлено zloy_serg , 14-Дек-06 09:16 
>>
>>в октябрьском номере за 2006 год журнала Системный Администратор нашёл неплохую статью
>>с описанием этой (SASL) фичи...
>>
>>помогло.
>>
>>и всем спасибо за ответы\советы
>
>дык че не получалось то?
>ссылка есть на статью?

Статья в Октябрьском номере за 2006год
БЕЗОПАСНОСТЬ
Название: Как настроить библиотеку SASL для совместной работы c Kerberos
краткий обзор: С помощью библиотеки SASL сетевые приложения могут автоматически договориться об использовании определенного механизма подтверждения идентичности пользователя. Как осуществить взаимодействие библиотеки SASL c Kerberos?
автор: Михаил Кондрин
-------------------------------------------
теперь по теме...
а косяк был в том что в файле
---------------------------------------------------------
[root@mx ~]# cat /etc/sysconfig/saslauthd
# Directory in which to place saslauthd's listening socket, pid file, and so
# on.  This directory must already exist.
SOCKETDIR=/var/run/saslauthd

# Mechanism to use when checking passwords.  Run "saslauthd -v" to get a list
# of which mechanism your installation was compiled to use.
MECH=shadow
####MECH=sasldb

# Additional flags to pass to saslauthd on the command line.  See saslauthd(8)
# for the list of accepted flags.
FLAGS=
[root@mx ~]#
---------------------------------------------------------

был выставлен метод shadow
а метод sasldb не поддерживался текущей версией пакета..
и поэтому пакет нужно пересобирать с поддержкой этого механизма.