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

Исходное сообщение
"Подскажите как сдружить Sendmail + sasl2 "

Отправлено Diman , 16-Мрт-07 11:02 
Не получается сдружить сендмыл с саслом2. Делаю по http://www.falkotimme.com/howtos/sendmail_smtp_auth_tls/ без сертификатов.

sasl 2.1.22 собирал так

CPPFFLAGS="-I/usr/local/BerkleyDB.4.4/include"
./configure \
   --prefix=/usr \
   --with-bdb-incdir=/usr/local/BerkleyDB.4.4/include \
   --with-bdb-libdir=/usr/local/BerkleyDB.4.4/lib \
   --without-des \
   --disable-java \
   --disable-krb4 \
   --enable-static \
   --enable-auth-sasldb \
   --disable-anon \

sendmail 8.12.11 site.config.m4

APPENDDEF(`confENVDEF', `-DSASL=2')
APPENDDEF(`conf_sendmail_LIBS', `-lsasl2')
APPENDDEF(`confLIBDIRS', `-L/usr/lib/')
APPENDDEF(`confINCDIRS', `-I/usr/include/')

В sendmail.mc добавил

...
TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISM', `DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`no_default_msa')dnl
DAEMON_OPTIONS(`Post=smtp, Name=MTA')dnl
...

скрипт запуска saslauthd взял из статьи http://www.falkotimme.com/howtos/sendmail_smtp_auth_tls/ только путь /usr/lib/sasl2

При запуске сендмыла и саслдемона в логах никаких ошибок. Однако когда телнетом тестирую, то в ответ на ehlo нет строки AUTH.

Нужно сделать что бы при отправке сендмыл тиребовал авторизации из shadow. Подскажите куда рыть. И что означает /usr/lib/sasl2/Sendmail.conf не пойму, там же либы лежат. С какой стати сасл будет оттуда конфиги читать?

Спасибо


Содержание

Сообщения в этом обсуждении
"Подскажите как сдружить Sendmail + sasl2 "
Отправлено Medlar , 16-Мрт-07 11:24 
В /usr/lib/sasl2/Sendmail.conf:
pwcheck_method:shadow

"Подскажите как сдружить Sendmail + sasl2 "
Отправлено Diman , 16-Мрт-07 12:41 
>В /usr/lib/sasl2/Sendmail.conf:
>pwcheck_method:shadow


Что то не получается, все вроде верно :(

ps  показывает что сасл правильно запущен

/usr/sbin/saslauthd -a shadow

pwcheck method в Sendmail.conf поправил, перегрузил sasl.

Собираю сендмыл  с вышеприведенным site.m4

Build -c
Build install

Собираю конфиг с вышеприведенными директивами

Build sendmail.cf
копирую в /etc/mail

/usr/sbin/sendmail -d0.1 -bv root показывает SASLv2

рестарчу сендмейл

telnet host 25

220 some.host ESMTP
ehlo localhost
250-some.host
250-PIPELINING
250-SIZE 15240000
250-VRFY
250-ETRN
250 8BITMIME
quit
221 Buy

ничего про авторизацию нету. любые мыла пролетают только так.
Может я чего в sendmai.cf забыл написать?


"Подскажите как сдружить Sendmail + sasl2 "
Отправлено Medlar , 16-Мрт-07 13:46 
Очень странно,

egrep AuthMechanisms /etc/mail/sendmail.cf правду говорит?


"Подскажите как сдружить Sendmail + sasl2 "
Отправлено Diman , 16-Мрт-07 15:15 
>egrep AuthMechanisms /etc/mail/sendmail.cf правду говорит?

#O AuthMechanisns=EXTERNAL GSSAPI KERBEROS_V4 DIGEST-MD5 CRAM-MD5



"Подскажите как сдружить Sendmail + sasl2 "
Отправлено Medlar , 16-Мрт-07 15:48 
>>egrep AuthMechanisms /etc/mail/sendmail.cf правду говорит?
>
>#O AuthMechanisns=EXTERNAL GSSAPI KERBEROS_V4 DIGEST-MD5 CRAM-MD5
Почему закомментирован и не соответсвует тому, что определено в
TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISM', `DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

sendmail.cf не пересобран по-моему

У меня в sendmail.mc:

TRUST_AUTH_MECH(`LOGIN PLAIN')
define(`confAUTH_MECHANISMS',`LOGIN PLAIN')

sendmail.cf
C{TrustAuthMech}LOGIN PLAIN
O AuthMechanisms=LOGIN PLAIN


"Подскажите как сдружить Sendmail + sasl2 "
Отправлено lavr , 16-Мрт-07 15:49 
>>egrep AuthMechanisms /etc/mail/sendmail.cf правду говорит?
>
>#O AuthMechanisns=EXTERNAL GSSAPI KERBEROS_V4 DIGEST-MD5 CRAM-MD5
^^^^^^^^^^^^^^^^^^^^^^^^^^^- еще комментарии нужны?



"Подскажите как сдружить Sendmail + sasl2 "
Отправлено Diman , 16-Мрт-07 16:38 
Засада какая-то :(

добился

egrep TrustAuthMech /etc/mail/sendmail.cf

C{TrustAuthMech}LOGIN PLAIN
R$* $| $={TrustAuthMech}     $#RELAY

egrep AuthMechanisms /etc/mail/sendmail.cf

O AuthMechanisms=LOGIN PLAIN

Все равно 250-AUTH не появляется. Что ему щас то не нравится?

на AUTH выдает 503 authentication not enabled. В логах никаких ругательств ни от сасла ни от сендмыла.


"Подскажите как сдружить Sendmail + sasl2 "
Отправлено lavr , 16-Мрт-07 16:50 
>Засада какая-то :(
>
>добился
>
>egrep TrustAuthMech /etc/mail/sendmail.cf
>
>C{TrustAuthMech}LOGIN PLAIN
>R$* $| $={TrustAuthMech}     $#RELAY
>
>egrep AuthMechanisms /etc/mail/sendmail.cf
>
>O AuthMechanisms=LOGIN PLAIN
>
>Все равно 250-AUTH не появляется. Что ему щас то не нравится?
>
>на AUTH выдает 503 authentication not enabled. В логах никаких ругательств ни
>от сасла ни от сендмыла.

если сам SENDMAIL собран с поддержкой SASLv2,
то осталось ПРАВИЛЬНО собрать sendmail.cf из sendmail.mc

общее правило сборки sendmail.cf из sendmail.mc используя препроцессор m4:

#!/bin/sh

#--lavr define CF_DIR PATH
SENDMAIL_CF_DIR="/usr/share/sendmail/cf"

#--lavr define path to m4
M4="/usr/bin/m4"

${M4} -D_CF_DIR_=${SENDMAIL_CF_DIR}/ ${SENDMAIL_CF_DIR}/m4/cf.m4 $1 > $2

все это расписано в документации sendmail, /path/sendmail_sources/cf/README:
...
...
+--------------------------+
| INTRODUCTION AND EXAMPLE |
+--------------------------+

Configuration files are contained in the subdirectory "cf", with a
suffix ".mc".  They must be run through "m4" to produce a ".cf" file.
You must pre-load "cf.m4":

        m4 ${CFDIR}/m4/cf.m4 config.mc > config.cf

Alternatively, you can simply:

        cd ${CFDIR}/cf
        ./Build config.cf

where ${CFDIR} is the root of the cf directory and config.mc is the
name of your configuration file.  If you are running a version of M4
that understands the __file__ builtin (versions of GNU m4 >= 0.75 do
this, but the versions distributed with 4.4BSD and derivatives do not)
or the -I flag (ditto), then ${CFDIR} can be in an arbitrary directory.
For "traditional" versions, ${CFDIR} ***MUST*** be "..", or you MUST
use -D_CF_DIR_=/path/to/cf/dir/ -- note the trailing slash!  For example:

        m4 -D_CF_DIR_=${CFDIR}/ ${CFDIR}/m4/cf.m4 config.mc > config.cf
...


"Подскажите как сдружить Sendmail + sasl2 "
Отправлено Diman , 16-Мрт-07 17:52 
Конфиг собирается нормально, если закрыть глаза что на ошибки в директивах ему абсолютно пофигу. Можно написать что нить левое, а потом долго вслепую лазить искать где напортачил - схавает и не подавится.

Мда, попроще сендмыла что то ставить надо, чем к нему прикрутить авторизацию. Просто тачка оч. удаленная, на тормозном канале, со старым ядром и либами, бабла с нее никто не доит так что админа нету, а эти падлы-спаммеры пользуются. Я не админ, если что нить простое типа фаерволом зарубить еще могу, но вот на такой гемор в виде бесконечной борьбы с собиранием по кусочкам, перечитывании кучи документации ну просто времени нет, работа стоит. Посоветуйте smtp с простой настройкой что бы поддерживал авторизацию и виртуальные домены. Я полез в этот сендмейл после того как глянул всякие постфиксы и кумайлы. На первый взгляд показалось не проще, а сендмыл я всетки знал немного, но чую что не осилю. Существует в природе реально простой в настройке smtp сервер?

PS.Вот блин и щас скачал последний сендмыл, решил собрать, он требует какойто libsm, я rtfw - иксовый сессион менеджер. я в шоке - на кой сендмылу эта фигня и нафига оно на сервере. и вот с каждой утилитой такой гемор. где тут найти времени разобраться человеку который не тратит по 80h в неделю на именно эти проблемы я просто не представляю :(


"Подскажите как сдружить Sendmail + sasl2 "
Отправлено Medlar , 16-Мрт-07 18:14 
1\ после того как в конфиге появился O AuthMechanisms=LOGIN PLAIN
перезагрузил sendmail?
2\ может sendmail другой конфиг читает - как ты его запускаешь, какой командой?
3\ чтобы убедитья, что он читает именно отред. файл, попробуй поменять в конфиге например версию и посмотри, telnet заметит исправление или нет

"Подскажите как сдружить Sendmail + sasl2 "
Отправлено Medlar , 16-Мрт-07 18:24 
и еще выше я не правильно подсказала с pwcheck_method
Надо
pwcheck_method: saslauthd

Например, у меня:

pwcheck_method: saslauthd
mech_list: plain login
log_level: 10
saslauthd_path: /var/state/saslauthd/mux


"Подскажите как сдружить Sendmail + sasl2 "
Отправлено Diman , 16-Мрт-07 20:16 
Блин, вот что значит давно не практиковался. До меня дошло, что пров траф отлавливает :)))
Спасибо всем, проблема оказывается решилась, тупил я :) Зато сендмыл вылизал до блеска :)))

