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

Исходное сообщение
"Postfix + MySQL, проблема с отправкой писем не из mynetworks."

Отправлено shooroop2004 , 19-Авг-11 17:16 
Всем, доброго времени суток! Настроил Postfix с использование Curus SASL2 и auxprop плагина sql (БД MySQl).
Письма нормально отправляются и принимаются из сетей определённых в mynetworks. если клиент не из этих сетей, то получаю relay access denied.
Однако, если домен на который отправляется письмо указан в relay_domains, то даже из "чужих" сетей клиент нормально отправляет на него почту.
Получают почту любые клиенты нормально.
Подскажите, как сделать так, чтобы клиенты из других сетей могли нормально отправлять почту на "любые"
домены? Где у меня может быть проблема с настройкой, аутентификация или что? Если нужна дополнительная информация от меня, выложу.

Содержание

Сообщения в этом обсуждении
"Postfix + MySQL, проблема с отправкой писем не из mynetworks."
Отправлено Aquarius , 19-Авг-11 18:18 
> Всем, доброго времени суток! Настроил Postfix с использование Curus SASL2 и auxprop
> плагина sql (БД MySQl).
> Письма нормально отправляются и принимаются из сетей определённых в mynetworks. если клиент
> не из этих сетей, то получаю relay access denied.
> Однако, если домен на который отправляется письмо указан в relay_domains, то даже
> из "чужих" сетей клиент нормально отправляет на него почту.
> Получают почту любые клиенты нормально.
> Подскажите, как сделать так, чтобы клиенты из других сетей могли нормально отправлять
> почту на "любые"
> домены? Где у меня может быть проблема с настройкой, аутентификация или что?

конфиг постфикса?
> Если нужна дополнительная информация от меня, выложу.


"Postfix + MySQL, проблема с отправкой писем не из mynetworks."
Отправлено shooroop2004 , 20-Авг-11 10:25 
main.cf

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

append_dot_mydomain = no

readme_directory = /usr/share/doc/postfix

# TLS parameters
#smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
#smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
#smtpd_use_tls=yes
#smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
#smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = mail.*****.ru
mydomain = mail.*****.ru
myorigin = $virtual_mailbox_domains
mydestination = $virtual_mailbox_domains, $myhostname
local_transport = procmail
procmail_destination_recipient_limit = 1
local_recipient_maps = $virtual_mailbox_maps

relayhost =
relay_domains = $mydestinantion, volg.ru, mail.ru
mynetworks = 127.0.0.0/8, 172.29.126.148/32, 91.***.***.***, 91.***.***.***/32, 91.***.***.***/32
mynetworks_style = subnet
mailbox_size_limit = 0
recipient_delimiter =
inet_interfaces = $myhostname, localhost, 172.29.126.148, 91.***.***.***
inet_protocols = ipv4

alias_database =
alias_maps =

home_mailbox = Maildir/

#home_mailbox = /var/spool/virtual_mailboxes/virtual.office.*****.ru/Maildir/
mail_spool_directory = /var/spool/virtual_mailboxes/mail.*****.ru/

smtpd_sasl_path = /usr/lib/sasl2/smtpd.conf
#smtpd_sasl_local_domain = office.*****.ru
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtdp_sasl_authenticated_header = yes
smtpd_sasl_application_name = smtpd

smtpd_helo_required = yes

smtpd_data_restrictions = reject_multi_recipient_bounce

smtpd_recipient_restrictions =
reject_unknown_sender_domain,
reject_unknown_recipient_domain,
reject_non_fqdn_sender,
permit_mynetworks,
check_recipient_access hash:/etc/postfix/roleaccount_exceptions,
check_client_access hash:/etc/postfix/roleaccount_exceptions,
permit_sasl_authenticated,
reject_unauth_destination,
check_policy_service unix:private/policy-spf,
reject_invalid_hostname,
check_helo_access pcre:/usr/lib/postfix/helo_checks,
# check_sender_mx_access cidr:/etc/postfix/bogus_mx,
reject_rbl_client relays.ordb.org,
reject_rhsbl_sender dsn.rfc-ignorant.org,
reject_unverified_sender,
# check_policy_service inet:127.0.0.1:10023,
permit

smtpd_sender_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
permit


address_verify_sender = postmaster@*****.ru

