dennica: smtp авторизация (sendmail + dovecot на FC5)

21 сообщение / 0 new
Последнее сообщение
Гость
dennica: smtp авторизация (sendmail + dovecot на FC5)

пользователь не проходит авторизацию на smtp - сервере
25 порт открыт
pop3/imap авторизация проходит без проблем

в /var/log/maillog такая строчка:
Jan 5 07:26:37 server sendmail[17310]: l05DPkQA017310: ns1.mydomain.com [XX.XXX.XX.XXX] did not issue MAIL/EXPN/VRFY/ETRN during connection to MTA

edge (не проверено)

Не, с sendmail уже наверное никто кроме вас не работает, поэтому наверное и не помогут. Настраивать его грустно..
Но судя по скудному логу почтовый клиент не выполнил перечень правил, необходимых для успешного соединения с sendmail. Похоже на то, что sendmail.cf собран без поддержки smtp авторизации. Пришлите сюда sendmail.mc, с которого cf собираете, посмотрим.
А лучше б на postfix поменять.

[ Редактирование 05.01.2007 - 19:30:41 ]

dennica (не проверено)

Это sendmail.mc
[code]
divert(-1)dnl
dnl #
dnl # This is the sendmail macro config file for m4. If you make changes to
dnl # /etc/mail/sendmail.mc, you will need to regenerate the
dnl # /etc/mail/sendmail.cf file by confirming that the sendmail-cf package is
dnl # installed and then performing a
dnl #
dnl # make -C /etc/mail
dnl #
include(`/usr/share/sendmail-cf/m4/cf.m4')dnl
VERSIONID(`setup for linux')dnl
OSTYPE(`linux')dnl
dnl #
dnl # default logging level is 9, you might want to set it higher to
dnl # debug the configuration
dnl #
dnl define(`confLOG_LEVEL', `9')dnl
dnl #
dnl # Uncomment and edit the following line if your outgoing mail needs to
dnl # be sent out through an external mail server:
dnl #
dnl define(`SMART_HOST',`smtp.your.provider')dnl
dnl #
define(`confDEF_USER_ID',``8:12'')dnl
dnl define(`confAUTO_REBUILD')dnl
define(`confTO_CONNECT', `1m')dnl
define(`confTRY_NULL_MX_LIST',true)dnl
define(`confDONT_PROBE_INTERFACES',true)dnl
define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')dnl
define(`ALIAS_FILE', `/etc/aliases')dnl
define(`STATUS_FILE', `/var/log/mail/statistics')dnl
define(`UUCP_MAILER_MAX', `2000000')dnl
define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl
define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl
define(`confAUTH_OPTIONS', `A')dnl
dnl #
dnl # The following allows relaying if the user authenticates, and disallows
dnl # plaintext authentication (PLAIN/LOGIN) on non-TLS links
dnl #
define(`confAUTH_OPTIONS', `A y')dnl
dnl #
dnl # PLAIN is the preferred plaintext authentication method and used by
dnl # Mozilla Mail and Evolution, though Outlook Express and other MUAs do
dnl # use LOGIN. Other mechanisms should be used if the connection is not
dnl # guaranteed secure.
dnl # Please remember that saslauthd needs to be running for AUTH.
dnl #
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
dnl #
dnl # Rudimentary information on creating certificates for sendmail TLS:
dnl # cd /usr/share/ssl/certs; make sendmail.pem
dnl # Complete usage:
dnl # make -C /usr/share/ssl/certs usage
dnl #
dnl define(`confCACERT_PATH',`/etc/pki/tls/certs')dnl
dnl define(`confCACERT',`/etc/pki/tls/certs/ca-bundle.crt')dnl
dnl define(`confSERVER_CERT',`/etc/pki/tls/certs/sendmail.pem')dnl
dnl define(`confSERVER_KEY',`/etc/pki/tls/certs/sendmail.pem')dnl
dnl #
dnl # This allows sendmail to use a keyfile that is shared with OpenLDAP's
dnl # slapd, which requires the file to be readble by group ldap
dnl #
dnl define(`confDONT_BLAME_SENDMAIL',`groupreadablekeyfile')dnl
dnl #
dnl define(`confTO_QUEUEWARN', `4h')dnl
dnl define(`confTO_QUEUERETURN', `5d')dnl
dnl define(`confQUEUE_LA', `12')dnl
dnl define(`confREFUSE_LA', `18')dnl
define(`confTO_IDENT', `0')dnl
dnl FEATURE(delay_checks)dnl
FEATURE(`no_default_msa',`dnl')dnl
FEATURE(`smrsh',`/usr/sbin/smrsh')dnl
FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl
FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl
FEATURE(redirect)dnl
FEATURE(always_add_domain)dnl
FEATURE(use_cw_file)dnl
FEATURE(use_ct_file)dnl
dnl #
dnl # The following limits the number of processes sendmail can fork to accept
dnl # incoming messages or process its message queues to 12.) sendmail refuses
dnl # to accept connections once it has reached its quota of child processes.
dnl #
dnl define(`confMAX_DAEMON_CHILDREN', 12)dnl
dnl #
dnl # Limits the number of new connections per second. This caps the overhead
dnl # incurred due to forking new sendmail processes. May be useful against
dnl # DoS attacks or barrages of spam. (As mentioned below, a per-IP address
dnl # limit would be useful but is not available as an option at this writing.)
dnl #
dnl define(`confCONNECTION_RATE_THROTTLE', 3)dnl
dnl #
dnl # The -t option will retry delivery if e.g. the user runs over his quota.
dnl #
FEATURE(local_procmail,`',`procmail -t -Y -a $h -d $u')dnl
FEATURE(`access_db',`hash -T -o /etc/mail/access.db')dnl
FEATURE(`blacklist_recipients')dnl
EXPOSED_USER(`root')dnl
dnl #
dnl # For using Cyrus-IMAPd as POP3/IMAP server through LMTP delivery uncomment
dnl # the following 2 definitions and activate below in the MAILER section the
dnl # cyrusv2 mailer.
dnl #
dnl define(`confLOCAL_MAILER', `cyrusv2')dnl
dnl define(`CYRUSV2_MAILER_ARGS', `FILE /var/lib/imap/socket/lmtp')dnl
dnl #
dnl # The following causes sendmail to only listen on the IPv4 loopback address
dnl # 127.0.0.1 and not on any other network devices. Remove the loopback
dnl # address restriction to accept email from the internet or intranet.
dnl #
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl
dnl #
dnl # The following causes sendmail to additionally listen to port 587 for
dnl # mail from MUAs that authenticate. Roaming users who can't reach their
dnl # preferred sendmail daemon due to port 25 being blocked or redirected find
dnl # this useful.
dnl #
dnl DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl
dnl #
dnl # The following causes sendmail to additionally listen to port 465, but
dnl # starting immediately in TLS mode upon connecting. Port 25 or 587 followed
dnl # by STARTTLS is preferred, but roaming clients using Outlook Express can't
dnl # do STARTTLS on ports other than 25. Mozilla Mail can ONLY use STARTTLS
dnl # and doesn't support the deprecated smtps; Evolution <1.1.1 uses smtps
dnl # when SSL is enabled-- STARTTLS support is available in version 1.1.1.
dnl #
dnl # For this to work your OpenSSL certificates must be configured.
dnl #
dnl DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl
dnl #
dnl # The following causes sendmail to additionally listen on the IPv6 loopback
dnl # device. Remove the loopback address restriction listen to the network.
dnl #
dnl DAEMON_OPTIONS(`port=smtp,Addr=::1, Name=MTA-v6, Family=inet6')dnl
dnl #
dnl # enable both ipv6 and ipv4 in sendmail:
dnl #
dnl DAEMON_OPTIONS(`Name=MTA-v4, Family=inet, Name=MTA-v6, Family=inet6')
dnl #
dnl # We strongly recommend not accepting unresolvable domains if you want to
dnl # protect yourself from spam. However, the laptop and users on computers
dnl # that do not have 24x7 DNS do need this.
dnl #
FEATURE(`accept_unresolvable_domains')dnl
dnl #
dnl FEATURE(`relay_based_on_MX')dnl
dnl #
dnl # Also accept email sent to "localhost.localdomain" as local email.
dnl #
LOCAL_DOMAIN(`localhost.localdomain')dnl
dnl #
dnl # The following example makes mail from this host and any additional
dnl # specified domains appear to be sent from mydomain.com
dnl #
dnl MASQUERADE_AS(`mydomain.com')dnl
dnl #
dnl # masquerade not just the headers, but the envelope as well
dnl #
dnl FEATURE(masquerade_envelope)dnl
dnl #
dnl # masquerade not just @mydomainalias.com, but @*.mydomainalias.com as well
dnl #
dnl FEATURE(masquerade_entire_domain)dnl
dnl #
dnl MASQUERADE_DOMAIN(localhost)dnl
dnl MASQUERADE_DOMAIN(localhost.localdomain)dnl
dnl MASQUERADE_DOMAIN(mydomainalias.com)dnl
dnl MASQUERADE_DOMAIN(mydomain.lan)dnl
MAILER(smtp)dnl
MAILER(procmail)dnl
dnl MAILER(cyrusv2)dnl
[/code]
На postfix менять буду в скором времени, вот только "на кошках" потренируюсь - замену придется производить быстро, потому как простой нежелателен.

edge (не проверено)

С виду все правильно. Надо проверить собран ли сам сендмаил с поддержкой сасл. Вот тут в принципе все уже написано:
http://www.opennet.ru/base/net/sendmail_sasl2.txt.html

dennica (не проверено)

Спасибо за ссылку. Поддержка сасл была. Пришлось немного подправить /etc/mail/access и сам конфиг сендмейла.
Решение расписывать не буду, потому что все операции, которые пришлось выполнить, подробно описаны в статье.
Тему можно закрыть.

dennica (не проверено)

Ха. Рано радовался.
Почта уходит только внутри почтового домена.
При попытке отправить наружу в логах вижу:
Jan 6 09:25:29 server sendmail[8731]: l06FPSiS008731: ruleset=check_rcpt, arg1=, relay=[213.27.XX.XX], reject=550 5.7.1 ... Relaying denied. IP name lookup failed [213.27.XX.XX]
Jan 6 09:25:38 server sendmail[8731]: l06FPSiS008731: lost input channel from [213.27.XX.XX] to MTA after rcpt
Jan 6 09:25:38 server sendmail[8731]: l06FPSiS008731: from=, size=1037, class=0, nrcpts=0, proto=ESMTP, daemon=MTA, relay=[213.27.XX.XX]

edge (не проверено)

IP name lookup failed - вот тут проблема. Надо либо хосты в обратной зоне в DNS прописать, либо в конфиге сендмыла сию проверку отключить.

dennica (не проверено)

Отключать проверку в конфиге сендмейла нереально - почта начинает отправляться без какой-либо авторизации.
Остается только крутить конфиги DNS. Чем завтра и займусь, потому что чтение сендмейловского конфига в течение суток с небольшими перерывами привело меня в состояние столь одухотворенное, что думать уже невозможно.

edge (не проверено)

:-) Postfix cтавьте, иначе из этого состояния когда-нибудь и не вернетесь..

dennica (не проверено)

Видимо, дело не только в обратных зонах. Чувствую, что ответ где-то на поверхности. Postfix - это хорошо, конечно, но...

[i]/* с криком "русские не сдаются" ушел читать sendmail.cf */[/i] :-)

frug (не проверено)

упрямые не сдаются ;)
Postfix, хорошо, конечно, но ?

dennica (не проверено)

Проблему удалось победить, однако теперь я имею только plain авторизацию. Что крайне странно.
Со временем придется переходить на postfix в любом случае, потому что не хочется иметь двое суток головной боли по любому возникающему вопросу.
А насчет "но..." с постфиксом - здесь дело в том, что переход на него крайне затруднен из-за использования на сервере панели управления, которую довольно трудно перенастраивать из-за абсолютной бестолковости ее конфигов.

edge (не проверено)

А шо за панель така? Регистрация юзеров? Так у постфикса своя есть:
http://high5.net/page9.html
Если вместо dovecot сyrus-imap поставишь, то там вообще есть замечательная web-регистрилка, к разработке которой я тоже немного руку приложил:
http://www.web-cyradm.org/

[ Редактирование 09.01.2007 - 08:41:55 ]

dennica (не проверено)

ISPmanager. Панель не только для управления почтой, но и для управления доменами, сайтами, базами данных и т.д.

edge (не проверено)

[quote=dennica]ISPmanager. Панель не только для управления почтой, но и для управления доменами, сайтами, базами данных и т.д.[/quote]

Тю, проприетарщина.. Я уже не знаю практически ни одной известной серверной GPL софтины, под которую не написали бы какую-то обвеску, для облегчения удаленного управления. ISPmanager только для богатых и ленивых.. :-)

maax (не проверено)

ispmanager стоит 4500 р., пожизненная лицензия на определенную мажорную версию, что имхо очень недорого.. :) а выгода для небольшого хостинга налицо, единый интерфейс, достойный функционал..

edge (не проверено)

[quote=maax]ispmanager стоит 4500 р., пожизненная лицензия на определенную мажорную версию, что имхо очень недорого.. :) а выгода для небольшого хостинга налицо, единый интерфейс, достойный функционал..[/quote]

Ну не со всем согласен. По-первых стоит пожизненная 293.22$ на ISPProfessional, что несколько больше, чем 4500р. Во вторых наверняка сей функционал ограничен какими-то определенными сервисами, например для почты - postfix, dovecot, а с cyrus-imap извините уже надо какой-нибудь модуль докупить. И так же с остальными. Плюс если денег стоит, то все наверняка закрытое, что-то поправить захочешь - к разработчикам, которые за поддержку опять же попросят, и особо торопиться с разрешением проблемы не будут. Ну может я конечно преувеличиваю, и это фирма выходит за общепринятые рамки своим широким сервисом, тогда снимаю перед ними шляпу..

[ Редактирование 09.01.2007 - 15:25:12 ]

dennica (не проверено)

Абсолютно согласен с тем, что для любой софтины есть обвеска. Более того, есть и Webmin, который обладает отличной функциональностью. Однако, для пользователей он слишком сложен - есть необходимость хоть немного понимать то, что ты делаешь. Людей это напрягает. По той же причине не выбран набор отдельных инструментов администрирования.
Насчет ISPmanager edge абсолютно прав. Все еще даже хуже. Функционал действительно ограничен малым количеством сервисов. Шаг влево-вправо - и кранты. Предположение насчет "докупить" тоже слишком радужно. Ответы поддержки сводятся к тому, что "...что есть, то есть, а в остальном - не обессудьте". Денег за поддержку особо не просят, однако с решением проблем не торопятся. Да и в целом остается ощущение, что я участвую в бесконечном бета-тестировании, причем за свои же деньги.
В общем, впечатление довольно среднее. Пришел к выводу, что надо писать свой веб-интерфейс для управления, однако за два месяца сделано только 15% работы. А пока приходится работать с тем, что есть.

maax (не проверено)

я имел ввиду lite версию.. pro версия имеет смысл если есть реселлеры, что для небольшого хостинга неактуально.. функционал ничем не ограничен, работает и с postfix и с sendmail, есть поддержка exim, докупать ничего не надо.. код конечно закрытый, на то это и проприетарщина..

насчет малого количества сервисов, это в каком смысле?

dennica (не проверено)

Например, кроме апача, никакой веб-сервер не поддерживается. Мне, конечно, апача хватает с головой, но находятся и любители экзотики, вроде thtppd.
Базы данных - только мускул и постгрес. А иногда использование sqlite более оправдано. Впрочем, это тоже не страшно, однако общее впечатление смазывается именно такими мелочами.
Но в целом, использование тех или иных продуктов - дело личных пристрастий, экономической целесообразности и поставленных задач.

frug (не проверено)

Немного оффтоп...
SQLite - это и не СУБД, а просто движок, зачем к нему ещё web интерфейс, кроме API ?

RSS-материал