"Подскажите как сдружить Sendmail + sasl2 "
Отправлено Medlar , 19-Мрт-07 10:59 
>Блин, вот что значит давно не практиковался. До меня дошло, что пров
>траф отлавливает :)))
Можно поподробнее?
Просто интересно на будущее, как это было связано с тем, что sendmail не показывал
AUTH?

>Спасибо всем, проблема оказывается решилась,
Ну если осталась версия sendmail 8.12.11, то я бы не сказала, что проблема решилась.
20 марта как раз ровно год исполнится, как была обнаружена проблема в безопасности, и нужно было обновиться хотя бы до 8.13.6.



"Подскажите как сдружить Sendmail + sasl2 "
Отправлено Diman , 19-Мрт-07 12:11 
>>Блин, вот что значит давно не практиковался. До меня дошло, что пров
>>траф отлавливает :)))
>Можно поподробнее?
>Просто интересно на будущее, как это было связано с тем, что sendmail
>не показывал
>AUTH?
Ну так же как и прозрачная прокся на роутере наверно.

>
>>Спасибо всем, проблема оказывается решилась,
>Ну если осталась версия sendmail 8.12.11, то я бы не сказала, что
>проблема решилась.
>20 марта как раз ровно год исполнится, как была обнаружена проблема в
>безопасности, и нужно было обновиться хотя бы до 8.13.6.