virtual_mailbox_domains = mysql:/etc/postfix/sql/domains.cf
virtual_uid_maps = static:1111
virtual_gid_maps = static:1111
virtual_mailbox_base = /var/spool/virtual_mailboxes
virtual_mailbox_maps = mysql:/etc/postfix/sql/users.cf
virtual_alias_maps = mysql:/etc/postfix/sql/aliases.cf

content_filter = amavisd-new:[127.0.0.1]:10024
receive_override_options = no_address_mappings

html_directory = /usr/share/doc/postfix/html

disable_dns_lookups = no
spf-policyd_time_limit = 3600s

milter_default_action = accept
milter_protocol = 2
non_smtpd_milters = inet:localhost:8891,inet:localhost:8892



"Postfix + MySQL, проблема с отправкой писем не из mynetworks."
Отправлено Aquarius , 20-Авг-11 13:38 
>[оверквотинг удален]
> virtual_mailbox_maps = mysql:/etc/postfix/sql/users.cf
> virtual_alias_maps = mysql:/etc/postfix/sql/aliases.cf
> content_filter = amavisd-new:[127.0.0.1]:10024
> receive_override_options = no_address_mappings
> html_directory = /usr/share/doc/postfix/html
> disable_dns_lookups = no
> spf-policyd_time_limit = 3600s
> milter_default_action = accept
> milter_protocol = 2
> non_smtpd_milters = inet:localhost:8891,inet:localhost:8892

mydomain должно быть без "mail.", если, конечно, все адреса не выглядят как vasya.pupkin@mail.example.com


"Postfix + MySQL, проблема с отправкой писем не из mynetworks."
Отправлено shooroop2004 , 20-Авг-11 20:02 
> mydomain должно быть без "mail.", если, конечно, все адреса не выглядят как
> vasya.pupkin@mail.example.com

а разве можно один и тот же домен указывать в mydomain и virtual_mailbox_domains? мой реальный домен (который после символа '@') указан именно в параметре virtual_mailbox_domains, а в mydomain я указал mail.*****.ru, потому что пустым этот параметр оставлять нельзя. простите, а каким образом это вообще может повлиять на мою проблему с отправкой писем не из "моей" сети?


"Postfix + MySQL, проблема с отправкой писем не из mynetworks."
Отправлено shooroop2004 , 22-Авг-11 17:24 
Господа, я извиняюсь, но вопрос по прежнему актуален, есть ли ещё какие-нибудь мысли по этому поводу? Заранее благодарен.



"Postfix + MySQL, проблема с отправкой писем не из mynetworks."
Отправлено shooroop2004 , 07-Сен-11 11:30 
Ещё раз здравствуйте!) Я решил вернуться к своим баранам... Так вот, то, что у меня проблема с smtp аутентификацией, это я понял.

xsasl_cyrus_server_first: sasl_method PLAIN, init_response AGEuc2hhcmFwb3YAY2lham84Ng==
Sep  7 10:52:54 mail postfix/smtpd[19647]: xsasl_cyrus_server_first: decoded initial response
Sep  7 10:52:54 mail postfix/smtpd[19647]: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory
Sep  7 10:52:54 mail postfix/smtpd[19647]: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory
Sep  7 10:52:54 mail postfix/smtpd[19647]: warning: SASL authentication failure: Password verification failed
Sep  7 10:52:54 mail postfix/smtpd[19647]: warning: SASL PLAIN authentication failed: authentication failure
Sep  7 10:52:54 mail postfix/smtpd[19647]: 535 5.7.8 Error: authentication failed: authentication failure

А вот почему SASL пытается провести эту саму аутентификацию через плагин sasldb2 я совсем не понимаю, хотя
файл smtpd.conf выглядит так:

pwcheck_method: saslauthd (менял на pwcheck_method: auxprop, результат от этого не изменяется)
mech_list: PLAIN LOGIN CRAM MD5 DIGEST MD5
auxprop_plugin: sql
allow_plaintext: true
sql_engine: mysql
sql_hostnames: 127.0.0.1
sql_database: mail
sql_user: postfix
sql_passwd: ********
sql_select: SELECT userpassword FROM users WHERE username = '%u' AND userrealm = '%r'
AND auth = '1'
sql_usessl: no

/etc/default/saslauthd так:

