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

Исходное сообщение
"POSTFIX - отлуп на несуществующий RCPT"

Отправлено kosm , 15-Ноя-04 16:30 
Ребят, кто знает, как заставить postfix давать отлуп сразу, на момент конекта без принятия тела письма, если письмо адресовано несуществующиму адресату системы? А то сейчас он принимает, потом проверяет, и только потом дает отлуп мейлом, что нет такого адресата. Нехорошо это имхо, зачем спам к себе забирать?

Содержание

Сообщения в этом обсуждении
"POSTFIX - отлуп на несуществующий RCPT"
Отправлено sed_ , 15-Ноя-04 16:44 
smtpd_recipient_restrictions =
    permit_mynetworks,
    permit_sasl_authenticated,
    reject_unauth_destination,
    reject_unlisted_recipient,
    reject_non_fqdn_recipient,
    reject_unknown_recipient_domain

у меня была та же проблема
потом както дошло )) тут главный элемент это  _reject_unlisted_recipient_

удачи


"POSTFIX - отлуп на несуществующий RCPT"
Отправлено unk , 15-Ноя-04 16:48 
для postfix 2.1 smtpd_reject_unlisted_recipient = yes и/или smtpd_recipient_restrictions = reject_unlisted_recipient
Для более старых версий крутите check_recipient_maps

