LINUX.ORG.RU
решено ФорумAdmin

[postfix]smtpd_*_restrictions


0

2

Пробую из дома послать письмо через mail.domain.example.com на его ящик от имени существующего почтового ящика на яндексе.

220 mail.domain.example.com ESMTP Postfix
helo [192.168.180.71]
250 mail.domain.example.com
mail from: mailbox@yandex.ru
250 2.1.0 Ok
rcpt to: test@mail.domain.example.com
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
Subject:123
.
250 2.0.0 Ok: queued as 541A4C50085
quit
221 2.0.0 Bye

Aug 18 20:22:23 ithub postfix/smtp[20345]: 5A2F1C50085: to=<mailbox@yandex.ru>, relay=mx.yandex.ru[93.158.134.89]:25, delay=0.18, delays=0/0/0.12/0.05, dsn=2.1.5, status=deliverable (250 2.1.5 <mailbox@yandex.ru> recipient ok)
smtpd_client_restrictions = 
   permit_sasl_authenticated,
   permit

smtpd_data_restrictions = 
   reject_multi_recipient_bounce,    
   reject_unauth_pipelining

smtpd_end_of_data_restrictions =

smtpd_etrn_restrictions =

smtpd_helo_restrictions = 
   permit_mynetworks,    
   permit_sasl_authenticated,
   reject_invalid_helo_hostname,
   reject_non_fqdn_helo_hostname,
   reject_unknown_helo_hostname

smtpd_recipient_restrictions =
    permit_mynetworks,
    permit_sasl_authenticated,
    check_policy_service unix:private/policy,   #SPF
    reject_non_fqdn_recipient,
    reject_unknown_recipient_domain,
    reject_unauth_destination,
    warn_if_reject reject_unauth_destination

smtpd_restriction_classes =

smtpd_sender_restrictions =
    permit_mynetworks,    
    permit_sasl_authenticated,
    reject_unauthenticated_sender_login_mismatch,
    reject_non_fqdn_sender,    
    reject_unknown_sender_domain,    
    reject_unlisted_sender,    
    reject_unverified_sender,    
    reject_rbl_client dul.ru,    
    reject_rbl_client bl.spamcop.net,    
    reject_rhsbl_sender dsn.rfc-ignorant.org

Как можно ограничить такой фокус используя smtpd_*_restrictions

★★★

Ответ на: комментарий от aol
/usr/sbin/postconf -n
2bounce_notice_recipient = test@domain.example.com
alias_maps = hash:/etc/aliases
biff = no
bounce_notice_recipient = test@domain.example.com
bounce_queue_lifetime = 0
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 10
debug_peer_list = 127.0.0.1,0.0.0.0
error_notice_recipient = test@domain.example.com
header_checks = regexp:/etc/postfix/header_checks
html_directory = no
local_recipient_maps = $virtual_mailbox_maps
mail_owner = postfix
mailq_path = /usr/bin/mailq
manpage_directory = /usr/local/man
maps_rbl_domains = dul.ru
mydestination = $myhostname,    localhost.local,    localhost
mydomain = domain.example.com
myhostname = mail.domain.example.com
mynetworks = 127.0.0.0/8,     10.0.0.0/24
mynetworks_style = host
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases
notify_classes = 2bounce
queue_directory = /var/spool/postfix
readme_directory = no
relay_domains = $transport_maps
sample_directory = /etc/postfix
sendmail_path = /usr/sbin/sendmail
setgid_group = postdrop
smtpd_client_connection_count_limit = 3
smtpd_client_port_logging = yes
smtpd_client_recipient_rate_limit = 3

smtpd_client_restrictions = 
	permit_sasl_authenticated,
	permit

smtpd_data_restrictions = 
	reject_multi_recipient_bounce,    
	reject_unauth_pipelining

smtpd_delay_reject = yes
smtpd_hard_error_limit = 2
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks,    
	permit_sasl_authenticated,    
	reject_invalid_helo_hostname,    
	reject_non_fqdn_helo_hostname,    
	reject_unknown_helo_hostname

smtpd_recipient_restrictions = 
	permit_mynetworks,    
	permit_sasl_authenticated,    
	check_policy_service unix:private/policy,    
	reject_non_fqdn_recipient,    
	reject_unknown_recipient_domain,    
	reject_unauth_destination,    
	warn_if_reject reject_unauth_destination
smtpd_reject_unlisted_recipient = yes
smtpd_reject_unlisted_sender = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sender_login_maps = mysql:/etc/postfix/mysql/sasl.cf
smtpd_sender_restrictions = 
	permit_mynetworks,    
	permit_sasl_authenticated,      
	reject_unauthenticated_sender_login_mismatch,    
	reject_non_fqdn_sender,    
	reject_unknown_sender_domain,    
	reject_unlisted_sender,    
	reject_unverified_sender,    
	reject_rbl_client dul.ru,    
	reject_rbl_client bl.spamcop.net,    
	reject_rhsbl_sender dsn.rfc-ignorant.org
smtpd_soft_error_limit = 1
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.key
smtpd_use_tls = no
strict_mime_encoding_domain = yes
transport_maps = mysql:/etc/postfix/mysql/transport.cf
unknown_local_recipient_reject_code = 550
unverified_sender_reject_code = 550
virtual_gid_maps = mysql:/etc/postfix/mysql/gid.cf
virtual_mailbox_base = /
virtual_mailbox_maps = mysql:/etc/postfix/mysql/aliases.cf
virtual_uid_maps = mysql:/etc/postfix/mysql/uid.cf
visual ★★★ ()
Ответ на: комментарий от visual

где-то нестыковочка...

helo [192.168.180.71]

и

mynetworks = 127.0.0.0/8, 10.0.0.0/24