START=yes
DESC="SASL Authentication Daemon"
NAME="saslauthd"
MECHANISMS="pam"
MECH_OPTIONS=""
THREADS=5
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"

и /etc/pam.d/smtp так:

auth required pam_mysql.so user=postfix passwd=******** host=127.0.0.1 db=mail table=users usercolumn=email passwdcolumn=userpassword crypt=1
account sufficient pam_mysql.so user=postfix passwd=******** host=127.0.0.1 db=mail table=users usercolumn=email passwdcolumn=userpassword crypt=1

Подскажите, как заставить SASL использовать для аутентификации мою таблицу MySQl?



"Postfix + MySQL, проблема с отправкой писем не из mynetworks."
Отправлено Hammer , 10-Сен-11 08:13 
>[оверквотинг удален]
> MECHANISMS="pam"
> MECH_OPTIONS=""
> THREADS=5
> OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r" [/b]
> и /etc/pam.d/smtp так:
> [b]auth required pam_mysql.so user=postfix passwd=******** host=127.0.0.1 db=mail table=users
> usercolumn=email passwdcolumn=userpassword crypt=1
> account sufficient pam_mysql.so user=postfix passwd=******** host=127.0.0.1 db=mail
> table=users usercolumn=email passwdcolumn=userpassword crypt=1 [/b]
> Подскажите, как заставить SASL использовать для аутентификации мою таблицу MySQl?

allowplaintext: yes
pwcheck_method: auxprop
auxprop_plugin: sql
sql_user: mail
sql_passwd: mail
sql_hostnames: localhost
sql_database: mail
sql_select: SELECT open_password FROM users WHERE email='%u@%r' AND enableded='0'
sql_verbose: yes
sql_engine: mysql
sql_usessl: yes
mech_list: CRAM-MD5 LOGIN PLAIN
minimum_layer: 0
auto_transition: no
password_format: crypt
sql_verbose: true
log_level: 7
sasl_log_level: 255

Старый конф.... но я уверен он работает. Лишнее просто прибейте.


"Postfix + MySQL, проблема с отправкой писем не из mynetworks."
Отправлено shooroop2004 , 12-Сен-11 11:48 
Hammer, Вы думаете, что вся проблема в файле smtpd.conf и неправильном sql-запросе? Всё остальное ведь у меня вроде тоже самое... По-моему вообще не происходит обращение к mysql:
warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory
или я ошибаюсь?

"Postfix + MySQL, проблема с отправкой писем не из mynetworks."
Отправлено Hammer , 13-Сен-11 05:41 
> Hammer, Вы думаете, что вся проблема в файле smtpd.conf и неправильном sql-запросе?
> Всё остальное ведь у меня вроде тоже самое... По-моему вообще не
> происходит обращение к mysql:
> warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such
> file or directory

> или я ошибаюсь?

Давайте, дружище, я Вам подмогну чуток. ася 87241806


