Postfix+mysql

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.

Ответить


Этот вопрос предназначен для предотвращения автоматической отправки форм спам-ботами.
Смайлики
:smile: :( ;-) :roll: :pardon: 8) :x :oops: :shock: :cz2: :-D :ROFL: :Yahoo!: :cry: :Search: :Bravo: :good: :bad: :sorry: :no: :unknown: :evil: :crazy: :"": :fool: :-o :drinks: :st: :bn:
Ещё смайлики…

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[flash] ОТКЛЮЧЕН
[url] ВКЛЮЧЁН
Смайлики ВКЛЮЧЕНЫ

Обзор темы
   

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Развернуть Обзор темы: Postfix+mysql

Re: Postfix+mysql

Dimasx » 2010-07-30 9:51:52

Чудеса какие то, проблема видимо в клиенте evolution, the bat отправил почту легко

Re: Postfix+mysql

Dimasx » 2010-07-29 13:18:01

Как видно из сообщения - "Relay access denied". Релей почты для пользователей, не прошедших аутентификацию запрещен.

Как вижу загвоздка в айнтификации по smtp
если не проходит telnet mydomain,ru 25
нормальная аунтификация, то какая аунтификация пойдет и в почтовике ?

Аунтификация должна проходить через smtpd.conf

Код: Выделить всё