"POSTFIX - отлуп на несуществующий RCPT"
Отправлено kosm , 16-Ноя-04 10:58 
Эти вещи я уже перепробовал еще вчера - ничего не помогло :(
Сейчас у меня стоит:
--
smtpd_reject_unlisted_recipient = yes

smtpd_recipient_restrictions =
permit_sasl_authenticated,
permit_mynetworks,
reject_unauth_destination,
reject_unlisted_recipient,
reject_non_fqdn_recipient,
...

local_recipient_maps = $virtual_mailbox_maps
--
При этом, если обратиться телнетом к smtp и ручками попробовать подсунуть левый rcpt, то получаем удовлетворительный ответ 250 ОК :(
Что не так? В чем еще может быть трабла?

PS: Да, а параметра smtpd_reject_unlisted_recipient и smtpd_recipient_restrictions = reject_unlisted_recipient случайно не взаимо исключаемые?


"POSTFIX - отлуп на несуществующий RCPT"
Отправлено unk , 16-Ноя-04 11:09 
>При этом, если обратиться телнетом к smtp и ручками попробовать подсунуть левый
>rcpt, то получаем удовлетворительный ответ 250 ОК :(
>Что не так? В чем еще может быть трабла?
Откуда вы подключаетесь?
Если из $mynetworks, то у вас отрабатывает permit_mynetworks т.к. postfix просматривает такие ограничения слева на право до первого PERMIT/REJECT/...

>PS: Да, а параметра smtpd_reject_unlisted_recipient и smtpd_recipient_restrictions = reject_unlisted_recipient случайно не взаимо
>исключаемые?
Нет. smtpd_reject_unlisted_recipient задает поведение по умолчанию.


"POSTFIX - отлуп на несуществующий RCPT"
Отправлено kosm , 16-Ноя-04 11:18 
>>При этом, если обратиться телнетом к smtp и ручками попробовать подсунуть левый
>>rcpt, то получаем удовлетворительный ответ 250 ОК :(
>>Что не так? В чем еще может быть трабла?
>Откуда вы подключаетесь?
>Если из $mynetworks, то у вас отрабатывает permit_mynetworks т.к. postfix просматривает такие
>ограничения слева на право до первого PERMIT/REJECT/...
Подключаюсь снаружи (ssh на внешний сервер, а оттуда уже телнетом к себе).

>>PS: Да, а параметра smtpd_reject_unlisted_recipient и smtpd_recipient_restrictions = reject_unlisted_recipient случайно не взаимо
>>исключаемые?
>Нет. smtpd_reject_unlisted_recipient задает поведение по умолчанию.
Понятно. Т.е. smtpd_reject_unlisted_recipient = yes теоретически достаточно для такой схемы работы?

Сейчас по логам такая хрень по количеству мейла за сегодня:
--
    152   deferred  (1017  deferrals)
   2461   bounced
--
Что подразумевается под bounced? Я так понимаю это как раз те самые отлупы? deferred - это отложенные доставки по каким либо причинам, так?


"POSTFIX - отлуп на несуществующий RCPT"
Отправлено unk , 16-Ноя-04 11:21 
>Подключаюсь снаружи (ssh на внешний сервер, а оттуда уже телнетом к себе).
тогда покажите postconf -n и если в master.cf переопределены какието параметры для smtpd, то и их тоже.

>Понятно. Т.е. smtpd_reject_unlisted_recipient = yes теоретически достаточно для такой схемы работы?
Да.



"POSTFIX - отлуп на несуществующий RCPT"
Отправлено kosm , 16-Ноя-04 11:31 
>>Подключаюсь снаружи (ssh на внешний сервер, а оттуда уже телнетом к себе).
>тогда покажите postconf -n и если в master.cf переопределены какието параметры для
>smtpd, то и их тоже.

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/mail/aliases
broken_sasl_auth_clients = yes
command_directory = /usr/local/sbin
config_directory = /usr/local/etc/postfix
content_filter = forwarder
daemon_directory = /usr/local/libexec/postfix
debug_peer_level = 2
default_privs = nobody
html_directory = no
local_recipient_maps = $virtual_mailbox_maps
mail_owner = postfix
mail_spool_directory = /var/mail
mailq_path = /usr/local/bin/mailq
manpage_directory = /usr/local/man
maps_rbl_reject_code = 554
message_size_limit = 10000000
mydomain = maspeter.spb.ru
myhostname = mail.maspeter.spb.ru
mynetworks = 127.0.0.0/8, 125.0.0.0/8
newaliases_path = /usr/local/bin/newaliases
proxy_interfaces = 125.0.0.1
queue_directory = /var/spool/postfix
readme_directory = no
relay_domains = $transport_maps
sample_directory = /usr/local/etc/postfix
sendmail_path = /usr/local/sbin/sendmail
setgid_group = maildrop
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = $smtp_tls_key_file
smtp_tls_cert_file = $smtp_tls_key_file
smtp_tls_key_file = /usr/local/share/courier-imap/pop3d.pem
smtp_tls_note_starttls_offer = yes
sample_directory = /usr/local/etc/postfix
smtpd_banner = $myhostname ESMTP
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination, reject_unlisted_recipient, reject_non_fqdn_recipient, reject_rbl_client list.dsbl.org, reject_rbl_client relays.ordb.org, reject_rbl_client dynablock.wirehub.net, reject_rbl_client blackholes.wirehub.net, reject_rbl_client dnsbl.njabl.org
smtpd_reject_unlisted_recipient = yes
smtpd_sasl_auth_enable = yes
smtpd_tls_CAfile = $smtpd_tls_key_file
smtpd_tls_auth_only = yes
smtpd_tls_cert_file = $smtpd_tls_key_file
smtpd_tls_key_file = /usr/local/share/courier-imap/pop3d.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
smtpd_use_tls = yes
tls_random_source = dev:/dev/urandom
transport_maps = mysql:/usr/local/etc/postfix/sql/transport.cf
unknown_local_recipient_reject_code = 550
virtual_alias_maps = mysql:/usr/local/etc/postfix/sql/aliases.cf
virtual_gid_maps = mysql:/usr/local/etc/postfix/sql/gids.cf
virtual_mailbox_base = /var/mail/virtual
virtual_mailbox_maps = mysql:/usr/local/etc/postfix/sql/users.cf
virtual_uid_maps = mysql:/usr/local/etc/postfix/sql/uids.cf
--


Пробую конектиться...
---
Trying 195.177.122.35...
Connected to 195.177.122.35.
Escape character is '^]'.
220 mail.maspeter.spb.ru ESMTP
ehlo mail.ru
250-mail.maspeter.spb.ru
250-PIPELINING
250-SIZE 10000000
250-VRFY
250-ETRN
250-STARTTLS
250 8BITMIME
mail from: mironov_k@mail.ru
250 Ok
rcpt to: xxx@maspeter.spb.ru
250 Ok
data
354 End data with <CR><LF>.<CR><LF>
xxx
.
250 Ok: queued as E37185090F

Логи на этот мейл...
--
Nov 16 11:28:55 mail postfix/virtual[29069]: 7FEE55091A: to=<xxx@maspeter.spb.ru>, relay=virtual, delay=0, status=bounced (unknown user: "xxx@maspeter.spb.ru")


"POSTFIX - отлуп на несуществующий RCPT"
Отправлено kosm , 16-Ноя-04 11:33 
>>>Подключаюсь снаружи (ssh на внешний сервер, а оттуда уже телнетом к себе).
>>тогда покажите postconf -n и если в master.cf переопределены какието параметры для
>>smtpd, то и их тоже.
>
>alias_database = hash:/etc/aliases
>alias_maps = hash:/etc/mail/aliases
>broken_sasl_auth_clients = yes
>command_directory = /usr/local/sbin
>config_directory = /usr/local/etc/postfix
>content_filter = forwarder
>daemon_directory = /usr/local/libexec/postfix
>debug_peer_level = 2
>default_privs = nobody
>html_directory = no
>local_recipient_maps = $virtual_mailbox_maps
>mail_owner = postfix
>mail_spool_directory = /var/mail
>mailq_path = /usr/local/bin/mailq
>manpage_directory = /usr/local/man
>maps_rbl_reject_code = 554
>message_size_limit = 10000000
>mydomain = maspeter.spb.ru
>myhostname = mail.maspeter.spb.ru
>mynetworks = 127.0.0.0/8, 125.0.0.0/8
>newaliases_path = /usr/local/bin/newaliases
>proxy_interfaces = 125.0.0.1

Да, у меня еще проброс порта на нате стоит снаружи. Может здесь собака порылась?


"POSTFIX - отлуп на несуществующий RCPT"
Отправлено unk , 16-Ноя-04 11:53 
Вроде все ok (меня тут все время дергают)

>local_recipient_maps = $virtual_mailbox_maps
В качестве local_transport что?


"POSTFIX - отлуп на несуществующий RCPT"
Отправлено kosm , 16-Ноя-04 12:02 
>Вроде все ok (меня тут все время дергают)
>
>>local_recipient_maps = $virtual_mailbox_maps
>В качестве local_transport что?
а, вот наверно в чем дело. я передаю письмо перловому скрипту...
master.cf

# mail parser
forwarder
unix           -       n       n       -       3       pipe
flags=RD
user=filter
argv=/usr/local/scripts/forwarder.pl "localhost:10025" "${sender}" "${recipient}"


Сейчас попробовал вообще убрал permit_mynetworks из smtpd_recipient_restrictions  -- в итоге все тоже самое, так что это правило точно не мешает.


"POSTFIX - отлуп на несуществующий RCPT"
Отправлено unk , 16-Ноя-04 12:16 
>>Вроде все ok (меня тут все время дергают)
>>
>>>local_recipient_maps = $virtual_mailbox_maps
>>В качестве local_transport что?
>virtual:
Вы не весь postconf -n показали?
В выводе нет ни этого ни virtual_mailbox_domains



"POSTFIX - отлуп на несуществующий RCPT"
Отправлено kosm , 16-Ноя-04 12:24 
>>>Вроде все ok (меня тут все время дергают)
>>>
>>>>local_recipient_maps = $virtual_mailbox_maps
>>>В качестве local_transport что?
>>virtual:
>Вы не весь postconf -n показали?
>В выводе нет ни этого ни virtual_mailbox_domains
Да нет, вроде польностью.
В конфиге я выставляю content_filter
--
content_filter = forwarder
--
Потом прокручиваю мейл по трем транспортам (парсер, антивирус, антиспам)
--
# forwarder
forwarder
unix           -       n       n       -       3       pipe
flags=RD
user=filter
argv=/usr/local/scripts/forwarder.pl "localhost:10025" "${sender}" "${recipient}"

# from forwarder
localhost:10025
inet           n       -       n       -       -       smtpd
-o content_filter=antivirus
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_helo_restrictions=
-o smtpd_client_restrictions=
-o smtpd_sender_restrictions=
-o mynetworks=127.0.0.0/8
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o myhostname=localhost

# antivirus
antivirus  unix  -       n       n       -       10      pipe
flags=R
user=filter
argv=/usr/local/scripts/antikav.pl "localhost:10026" "${sender}" "${recipient}"


# from antivirus
localhost:10026
inet           n       -       n       -       -       smtpd
-o content_filter=spamfilter
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_helo_restrictions=
-o smtpd_client_restrictions=
-o smtpd_sender_restrictions=
-o mynetworks=127.0.0.0/8
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o myhostname=localhost

# spamfilter
spamfilter
unix           -       n       n       -       3       pipe
flags=R
user=filter
argv=/usr/local/scripts/std2lmtp.pl "localhost:10027" "antispam" "${sender}" "${recipient}" "/usr/local/bin/spamc"

# from spamfilter to smtpd:10026
localhost:10027
inet           n       -       n       -       -       smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_helo_restrictions=
-o smtpd_client_restrictions=
-o smtpd_sender_restrictions=
-o mynetworks=127.0.0.0/8
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o myhostname=localhost


"POSTFIX - отлуп на несуществующий RCPT"
Отправлено unk , 16-Ноя-04 12:36 
>>>>Вроде все ok (меня тут все время дергают)
>>>>
>>>>>local_recipient_maps = $virtual_mailbox_maps
>>>>В качестве local_transport что?
>>>virtual:
>>Вы не весь postconf -n показали?
>>В выводе нет ни этого ни virtual_mailbox_domains
>Да нет, вроде польностью.
Нет. postconf -n показывает все измененные вами параметры local_transport по дефолту не virtual, без virtual_mailbox_domains (по дефолту NULL) ваша конфигурация не должна работать. Если не хотите показать postconf -n тут, то можно на unk_p@mail.ru

"POSTFIX - отлуп на несуществующий RCPT"
Отправлено kosm , 16-Ноя-04 12:41 
>>>>>Вроде все ok (меня тут все время дергают)
>>>>>
>>>>>>local_recipient_maps = $virtual_mailbox_maps
>>>>>В качестве local_transport что?
>>>>virtual:
>>>Вы не весь postconf -n показали?
>>>В выводе нет ни этого ни virtual_mailbox_domains
>>Да нет, вроде польностью.
>Нет. postconf -n показывает все измененные вами параметры local_transport по дефолту не
>virtual, без virtual_mailbox_domains (по дефолту NULL) ваша конфигурация не должна работать.
>Если не хотите показать postconf -n тут, то можно на unk_p@mail.ru
Странно, но высылал все. Сейчас закину на всякий случай прямо вам на мейл с сервера.



"POSTFIX - отлуп на несуществующий RCPT"
Отправлено kosm , 16-Ноя-04 12:34 
>>>Вроде все ok (меня тут все время дергают)
>>>
>>>>local_recipient_maps = $virtual_mailbox_maps
>>>В качестве local_transport что?
>>virtual:
>Вы не весь postconf -n показали?
>В выводе нет ни этого ни virtual_mailbox_domains
Похоже вся система обработки письма не та. В какой момент начинают работать правила из main.conf (smtpd_reject_unlisted_recipient и smtpd_recipient_restrictions), если первый же транспорт это перловый фильтр, после обработки которого, письмо направляется уже smtpd для дальнейшего прохождения цепочки?

"POSTFIX - отлуп на несуществующий RCPT"
Отправлено unk , 16-Ноя-04 12:39 
>Похоже вся система обработки письма не та. В какой момент начинают работать
>правила из main.conf (smtpd_reject_unlisted_recipient и smtpd_recipient_restrictions), если первый же транспорт это
smtpd_recipient_restrictions отрабатывает сразу как клиент сказал "RCPT TO"

>перловый фильтр, после обработки которого, письмо направляется уже smtpd для дальнейшего
>прохождения цепочки?
Не понял вопрос...


"POSTFIX - отлуп на несуществующий RCPT"
Отправлено kosm , 16-Ноя-04 12:48 
>>Похоже вся система обработки письма не та. В какой момент начинают работать
>>правила из main.conf (smtpd_reject_unlisted_recipient и smtpd_recipient_restrictions), если первый же транспорт это
>smtpd_recipient_restrictions отрабатывает сразу как клиент сказал "RCPT TO"
Тогда вообще ничего не понятно.

>>перловый фильтр, после обработки которого, письмо направляется уже smtpd для дальнейшего
>>прохождения цепочки?
>Не понял вопрос...
Я сам не понял :) Запутался уже. Не люблю когда вещь должна работать по всем правилам, а она не работает... В общем, если smtpd_recipient_restrictions обрабатывается сразу после получения "RCPT TO", то что ему может еще мешать?


"POSTFIX - отлуп на несуществующий RCPT"
Отправлено unk , 16-Ноя-04 12:58 
>работать по всем правилам, а она не работает... В общем, если
>smtpd_recipient_restrictions обрабатывается сразу после получения "RCPT TO", то что ему может
>еще мешать?
покажите postconf -n полностью. Иначе это гадание на кофейной гуще.

"POSTFIX - отлуп на несуществующий RCPT"
Отправлено kosm , 16-Ноя-04 13:15 
>>работать по всем правилам, а она не работает... В общем, если
>>smtpd_recipient_restrictions обрабатывается сразу после получения "RCPT TO", то что ему может
>>еще мешать?
>покажите postconf -n полностью. Иначе это гадание на кофейной гуще.

выслал на мейл


"POSTFIX - отлуп на несуществующий RCPT"
Отправлено sed_ , 16-Ноя-04 15:01 
disable_verp_bounces = yes
disable_vrfy_command = yes
local_recipient_maps = $virtual_mailbox_maps, $virtual_maps
local_transport = virtual

mydestination = $myhostname localhost localhost.$mydomain
mydomain = wkau.kz
myhostname = wkau.kz
mynetworks = 127.0.0.1
mynetworks_style = host

relay_domains = $transport_maps
smtpd_client_restrictions =
    permit_sasl_authenticated

smtpd_helo_required = yes
smtpd_recipient_restrictions =
    permit_mynetworks,
    permit_sasl_authenticated,
    reject_unauth_destination,
    reject_unlisted_recipient,
    reject_non_fqdn_recipient,
    reject_unknown_recipient_domain

smtpd_sender_restrictions =
    permit_mynetworks,
    permit_sasl_authenticated,
    reject_sender_login_mismatch,
    reject_non_fqdn_sender,
    reject_unknown_sender_domain
soft_bounce = no
strict_rfc821_envelopes = yes
#несущественные строки вырезаны (как мне кажется)

у меня почтовик по примеру Multik-а сделан