"Postfix + MySQL, проблема с отправкой писем не из mynetworks."
Отправлено shooroop2004 , 12-Сен-11 17:51 
В общем не получается у меня заставить работать curus sasl( А есть ли ещё какие-нибудь способы осуществлять smtp-аутентификацию в Postfix?

"Postfix + MySQL, проблема с отправкой писем не из mynetworks."
Отправлено anonymous , 12-Сен-11 18:37 
> В общем не получается у меня заставить работать curus sasl( А есть
> ли ещё какие-нибудь способы осуществлять smtp-аутентификацию в Postfix?

dovecot


"Postfix + MySQL, проблема с отправкой писем не из mynetworks."
Отправлено Hammer , 13-Сен-11 05:42 
>> В общем не получается у меня заставить работать curus sasl( А есть
>> ли ещё какие-нибудь способы осуществлять smtp-аутентификацию в Postfix?
> dovecot

это не решение проблемы, а уход от нее


"Postfix + MySQL, проблема с отправкой писем не из mynetworks."
Отправлено shooroop2004 , 13-Сен-11 10:11 
>>> В общем не получается у меня заставить работать curus sasl( А есть
>>> ли ещё какие-нибудь способы осуществлять smtp-аутентификацию в Postfix?
>> dovecot
> это не решение проблемы, а уход от нее

да, я прекрасно это понимаю. но когда не получается, то надо искать другие пути решения проблемы. Только вот не помешает ли dovecot уже настроеному и работающему courier'у?


"Postfix + MySQL, проблема с отправкой писем не из mynetworks."
Отправлено Hammer , 13-Сен-11 11:49 
>>>> В общем не получается у меня заставить работать curus sasl( А есть
>>>> ли ещё какие-нибудь способы осуществлять smtp-аутентификацию в Postfix?
>>> dovecot
>> это не решение проблемы, а уход от нее
> да, я прекрасно это понимаю. но когда не получается, то надо искать
> другие пути решения проблемы. Только вот не помешает ли dovecot уже
> настроеному и работающему courier'у?

помешает
Только я что то не докурю, причем здесь dovecot? Если я правильно понял проблема postfix+sasl SMTP-авторизация, в то время как dovecot есть LDA


"Postfix + MySQL, проблема с отправкой писем не из mynetworks."
Отправлено shooroop2004 , 13-Сен-11 11:52 
Hammer, тогда буду признателен за любую помощь, запрос авторизации я уже отправил))



"Postfix + MySQL, проблема с отправкой писем не из mynetworks."
Отправлено Hammer , 13-Сен-11 11:53 
> Hammer, тогда буду признателен за любую помощь, запрос авторизации я уже отправил))

Не вижу запроса


"Postfix + MySQL, проблема с отправкой писем не из mynetworks."
Отправлено shooroop2004 , 08-Окт-11 17:53 
Здравствуйте всем! я переодически возвращаюсь к своей проблеме с аутетнификацией сейчас ситуация такая:
пересобрал SASl из сходников (версия cyrus-sasl-2.1.25), спасибо большое Hammer'у). переделал символическую ссылку
на новый сасл, т.е. ldd `postconf -h daemon_directory`/smtpd ссылается на новые библиотеки (libsasl2.so.2 => /usr/local/sasl_new/lib/libsasl2.so.2 (0xb7588000)), а не на те, что поставились вместе с постфиксом при сборке через apt-get. Далее делаю перезапуск постфикса
вылазиет сообщение
* Starting Postfix Mail Transport Agent postfix  
postconf: /usr/local/sasl_new/lib/libsasl2.so.2: no version information available (required by postconf)
                                                                                                             [Ok]

Пытаюсь отправить письмо "через аутентификацию" получаю

Oct  8 17:42:47 mail postfix/smtpd[6740]: < www.*****.ru[***.***.***.***]:AUTH PLAIN AHRlc3QAdGVzdHBhc3M=
Oct  8 17:42:47 mail postfix/smtpd[6740]: xsasl_cyrus_server_first: sasl_method PLAIN, init_response AHRlc3QAdGVzdHBhc3M=
Oct  8 17:42:47 mail postfix/smtpd[6740]: xsasl_cyrus_server_first: decoded initial response
Oct  8 17:42:47 mail postfix/smtpd[6740]: warning: www.*****.ru[***.***.***.***]: SASL PLAIN authentication failed: no mechanism available
Oct  8 17:42:47 mail postfix/smtpd[6740]: > www.*****.ru[***.***.***.***]: 535 5.7.8 Error: authentication failed: no mechanism available
Oct  8 17:42:48 mail postfix/smtpd[6740]: < www.*****.ru[***.***.***.***]: QUIT

Господа, есть ли какие-нибудь мысли по этому поводу? Куда мне надо ещё копать? Буду признателен за любой совет.



"Postfix + MySQL, проблема с отправкой писем не из mynetworks."
Отправлено PavelR , 09-Окт-11 00:04 
> Здравствуйте всем! я переодически возвращаюсь к своей проблеме с аутетнификацией сейчас
> ситуация такая:

мда..

> пересобрал SASl из сходников (версия cyrus-sasl-2.1.25), спасибо большое Hammer'у). переделал  символическую ссылку

совсем делать нех ?

> на новый сасл, т.е. [b]ldd `postconf -h daemon_directory`/smtpd [/b] ссылается на новые
> библиотеки (libsasl2.so.2 => /usr/local/sasl_new/lib/libsasl2.so.2 (0xb7588000)),
> а не на те, что поставились вместе с постфиксом при сборке
> через apt-get.

финиш.

Далее делаю перезапуск постфикса
> вылазиет сообщение
> [b] * Starting Postfix Mail Transport Agent postfix
> postconf: /usr/local/sasl_new/lib/libsasl2.so.2: no version information available
> (required by postconf)

ну а то.

>            
>            
>            
>            

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

Вообще, у меня на debian/fedora авторизация по базе через sasl2 - без проблем конфигурится уже оч давно.

-----------



"Postfix + MySQL, проблема с отправкой писем не из mynetworks."
Отправлено PavelR , 09-Окт-11 00:09 
там, короч, фишка в расположении файла smtpd.conf.

у меня на дебиане он в /etc/postfix/sasl/smtpd.conf

Содержимое:

pwcheck_method: auxprop
password_format: plain
auxprop_plugin: sql
mech_list: DIGEST-MD5 CRAM-MD5 PLAIN LOGIN
#mech_list: PLAIN LOGIN
auto_transition: yes
sql_engine: mysql
sql_user: postfix
sql_passwd: xXxXxXxXxXx
sql_hostnames: 127.0.0.1
sql_database: mailsystem
sql_select: SELECT password FROM mailbox WHERE username = '%u@%r'
sql_verbose: no
log_level: 0


-----
да и больше нифига не надо


srv04:/etc/postfix# cat main.cf |grep sasl
                               permit_sasl_authenticated,
                               permit_sasl_authenticated,
                               permit_sasl_authenticated,
                               permit_sasl_authenticated,
broken_sasl_auth_clients = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_local_domain = mydomain.tld
smtpd_sasl_security_options = noanonymous
#smtpd_sasl_path = smtpd
srv04:/etc/postfix#

-------------------
на других системах файлег ищется в других местах, не менее интересных. Точно не скажу где в каком.


------------------

srv04:/etc/postfix# dpkg-query -l |grep sasl
ii  libsasl2-2                            2.1.23.dfsg1-7               Cyrus SASL - authentication abstraction library
ii  libsasl2-modules                      2.1.23.dfsg1-7               Cyrus SASL - pluggable authentication modules
ii  libsasl2-modules-sql                  2.1.23.dfsg1-7               Cyrus SASL - pluggable authentication modules (SQL)
srv04:/etc/postfix# dpkg-query -l |grep postf
ii  postfix                               2.7.1-1+squeeze1             High-performance mail transport agent
ii  postfix-mysql                         2.7.1-1+squeeze1             MySQL map support for Postfix
ii  postfix-pcre                          2.7.1-1+squeeze1             PCRE map support for Postfix
---------------


"Postfix + MySQL, проблема с отправкой писем не из mynetworks."
Отправлено shooroop2004 , 09-Окт-11 20:39 
> дык теперь пересобирай постфикс с правильными заголовочными файлами и т п, раз уж
> захотелось "из исходников".

Пробовал, не получилось.)

