Всем, доброго времени суток! Настроил Postfix с использование Curus SASL2 и auxprop плагина sql (БД MySQl).
Письма нормально отправляются и принимаются из сетей определённых в mynetworks. если клиент не из этих сетей, то получаю relay access denied.
Однако, если домен на который отправляется письмо указан в relay_domains, то даже из "чужих" сетей клиент нормально отправляет на него почту.
Получают почту любые клиенты нормально.
Подскажите, как сделать так, чтобы клиенты из других сетей могли нормально отправлять почту на "любые"
домены? Где у меня может быть проблема с настройкой, аутентификация или что? Если нужна дополнительная информация от меня, выложу.
> Всем, доброго времени суток! Настроил Postfix с использование Curus SASL2 и auxprop
> плагина sql (БД MySQl).
> Письма нормально отправляются и принимаются из сетей определённых в mynetworks. если клиент
> не из этих сетей, то получаю relay access denied.
> Однако, если домен на который отправляется письмо указан в relay_domains, то даже
> из "чужих" сетей клиент нормально отправляет на него почту.
> Получают почту любые клиенты нормально.
> Подскажите, как сделать так, чтобы клиенты из других сетей могли нормально отправлять
> почту на "любые"
> домены? Где у меня может быть проблема с настройкой, аутентификация или что?конфиг постфикса?
> Если нужна дополнительная информация от меня, выложу.
main.cfsmtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = noappend_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_mapsrelayhost =
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 = ipv4alias_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 = smtpdsmtpd_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,
permitsmtpd_sender_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
permit
address_verify_sender = postmaster@*****.ruvirtual_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.cfcontent_filter = amavisd-new:[127.0.0.1]:10024
receive_override_options = no_address_mappingshtml_directory = /usr/share/doc/postfix/html
disable_dns_lookups = no
spf-policyd_time_limit = 3600smilter_default_action = accept
milter_protocol = 2
non_smtpd_milters = inet:localhost:8891,inet:localhost:8892
>[оверквотинг удален]
> 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:8892mydomain должно быть без "mail.", если, конечно, все адреса не выглядят как vasya.pupkin@mail.example.com
> mydomain должно быть без "mail.", если, конечно, все адреса не выглядят как
> vasya.pupkin@mail.example.comа разве можно один и тот же домен указывать в mydomain и virtual_mailbox_domains? мой реальный домен (который после символа '@') указан именно в параметре virtual_mailbox_domains, а в mydomain я указал mail.*****.ru, потому что пустым этот параметр оставлять нельзя. простите, а каким образом это вообще может повлиять на мою проблему с отправкой писем не из "моей" сети?
Господа, я извиняюсь, но вопрос по прежнему актуален, есть ли ещё какие-нибудь мысли по этому поводу? Заранее благодарен.
Ещё раз здравствуйте!) Я решил вернуться к своим баранам... Так вот, то, что у меня проблема с 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?
>[оверквотинг удален]
> 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Старый конф.... но я уверен он работает. Лишнее просто прибейте.
Hammer, Вы думаете, что вся проблема в файле smtpd.conf и неправильном sql-запросе? Всё остальное ведь у меня вроде тоже самое... По-моему вообще не происходит обращение к mysql:
warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory
или я ошибаюсь?
> Hammer, Вы думаете, что вся проблема в файле smtpd.conf и неправильном sql-запросе?
> Всё остальное ведь у меня вроде тоже самое... По-моему вообще не
> происходит обращение к mysql:
> warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such
> file or directory
> или я ошибаюсь?Давайте, дружище, я Вам подмогну чуток. ася 87241806
В общем не получается у меня заставить работать curus sasl( А есть ли ещё какие-нибудь способы осуществлять smtp-аутентификацию в Postfix?
> В общем не получается у меня заставить работать curus sasl( А есть
> ли ещё какие-нибудь способы осуществлять smtp-аутентификацию в Postfix?dovecot
>> В общем не получается у меня заставить работать curus sasl( А есть
>> ли ещё какие-нибудь способы осуществлять smtp-аутентификацию в Postfix?
> dovecotэто не решение проблемы, а уход от нее
>>> В общем не получается у меня заставить работать curus sasl( А есть
>>> ли ещё какие-нибудь способы осуществлять smtp-аутентификацию в Postfix?
>> dovecot
> это не решение проблемы, а уход от нееда, я прекрасно это понимаю. но когда не получается, то надо искать другие пути решения проблемы. Только вот не помешает ли dovecot уже настроеному и работающему courier'у?
>>>> В общем не получается у меня заставить работать curus sasl( А есть
>>>> ли ещё какие-нибудь способы осуществлять smtp-аутентификацию в Postfix?
>>> dovecot
>> это не решение проблемы, а уход от нее
> да, я прекрасно это понимаю. но когда не получается, то надо искать
> другие пути решения проблемы. Только вот не помешает ли dovecot уже
> настроеному и работающему courier'у?помешает
Только я что то не докурю, причем здесь dovecot? Если я правильно понял проблема postfix+sasl SMTP-авторизация, в то время как dovecot есть LDA
Hammer, тогда буду признателен за любую помощь, запрос авторизации я уже отправил))
> Hammer, тогда буду признателен за любую помощь, запрос авторизации я уже отправил))Не вижу запроса
Здравствуйте всем! я переодически возвращаюсь к своей проблеме с аутетнификацией сейчас ситуация такая:
пересобрал 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
Господа, есть ли какие-нибудь мысли по этому поводу? Куда мне надо ещё копать? Буду признателен за любой совет.
> Здравствуйте всем! я переодически возвращаюсь к своей проблеме с аутетнификацией сейчас
> ситуация такая:мда..
> пересобрал 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 - без проблем конфигурится уже оч давно.
-----------
там, короч, фишка в расположении файла 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
---------------
> дык теперь пересобирай постфикс с правильными заголовочными файлами и т п, раз уж
> захотелось "из исходников".Пробовал, не получилось.)
/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
>[оверквотинг удален]
> Поэтому оставил вариант с "кривыми" символическими ссылками, это же просто несовпадение
> версий, работать то должно и с этим предупреждением (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
>Дружище, мы же с вами остановились на том что, собрали сасл с нужными опциями, нужно было его проинсталить и всё. О символьных ссылках что то я не припомню. И вообще, стукни мне в асю.