ну, да фиг с ним. перечитал ОП, я правильно понимаю, что ты шлешь письмо из $mynetworks, только подставляешь фейковый адрес в mail from?
если да, и это то, от чего ты хочешь избавиться, то, сдается мне, надо смотреть в сторону DKIM, и уже разобравшись там, писать нужное в restrictions.
если я чего не так понял, уточни.

aol ★★★★★ ()
Ответ на: комментарий от aol

я пишу письмо находясь дома за натом но подклюившеь по телнету на серв. сервер сидит в интернете. мыло в mail from я подставлял свой ящик на яндексе. в rcpt указан ящик который дейтвительно находитя на сервере.

visual ★★★ ()
Ответ на: комментарий от visual

ты не уточнил, что ты хочешь побороть!
чтобы нельзя было мухлевать с mail from, или чтобы почта не доставлялась rcpt to?

если второе, то как же будут другие почтовики тебе доставлять почту?? а если первое, то DKIM.

aol ★★★★★ ()
Ответ на: комментарий от visual

настрой postscreen

@

будь мужиком

этим отсечешь 90 % спамеров.

настрой spf если хочешь проверять валидность адреса сервера

ну и rejebt_unverified_sender чтобы оно бонсами пробивало существование ящика

guyvernk ()
Ответ на: комментарий от aol

как затавить postfix проверять в таком случае, что письмо идёт не от сервера указанного в mail from. ведь простой обратный резолв может это показать. Я пока использую spf и все письма у которых softfail и ниже кладу в спам.

visual ★★★ ()
Ответ на: комментарий от guyvernk

>настрой spf если хочешь проверять валидность адреса сервера

check_policy_service unix:private/policy, #SPF

ну и rejebt_unverified_sender чтобы оно бонсами пробивало существование ящика

reject_unverified_sender,

но

(250 2.1.5 <mailbox@yandex.ru> recipient ok)

смотри внимательно ОП

visual ★★★ ()
Ответ на: комментарий от guyvernk

у меня во всяком случае висит delay_reject т.е. client, helo, sender и recipient срабатывают именно на rcpt to: команде, или вынести все опции в этот рестрикт а предыдущие отчистить?

visual ★★★ ()
Ответ на: комментарий от visual

ну, и совсем дурацкий вопрос: ;)

 grep -A1 policy /etc/postfix/master.cf
и скрипт, который там прописан, он работает вообще? %)

aol ★★★★★ ()
Ответ на: комментарий от visual

лично я используэ фильтрацию по адресу клиента.

сначала постскрин проверяет адреса по блеклистам.

затдм по регексм откидываю хостнеймы невозможные у норм почтовиков

и только потом проверка сендер и реципиент адресов

99 % отсеивается на кривых фостнеймах.

я ща с телефона. завтра могу скинуть конфиг

guyvernk ()
Ответ на: комментарий от visual

а еще, во всех манах, которые я читал пишут:

reject_unauth_destination
     check_policy_service unix:private/policy-spf
в некоторых даже акцент ставят, что чек полиси впишите _после_ reject_unauth_destination.

aol ★★★★★ ()
Ответ на: комментарий от aol

если еще интересно.

выдержка моего main.cf касающаяся постскрина и рестрикшенов

strict_rfc821_envelopes = yes
disable_vrfy_command = yes
smtpd_helo_required = yes
smtpd_etrn_restrictions =
        permit_mynetworks,
        reject
smtpd_client_restrictions =
smtpd_helo_restrictions = permit_mynetworks
smtpd_sender_login_maps=ldap:/etc/postfix/ldap/user.cf
smtpd_sender_restrictions =
smtpd_recipient_restrictions =
        permit_sasl_authenticated,
        reject_unauth_destination,
        reject_unauth_pipelining,
        check_client_access hash:/etc/postfix/access_client,
        check_client_access pcre:/etc/postfix/access_client.pcre,
        check_helo_access hash:/etc/postfix/access_helo,
        reject_invalid_helo_hostname,
        reject_non_fqdn_helo_hostname,
        reject_unknown_helo_hostname,
        reject_sender_login_mismatch
        reject_non_fqdn_sender,
        reject_unknown_sender_domain,
        reject_non_fqdn_recipient,
        reject_unknown_recipient_domain,
        reject_unverified_recipient,
        permit


postscreen_access_list = permit_mynetworks
postscreen_dnsbl_threshold = 2
postscreen_dnsbl_sites = zen.spamhaus.org*2 bl.spamcop.net*1 combined.njabl.org*1
postscreen_dnsbl_action = enforce

содержимое access.pcre

 cat access_client.pcre
/[ax]dsl.*\..*\..*/i REJECT Your message looks like SPAM
/\.dsl.*\..*\..*/i   REJECT Your message looks like SPAM
/cable.*\..*\..*/i   REJECT Your message looks like SPAM
/client.*\..*\..*/i  REJECT Your message looks like SPAM
/dhcp.*\..*\..*/i    REJECT Your message looks like SPAM
/dial.*\..*\..*/i    REJECT Your message looks like SPAM
/dialup.*\..*\..*/i  REJECT Your message looks like SPAM
/dslam.*\..*\..*/i   REJECT Your message looks like SPAM
/host.*\..*\..*/i    REJECT Your message looks like SPAM
/node.*\..*\..*/i    REJECT Your message looks like SPAM
/pool.*\..*\..*/i    REJECT Your message looks like SPAM
/ppp.*\..*\..*/i     REJECT Your message looks like SPAM
/user.*\..*\..*/i    REJECT Your message looks like SPAM

сего хватает для отфильтровывания соединений с левых хостов

дким у меня только на исходящие

guyvernk ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.