Не получается сдружить сендмыл с саслом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 не пойму, там же либы лежат. С какой стати сасл будет оттуда конфиги читать?
Спасибо
В /usr/lib/sasl2/Sendmail.conf:
pwcheck_method:shadow
>В /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 забыл написать?
Очень странно,egrep AuthMechanisms /etc/mail/sendmail.cf правду говорит?
>egrep AuthMechanisms /etc/mail/sendmail.cf правду говорит?#O AuthMechanisns=EXTERNAL GSSAPI KERBEROS_V4 DIGEST-MD5 CRAM-MD5
>>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')dnlsendmail.cf не пересобран по-моему
У меня в sendmail.mc:
TRUST_AUTH_MECH(`LOGIN PLAIN')
define(`confAUTH_MECHANISMS',`LOGIN PLAIN')sendmail.cf
C{TrustAuthMech}LOGIN PLAIN
O AuthMechanisms=LOGIN PLAIN
>>egrep AuthMechanisms /etc/mail/sendmail.cf правду говорит?
>
>#O AuthMechanisns=EXTERNAL GSSAPI KERBEROS_V4 DIGEST-MD5 CRAM-MD5
^^^^^^^^^^^^^^^^^^^^^^^^^^^- еще комментарии нужны?
Засада какая-то :(добился
egrep TrustAuthMech /etc/mail/sendmail.cf
C{TrustAuthMech}LOGIN PLAIN
R$* $| $={TrustAuthMech} $#RELAYegrep AuthMechanisms /etc/mail/sendmail.cf
O AuthMechanisms=LOGIN PLAIN
Все равно 250-AUTH не появляется. Что ему щас то не нравится?
на AUTH выдает 503 authentication not enabled. В логах никаких ругательств ни от сасла ни от сендмыла.
>Засада какая-то :(
>
>добился
>
>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.cfwhere ${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
...
Конфиг собирается нормально, если закрыть глаза что на ошибки в директивах ему абсолютно пофигу. Можно написать что нить левое, а потом долго вслепую лазить искать где напортачил - схавает и не подавится.Мда, попроще сендмыла что то ставить надо, чем к нему прикрутить авторизацию. Просто тачка оч. удаленная, на тормозном канале, со старым ядром и либами, бабла с нее никто не доит так что админа нету, а эти падлы-спаммеры пользуются. Я не админ, если что нить простое типа фаерволом зарубить еще могу, но вот на такой гемор в виде бесконечной борьбы с собиранием по кусочкам, перечитывании кучи документации ну просто времени нет, работа стоит. Посоветуйте smtp с простой настройкой что бы поддерживал авторизацию и виртуальные домены. Я полез в этот сендмейл после того как глянул всякие постфиксы и кумайлы. На первый взгляд показалось не проще, а сендмыл я всетки знал немного, но чую что не осилю. Существует в природе реально простой в настройке smtp сервер?
PS.Вот блин и щас скачал последний сендмыл, решил собрать, он требует какойто libsm, я rtfw - иксовый сессион менеджер. я в шоке - на кой сендмылу эта фигня и нафига оно на сервере. и вот с каждой утилитой такой гемор. где тут найти времени разобраться человеку который не тратит по 80h в неделю на именно эти проблемы я просто не представляю :(
1\ после того как в конфиге появился O AuthMechanisms=LOGIN PLAIN
перезагрузил sendmail?
2\ может sendmail другой конфиг читает - как ты его запускаешь, какой командой?
3\ чтобы убедитья, что он читает именно отред. файл, попробуй поменять в конфиге например версию и посмотри, telnet заметит исправление или нет
и еще выше я не правильно подсказала с pwcheck_method
Надо
pwcheck_method: saslauthdНапример, у меня:
pwcheck_method: saslauthd
mech_list: plain login
log_level: 10
saslauthd_path: /var/state/saslauthd/mux
Блин, вот что значит давно не практиковался. До меня дошло, что пров траф отлавливает :)))
Спасибо всем, проблема оказывается решилась, тупил я :) Зато сендмыл вылизал до блеска :)))
>Блин, вот что значит давно не практиковался. До меня дошло, что пров
>траф отлавливает :)))
Можно поподробнее?
Просто интересно на будущее, как это было связано с тем, что sendmail не показывал
AUTH?
>Спасибо всем, проблема оказывается решилась,
Ну если осталась версия sendmail 8.12.11, то я бы не сказала, что проблема решилась.
20 марта как раз ровно год исполнится, как была обнаружена проблема в безопасности, и нужно было обновиться хотя бы до 8.13.6.
>>Блин, вот что значит давно не практиковался. До меня дошло, что пров
>>траф отлавливает :)))
>Можно поподробнее?
>Просто интересно на будущее, как это было связано с тем, что sendmail
>не показывал
>AUTH?
Ну так же как и прозрачная прокся на роутере наверно.
>
>>Спасибо всем, проблема оказывается решилась,
>Ну если осталась версия sendmail 8.12.11, то я бы не сказала, что
>проблема решилась.
>20 марта как раз ровно год исполнится, как была обнаружена проблема в
>безопасности, и нужно было обновиться хотя бы до 8.13.6.Да, я обновился до последней.
>Не получается сдружить сендмыл с саслом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/ , так он устроен.
В этих конфигах описываются допустимые механизмы аутентификации и
авторизации для соответствующих приложений.На этом сайте много ответов на наши вопросы .
Воспользуйтесь поиском.