pwcheck_method: auxprop
mech_list: PLAIN LOGIN CRAM-MD5
auxprop_plugin: sql
sql_usessl: no
sql_engine: mysql
sql_hostnames: localhost
sql_user: postfix
sql_passwd: password
sql_database: postfix
sql_select: select password from mailbox where username = '%u@%r'
log_level: 3
Пробовал exim'ом заменить postfix так он матюкается что это дескать не открытый пересыльщик.
Проблема в аунтификации :(
может есть способ без этого curus-sasl ?

Re: Postfix+mysql

Dimasx » 2010-07-27 8:30:49

Я там уже все перелопатил :(
Буду сидеть разбираться

Re: Postfix+mysql

ivan_k » 2010-07-27 7:18:50

Вот здесь посмотри http://www.sys-adm.org.ua/mail/mail-howto-p1.php

Re: Postfix+mysql

Dimasx » 2010-07-26 15:49:46

Убрал, конфиг превратил вот в такой вид:

Код: Выделить всё

#
# /usr/local/etc/postfix/main.cf
#

queue_directory = /var/spool/postfix
command_directory = /usr/local/sbin
base = /usr/local/etc/postfix
daemon_directory = /usr/local/libexec/postfix
mail_owner = postfix
default_privs = nobody
myhostname = mydomain.ru
mydomain = mydomain.ru
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost
local_recipient_maps = unix:passwd.byname $alias_maps
mynetworks = 127.0.0.0/8
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
smtpd_banner = $myhostname ESMTP
debug_peer_level = 2

smtpd_client_restrictions =  permit_mynetworks,
                             permit_sasl_authenticated
smtpd_reject_unlisted_sender = yes
disable_vrfy_command = yes
strict_rfc821_envelopes = yes
show_user_unknown_table_name = no
address_verify_sender = <>
unverified_sender_reject_code = 550
smtpd_helo_required = yes
smtp_always_send_ehlo = yes
smtpd_hard_error_limit = 8
smtpd_sasl_auth_enable = yes
smtpd_sasl_application_name = smtpd
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
smtpd_sender_login_maps = mysql:/usr/local/etc/postfix/mysql/sender.conf
transport_maps = mysql:/usr/local/etc/postfix/mysql/transport_maps.conf
virtual_alias_maps = mysql:/usr/local/etc/postfix/mysql/alias_maps.conf
virtual_mailbox_domains = mysql:/usr/local/etc/postfix/mysql/domains_maps.conf
virtual_mailbox_maps = mysql:/usr/local/etc/postfix/mysql/mailbox_maps.conf
virtual_mailbox_base = /var/spool/mail/virtual
virtual_mailbox_limit_maps = mysql:/usr/local/etc/postfix/mysql/mailbox_limit_maps.conf
virtual_maildir_extended=yes
virtual_mailbox_limit_override=yes
virtual_create_maildirsize = yes
virtual_overquota_bounce = yes
virtual_maildir_limit_message="Sorry, the user's maildir has overdrawn his diskspace quota, please try again later"
message_size_limit = 5242880
virtual_gid_maps = static:1111
virtual_uid_maps = static:1111
virtual_minimum_uid = 1001
и попрежнему Relay access denied, можест стоит debug_peer_level = 2 увеличить ?

Re: Postfix+mysql

ivan_k » 2010-07-26 15:18:56

moury писал(а):Уважаемые, вы даете. Ведь кто-нибудь поверит.

Правило reject_unauth_destination в smtpd_recipient_restrictions должно быть всегда. Фактически, оно - граница нормального почтовика и open relay'я.
Уважаемый, если Вы не поняли, я вел к тому что пусть сначала добьется работы от почтовика, а уже потом применяет все рестрикшены

Re: Postfix+mysql

moury » 2010-07-26 15:10:07

Уважаемые, вы даете. Ведь кто-нибудь поверит.

Правило reject_unauth_destination в smtpd_recipient_restrictions должно быть всегда. Фактически, оно - граница нормального почтовика и open relay'я.

Re: Postfix+mysql

ivan_k » 2010-07-26 13:51:14

Убери вообще все рестрикшены, оставь только
permit_mynetworks,
permit_sasl_authenticated

А потом добавляй по одному

Re: Postfix+mysql

Dimasx » 2010-07-26 13:26:02

Сделал, тот же самый Relay access denied;
Может как то увеличить информативность логов, что именно ему запрещает доступ

Re: Postfix+mysql

ivan_k » 2010-07-26 12:08:27

Попробуй так же убрать

Код: Выделить всё

smtpd_sender_restrictions = reject_authenticated_sender_login_mismatch

Re: Postfix+mysql

Dimasx » 2010-07-26 11:45:37

Убрал

Код: Выделить всё

Jul 26 12:40:23  postfix/smtpd[1651]: connect from unknown[213.1.1.2]
Jul 26 12:40:23  postfix/smtpd[1651]: NOQUEUE: reject: RCPT from unknown[213.1.1.2]: 554 5.7.1 <proverka@mail.ru>: Relay access denied; from=<dimas@mydomain.ru> to=<prover@mail.ru> proto=ESMTP helo=<[192.168.10.103]>
Jul 26 12:40:23  postfix/smtpd[1651]: disconnect from unknown[213.1.1.2]
Jul 26 12:40:23  authdaemond: Authenticated: sysusername=<null>, sysuserid=1111, sysgroupid=1111, homedir=/var/spool/mail/virtual, address=dimas@mydomain.ru, fullname=dimas, maildir=dimas@mydomain.ru/, quota=0, options=<null>
Jul 26 12:40:23  authdaemond: Authenticated: clearpasswd=password, passwd=$1$724d9336$S1dni6YxYnI6Ut3Sa/KoF/
Jul 26 12:40:23  courier-imap: LOGIN, user=dimas@emydomain.ru, ip=[213.1.1.2], port=[40118]
Jul 26 12:40:23  courier-imap: LOGOUT, user=dimas@evalution.org, ip=[213.1.1.2], port=[40118], top=0, retr=0, rcvd=24, sent=96, time=0
Relay access denied, просто убивает :(

Re: Postfix+mysql

ivan_k » 2010-07-26 11:35:00

Код: Выделить всё

smtpd_client_restrictions = reject_unknown_client_hostname
Тоже убери

Re: Postfix+mysql

Dimasx » 2010-07-26 11:25:08

Убрал, ничего не изменилось все так же:

Код: Выделить всё

 postfix/smtpd[1507]: NOQUEUE: reject: RCPT from unknown[213.1.1.2]: 450 4.7.1 Client host rejected: cannot find your hostname, [213.1.1.2]; from=<dimas@mydomain> to=<proverka@mail.ru> proto=ESMTP helo=<[192.168.10.103]>

Re: Postfix+mysql

ivan_k » 2010-07-26 10:25:22

У тебя же в конфиге написано

Код: Выделить всё

smtpd_sender_restrictions = reject_unknown_sender_domain
убери и попробуй без неё

Re: Postfix+mysql

Dimasx » 2010-07-26 9:52:52

Переделал main.cf

Код: Выделить всё

#
# /usr/local/etc/postfix/main.cf
#

queue_directory = /var/spool/postfix
command_directory = /usr/local/sbin
base = /usr/local/etc/postfix
daemon_directory = /usr/local/libexec/postfix
mail_owner = postfix
default_privs = nobody
myhostname = mydomain.ru
mydomain = mydomain.ru
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost
local_recipient_maps = unix:passwd.byname $alias_maps
mynetworks = 127.0.0.0/8
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
smtpd_banner = $myhostname ESMTP
debug_peer_level = 2

smtpd_client_restrictions =  permit_mynetworks,
                             permit_sasl_authenticated,
                             check_client_access hash:$base/client_access,
                             reject_unknown_client_hostname
smtpd_helo_restrictions =       check_helo_access hash:$base/hello_access,
                                permit_mynetworks,
                                permit_sasl_authenticated,
                                reject_invalid_helo_hostname,
                                reject_non_fqdn_helo_hostname,
                                reject_unknown_helo_hostname
smtpd_sender_restrictions =     permit_mynetworks,
                                check_sender_access hash:$base/sender_access,
                                reject_authenticated_sender_login_mismatch,
                                reject_unknown_sender_domain,
                                reject_unlisted_sender,
                                reject_unverified_sender
smtpd_recipient_restrictions =  permit_mynetworks,
                                permit_sasl_authenticated,
                                reject_unauth_destination,
                                check_recipient_access hash:$base/recipient_access,
                                reject_unlisted_recipient,
                                reject_unknown_recipient_domain,
                                reject_non_fqdn_recipient,
                                reject_unverified_recipient
smtpd_etrn_restrictions = reject
smtpd_reject_unlisted_sender = yes
disable_vrfy_command = yes
strict_rfc821_envelopes = yes
show_user_unknown_table_name = no
address_verify_sender = <>
unverified_sender_reject_code = 550
smtpd_helo_required = yes
smtp_always_send_ehlo = yes
smtpd_hard_error_limit = 8
smtpd_sasl_auth_enable = yes
smtpd_sasl_application_name = smtpd
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
smtpd_sender_login_maps = mysql:/usr/local/etc/postfix/mysql/sender.conf
transport_maps = mysql:/usr/local/etc/postfix/mysql/transport_maps.conf
virtual_alias_maps = mysql:/usr/local/etc/postfix/mysql/alias_maps.conf
virtual_mailbox_domains = mysql:/usr/local/etc/postfix/mysql/domains_maps.conf
virtual_mailbox_maps = mysql:/usr/local/etc/postfix/mysql/mailbox_maps.conf
virtual_mailbox_base = /var/spool/mail/virtual
virtual_mailbox_limit_maps = mysql:/usr/local/etc/postfix/mysql/mailbox_limit_maps.conf
virtual_maildir_extended=yes
virtual_mailbox_limit_override=yes
virtual_create_maildirsize = yes
virtual_overquota_bounce = yes
virtual_maildir_limit_message="Sorry, the user's maildir has overdrawn his diskspace quota, please try again later"
message_size_limit = 5242880
virtual_gid_maps = static:1111
virtual_uid_maps = static:1111
virtual_minimum_uid = 1001
При авторизации по smtp (dimas@mydonain.ru и password все тоже самое что и на pop) клиентом говорит следующее:

Код: Выделить всё

RCPT TO <proverka@mail.ru> не удалось: Client host rejected: cannot find your hostname, [213.1.1.20]
В логах вижу следующее:

Код: Выделить всё

Jul 26 10:45:52  postfix/smtpd[1684]: connect from unknown[213.1.1.2]
Jul 26 10:45:52  postfix/trivial-rewrite[1687]: warning: do not list domain evalution.org in BOTH mydestination and virtual_mailbox_domains
Jul 26 10:45:52  postfix/smtpd[1684]: NOQUEUE: reject: RCPT from unknown[213.1.1.2]: 450 4.7.1 Client host rejected: cannot find your hostname, [213.1.1.2]; from=<dimas@mydomain.org> to=<proverka@mail.ru> proto=ESMTP helo=<[192.168.10.103]>
Jul 26 10:45:52  postfix/smtpd[1684]: disconnect from unknown[213.1.1.2]

Re: Postfix+mysql

moury » 2010-07-25 23:14:31

Я не изучал топик, но, вообще, permit_sasl_authenticated должно быть до reject_unauth_destination. Иначе результаты авторизации игнорируются.

Re: Postfix+mysql

Dimasx » 2010-07-24 17:20:00

Выполнил:

perl -MMIME::Base64 -e 'print encode_base64("\0dimas\@mydomain\.ru\000пас")'

мне выдалось AGRpbWFzQGV2YWx1Glvbi5cmcAbmFj

Пробую

Код: Выделить всё

telnet mydomain.ru 25
Trying 213.1.1.1...
Connected to mydomain.ru.
Escape character is '^]'.
220 mydomain.ru ESMTP Postfix
ehlo dimas@mydomain.ru
250-mydomain.ru
250-PIPELINING
250-SIZE 10000000
250-VRFY
250-ETRN
250-AUTH LOGIN PLAIN CRAM-MD5
250-AUTH=LOGIN PLAIN CRAM-MD5
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
auth plain
334 
AGRpbWFzQGV2YWx1Glvbi5cmcAbmFj
535 5.7.8 Error: authentication failed: authentication failure
:cry: :cry: не понятно

Re: Postfix+mysql

ivan_k » 2010-07-24 10:25:55

Ehlo - это всего лишь команда приветсвия с сервером, поэтому не столь важно как он там приставился
А пароль берется так помойму

Код: Выделить всё

perl -MMIME::Base64 -e 'print encode_base64("\0имя_пользователя\@имя_домена\.ru\000пас")'

Re: Postfix+mysql

Dimasx » 2010-07-24 9:35:29

Пытаюсь ввести пароль, тот что шифрован в базе (берем через phpmyadmin), а так же пытаюсь ввести без шифрования
d9335$S1dni5YxVmI6Ut3Sa/FoK/
535 5.7.8 Error: authentication failed: bad protocol / cancel
auth plain
334
password
535 5.7.8 Error: authentication failed: another step is needed in authentication

И чуть непойму почему аунтификацию автор проводит для пользователя ehlo alex.sys-adm.local , а не ehlo alrx.sys-adm.org.ua

Re: Postfix+mysql

Dimasx » 2010-07-24 9:26:29

Из статьи видно как автор пытается зателнетиться на smtp

Код: Выделить всё

# telnet 192.168.127.1 25
Trying 192.168.127.1...
Connected to freebsd.sys-adm.local.
Escape character is '^]'.
220 freebsd.sys-adm.org.ua ESMTP
ehlo alex.sys-adm.local
250-freebsd.sys-adm.org.ua
250-PIPELINING
250-SIZE 5242880
250-ETRN
250-AUTH LOGIN PLAIN CRAM-MD5
250-AUTH=LOGIN PLAIN CRAM-MD5
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
auth plain
334
AGFsZXhAc3lzLWFkbS5vcmcudWEAMTIz
235 2.0.0 Authentication successful
mail from:<quota@sys-adm.org.ua>
250 2.1.0 Ok
rcpt to:<alex@sys-adm.org.ua>
553 5.7.1 <quota@sys-adm.org.ua>: Sender address rejected: not owned by user alex@sys-adm.org.ua
quit
221 2.0.0 Bye
Connection closed by foreign host.
Откуда он такой дикий пароль берет ? AGFsZXhAc3lzLWFkbS5vcmcudWEAMTIz ?

Re: Postfix+mysql

Dimasx » 2010-07-23 20:09:10

Код: Выделить всё

Jul 23 19:12:22  postfix/smtpd[2822]: warning: 78.15.15.19: hostname 156-195-dynamic.provaider.net verification failed: hostname nor servname provided, or not known
Тут ругань видимо на хост моего провайдера ибо если попробовать пингануть хост 156-195-dynamic.provaider.net, то бздя скажет анкновн хост

Re: Postfix+mysql

Dimasx » 2010-07-23 19:36:18

ДНС указаны провайдера в /etc/resolv.conf они имеют реальный ip

Последние строки в main.cf

smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination, permit_sasl_authenticated
smtpd_sasl_auth_enable = yes

Re: Postfix+mysql

ivan_k » 2010-07-23 18:58:09

А настроен ли у Вас ДНС ?

Код: Выделить всё

Jul 23 19:12:22  postfix/smtpd[2822]: warning: 78.15.15.19: hostname 156-195-dynamic.provaider.net verification failed: hostname nor servname provided, or not known
также посмотрите на строки в main.cf(это про Relay access denied)

Код: Выделить всё

Jul 23 19:12:22  postfix/smtpd[2822]: NOQUEUE: reject: RCPT from unknown[78.15.15.19]: 554 5.7.1 <proverka@mail.ru>: Relay access denied; from=<admin@mydmain.ru> to=<proverka@mail.ru> proto=ESMTP helo=<[192.168.1.102]>
Там должно быть что типа этого

Код: Выделить всё

smtpd_recipient_restrictions =  permit_mynetworks, 
permit_sasl_authenticated, reject_unauth_destination

Re: Postfix+mysql

Dimasx » 2010-07-23 18:18:38

Код: Выделить всё

Jul 23 09:45:32  authdaemond: modules="authmysql", daemons=5
Jul 23 09:45:32  authdaemond: Installing libauthmysql
Jul 23 09:45:32  authdaemond: Installation complete: authmysql
Стартанул, запущен

Почтовик пытается отправить и вот что пишет:
<proverka@mail.ru>: Relay access denied


Вот что в логах:

Код: Выделить всё

Jul 23 19:12:22  postfix/smtpd[2822]: warning: 78.15.15.19: hostname 156-195-dynamic.provaider.net verification failed: hostname nor servname provided, or not known
Jul 23 19:12:22  postfix/smtpd[2822]: connect from unknown[78.15.15.19]
Jul 23 19:12:22  postfix/trivial-rewrite[2824]: warning: do not list domain evalution.org in BOTH mydestination and virtual_mailbox_domains
Jul 23 19:12:22  postfix/smtpd[2822]: NOQUEUE: reject: RCPT from unknown[78.15.15.19]: 554 5.7.1 <proverka@mail.ru>: Relay access denied; from=<admin@mydmain.ru> to=<proverka@mail.ru> proto=ESMTP helo=<[192.168.1.102]>
Jul 23 19:12:22  postfix/smtpd[2822]: lost connection after RCPT from unknown[78.15.15.19]
Jul 23 19:12:22  postfix/smtpd[2822]: disconnect from unknown[78.15.15.19]

Re: Postfix+mysql

ivan_k » 2010-07-23 16:36:48

А вообще courier-authdaemond у Вас запущен?
И в логах что, когда пытайтесь отправить?

Вернуться к началу