Да, я обновился до последней.


"Подскажите как сдружить Sendmail + sasl2 "
Отправлено DN , 16-Мрт-07 12:09 
>Не получается сдружить сендмыл с саслом2. Делаю по http://www.falkotimme.com/howtos/sendmail_smtp_auth_tls/ без сертификатов.

>sendmail 8.12.11 site.config.m4
>
>APPENDDEF(`confENVDEF', `-DSASL=2')
>APPENDDEF(`conf_sendmail_LIBS', `-lsasl2')
>APPENDDEF(`confLIBDIRS', `-L/usr/lib/')
>APPENDDEF(`confINCDIRS', `-I/usr/include/')
>
>В sendmail.mc добавил
>
>...
>TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
>define(`confAUTH_MECHANISM', `DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
>FEATURE(`no_default_msa')dnl
>DAEMON_OPTIONS(`Post=smtp, Name=MTA')dnl
>...
>
>скрипт запуска saslauthd взял из статьи http://www.falkotimme.com/howtos/sendmail_smtp_auth_tls/ только путь /usr/lib/sasl2
>
>При запуске сендмыла и саслдемона в логах никаких ошибок. Однако когда телнетом
>тестирую, то в ответ на ehlo нет строки AUTH.

#sendmail -d0.1 -bv -Csendmail.cf root
                                                                
Compiled with: DNSMAP LOG MAP_REGEX MATCHGECOS MILTER MIME7TO8 MIME8TO7      
                NAMED_BIND NETINET NETINET6 NETUNIX NEWDB NIS PIPELINING SASLv2
                SCANF STARTTLS TCPWRAPPERS USERDB XDEBUG                      
...
Если SASLv2 нет в ответе sendmail, то надо пересобрать sendmail с опциями:
SENDMAIL_CFLAGS+=   -I/usr/local/include -DSASL=2
SENDMAIL_LDFLAGS+=  -L/usr/local/lib            
SENDMAIL_LDADD+=    -lsasl2

>Нужно сделать что бы при отправке сендмыл тиребовал авторизации из shadow. Подскажите
>куда рыть. И что означает /usr/lib/sasl2/Sendmail.conf не пойму, там же либы
>лежат. С какой стати сасл будет оттуда конфиги читать?

saslauthd нужно сконфигурить (-a shadow), чтобы он смотрел shadow,
а не базу sasldb2.db .

SASL ,будет читать конфиги из /usr/lib/sasl2/ , так он устроен.
В этих конфигах описываются допустимые механизмы аутентификации и
авторизации для соответствующих приложений.

На этом сайте много ответов на наши вопросы .
Воспользуйтесь поиском.