/usr/bin/ld: cannot find -lpcre
collect2: ld returned 1 exit status
make: *** [dict_pcre.so] Error 1
make: *** [update] Error 1

Поэтому оставил вариант с "кривыми" символическими ссылками, это же просто несовпадение версий, работать то должно и с этим предупреждением (postconf: /usr/local/sasl_new/lib/libsasl2.so.2: no version information available  (required by postconf)) или так нельзя делать и действительно теперь придётся пересобирать постфикс?

> там, короч, фишка в расположении файла smtpd.conf.

Пробовал, копирповал файл в папку к постфиксу и к библиотекам сасла, результат от этого не меняется, сейчас он выглядит так:

535 5.7.8 Error: authentication failed: no mechanism available


"Postfix + MySQL, проблема с отправкой писем не из mynetworks."
Отправлено Hammer , 31-Окт-11 21:49 
>[оверквотинг удален]
> Поэтому оставил вариант с "кривыми" символическими ссылками, это же просто несовпадение
> версий, работать то должно и с этим предупреждением (postconf: /usr/local/sasl_new/lib/libsasl2.so.2:
> no version information available  (required by postconf)) или так нельзя
> делать и действительно теперь придётся пересобирать постфикс?
>> там, короч, фишка в расположении файла smtpd.conf.
> Пробовал, копирповал файл в папку к постфиксу и к библиотекам сасла, результат
> от этого не меняется, сейчас он выглядит так:
>
> 535 5.7.8 Error: authentication failed: no mechanism available
>

Дружище, мы же с вами остановились на том что, собрали сасл с нужными опциями, нужно было его проинсталить и всё. О символьных ссылках что то я не припомню. И вообще, стукни мне в асю.