LINUX.ORG.RU

Postfix: не работает reject_unlisted_sender, используя telnet могу отправить письмо все равно.

 ,


0

1

Привет.

С несужествующего домена письма не отправляются, но с сущ. доменов (в инете) типа google.com, yandex.ru и пр. отправляются на локальные ящики аж бегом.

220 mail.example.com ESMTP Postfix
helo max.nixsolldd.fff
250 mail.example.com
mail from: root@google.com
250 2.1.0 Ok
rcpt to: root@example.net
250 2.1.5 Ok

Вот так вот.

Кусок конфига отвечающего за данную проблему:

smtpd_helo_restrictions = permit_mynetworks,
permit_sasl_authenticated,
reject_non_fqdn_helo_hostname,
reject_invalid_helo_hostname

smtpd_data_restrictions = permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_pipelining,
reject_multi_recipient_bounce,

smtpd_sender_restrictions = permit_sasl_authenticated,
reject_unlisted_sender,
reject_non_fqdn_sender,
reject_unknown_sender_domain,
reject_sender_login_mismatch,
reject_unauth_pipelining,

smtpd_recipient_restrictions = reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
reject_multi_recipient_bounce,
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
reject_invalid_hostname,

Кусок лога с зафейлившимся чеком:

: generic_checks: name=reject_unlisted_sender
: >>> CHECKING RECIPIENT MAPS <<<
: ctable_locate: leave existing entry key root@google.com
: maps_find: recipient_canonical_maps: root@google.com: not found
: match_string: google.com ~? mail.example.com
: match_string: google.com ~? localhost.example.com
: match_string: google.com ~? localhost
: match_list_match: google.com: no match
: maps_find: recipient_canonical_maps: @google.com: not found
: mail_addr_find: root@google.com -> (not found)
: maps_find: canonical_maps: root@google.com: not found
: match_string: google.com ~? mail.example.com
: match_string: google.com ~? localhost.example.com
: match_string: google.com ~? localhost
: match_list_match: google.com: no match
: maps_find: canonical_maps: @google.com: not found
: mail_addr_find: root@google.com -> (not found)
: dict_mysql_get_active: attempting to connect to host localhost
: dict_mysql: successful connection to host localhost
: dict_mysql: successful query from host localhost
: dict_mysql_lookup: retrieved 0 rows
: dict_mysql_get_active: attempting to connect to host localhost
: dict_mysql: successful connection to host localhost
: dict_mysql: successful query from host localhost
: dict_mysql_lookup: retrieved 0 rows
: maps_find: virtual_alias_maps: root@google.com: not found
: match_string: google.com ~? mail.example.com
: match_string: google.com ~? localhost.example.com
: match_string: google.com ~? localhost
: match_list_match: google.com: no match
: dict_mysql_get_active: found active connection to host localhost
: dict_mysql: successful query from host localhost
: dict_mysql_lookup: retrieved 0 rows
: maps_find: virtual_alias_maps: @google.com: not found
: mail_addr_find: root@google.com -> (not found) : generic_checks: name=reject_unlisted_sender status=0



Последнее исправление: maximusgrek (всего исправлений: 1)

проверять соответствие «сущ. доменов»(С) на предмет PTR дядя будет за тебя? и таки да, причём тут телнет, именно в рамках тобою описаной задачи, ты же не с гуглохоста идёшь телнетом.

novitchok ★★★★★
()

С несужествующего домена письма не отправляются, но с сущ. доменов (в инете) типа google.com, yandex.ru и пр. отправляются на локальные ящики аж бегом.

А spf кто проверять будет? Пушкин? Его для того и придумали, чтоб кто попало не мог слать письма от чужого имени.

anonymous
()

RFC допускает отправление одним почтовым сервером писем с разных доменов. Те домен в helo и не обязательно должен соответствовать домену с которого отправляется письмо, иначе бы пришлось на каждый домен лепить по почтовому серверу. В данном случае поможет проверка SPF.

constin ★★★★
()
Последнее исправление: constin (всего исправлений: 1)
Ответ на: комментарий от constin

Спасибо всем кто ответил.

Насколько я понял проверки PTR и SPF единственный выход.

Или можно как то еще? Дело в том что я надеялся на reject_unlisted_sender

Как вообще запретить серверу отправлять почту с любых доменов не перечисленых в virtual_mailbox_domains.cf или каких нибудь еще базах/табличках.

Например если я сделаю какой нить check_sender_access, или...

maximusgrek
() автор топика
Ответ на: комментарий от maximusgrek

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

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

Для исходящей почты, те для пользователей сервера.

reject_sender_login_mismatch - не давать посылать пользователю email c с адреса , отличного от того, под кем он залогинился.

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

И как видим из моего конфига - reject_sender_login_mismatch уже стоит.

тем не менее

telnet server1.example.com 25 <- подключаемся к серверу EHLO server2.example.com <- Хело/ехло а вот тут должна была бы быть авторизация, для reject_sender_login_mismatch , но ее нет :(

Поэтому mail from: root@google.com <- проканывает

Как тогда сделать так что бы на 25 порту была авторизация.

maximusgrek
() автор топика
Ответ на: комментарий от maximusgrek

Давайте разделим отсылку писем внешними серверами и отсылку писем пользователями.

Нормальная практика использовать для этого разные порты 25 для smtp и 587 для submission авторизованных юзеров. Но это не имеет значения. Можно использовать 25 порт для всего.

Итак. при коннекте телнетом на 25 порт у вас есть два варианта.

1. Сказать ehlo и сразу посылать почту и тогда для вас будут работать все ограничения в вашем конфиге для внешним серверов, так как правило permit_sasl_authenticated не будет срабатывать.

2. авторизоваться и обойти остальные ограничивающие правила.

Так вот reject_sender_login_mismatch правило для авторизовавшихся сессий. Сделано оно для того, чтобы юзер не слал письма с чужого мыла.

Вообще советую посмотреть вот эту таблицу, чтобы понять, что на каком этапе применяется.

telnet 192.168.0.2 25                           # Comments
Trying 192.168.0.2...
Connected to 192.168.0.2 (192.168.0.2).
Escape character is '^]'.
220 mail.example.com ESMTP Postfix              # <-smtp_client_restrictions
HELO mail.example.com                           # <-smtp_helo_restrictions
250 mail.example.com                            #
MAIL FROM:<ned@example.com>                     # <-smtp_sender_restrictions
250 2.1.0 Ok                                    #
RCPT TO:<ned@example.com>                       # <-smtp_recipient_restrictions
250 2.1.5 Ok                                    #
DATA                                            # <-smtp_data_restrictions
354 End data with <CR><LF>.<CR><LF>             #
To:<ned@example.com>                            # <-header_checks
From:<ned@example.com>                          #
Subject:SMTP Test                               #
This is a test message                          # <-body_checks
.                                               #
250 2.0.0 Ok: queued as 301AE20034
QUIT
221 2.0.0 Bye
Connection closed by foreign host.

Если хотите протестить сессию с авторизацией, то пишите AUTH LOGIN следующей строкой после helo

constin ★★★★
()
Последнее исправление: constin (всего исправлений: 3)
Ответ на: комментарий от constin

Данную табличку я видел и собственно по ней (в меру своего разумения конечно) правил main.cf и master.cf.

Однако:

1. Сказать ehlo и сразу посылать почту и тогда для вас будут работать все ограничения в вашем конфиге для внешним серверов, так как правило permit_sasl_authenticated не будет срабатывать.

Вот это то как раз и не работает так как надо.

Потому что я не авторизовавшись шлю почту,а permit_mynetworks у меня даже нет в sender restrictions

и «все ограничения» не работают :(

Я чувствую что я где то что-то упустил, но уже две недели перечитываю офиц документацию и до сих пор не нашел ответа :(

maximusgrek
() автор топика
Ответ на: комментарий от maximusgrek

Потому что я не авторизовавшись шлю почту,а permit_mynetworks у меня даже нет...

Как раз permit_mynetworks у вас напихано во всех секциях. Причем выше permit_sasl_authenticated. Неизвестно, что входит в этот параметр кроме нужного 127.0.0.1/8 И телнетесь прямо с консоли самого почтовика?

Bootmen ☆☆☆
()
Последнее исправление: Bootmen (всего исправлений: 1)
Ответ на: комментарий от constin

to constin:

ehlo jhwef
504 5.5.2 <jhwef>: Helo command rejected: need fully-qualified hostname

Как видите reject_non_fqdn_helo_hostname работает

EHLO max.ffggf.com # <- ясно что такого нет, но проканывает
250-mail.example.com
250-PIPELINING
250-SIZE 20000000
250-STARTTLS
250-AUTH CRAM-MD5
250-AUTH=CRAM-MD5
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from: fftrr@ikfeinceiieicc.org
450 4.1.8 <fftrr@ikfeinceiieicc.org>: Sender address rejected: Domain not found

Как видите я не авторизовался но ограничение reject_unknown_sender_domain, сработало.

А вот: mail from: root@google.com 250 2.1.0 Ok

то самое на что я жалуюсь. не срабатывает reject_unlisted_sender,

Кстати вот такой странный вопрос:
postmap -q all mysql:/etc/postfix/mysql/virtual_mailbox_domains.cf
ALL

что, если из за того что в базе есть ALL из нее при запросе находит и google.com ?

И еще, вариант обойти этот необоримый :) участок - сделать так что бы никак нельзя было зайти не авторизовавшись, для того что бы срабатывали reject_sender_login_mismatch и пр. связанные правила.

Тогда подскажите, какая директива за это отвечает, пожалуйста.

to Bootmen Ув. Bootmen , в mynetworks у меня ТОЛЬКО 127.0.0.1/8 и сам permit_mynetworks у меня указан в recipient restrictions и hello restrictions, но не в sender restrictions, который меня как раз и интересует.

maximusgrek
() автор топика
Ответ на: комментарий от maximusgrek

нельзя было зайти не авторизовавшись, для того что бы срабатывали reject_sender_login_mismatch и пр. связанные правила.

Совсем вы нас запутали.

smtpd_sender_restrictions = permit_sasl_authenticated,
reject_unlisted_sender,
reject_non_fqdn_sender,
reject_unknown_sender_domain,
reject_sender_login_mismatch,
reject_unauth_pipelining

В этой вашей цепочке должно работать так:

Если вы прошли аутификацию ( 1 правило) то остальные ниже НЕ проверяются, в том числе и reject_sender_login_mismatch. Если все без пароля , то проверки продолжаются далее. Уберите совсем: permit_sasl_authenticated и тогда перед «богом» (админом) все сендеры входящие-исходящие будут равны.

Bootmen ☆☆☆
()
Последнее исправление: Bootmen (всего исправлений: 1)
Ответ на: комментарий от Bootmen

Да и вообще секция

smtpd_sender_restrictions =

Никакой пользы в борьбе с спамерюгами не приносит. Для того чтобы узнать наличие сендера на др сервере почты Ваш постфикс посылает запрос. Накоторый обычно нет ответа. Так как эта функция обычно отключена. ( у меня тоже) Чтобы не облегчать жизнь спамерам. Полезна только:

reject_sender_login_mismatch

Для борьбы с собственными наглыми узерами, в купе с ограничением количества изрыгаемыми ими же писем. :)

Bootmen ☆☆☆
()
Последнее исправление: Bootmen (всего исправлений: 1)
Ответ на: комментарий от maximusgrek

max.ffggf.com # <- ясно что такого нет, но проканывает

вообще-то есть

там видимо стоит *.ffggf.com в dns , так что правило отработало правиьно

А вот: mail from: root@google.com 250 2.1.0 Ok

то самое на что я жалуюсь. не срабатывает reject_unlisted_sender,

он должен давать отправлять письма от google.com, так как google.com может захотеть отправлять письма с сервера max.ffggf.com, ну вот вдруг! Почему нельзя-то? Другое дело, что для гугля вы потом проверите SPF и не пропустите письмо.

В итоге, пока все в порядке.

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

constin ★★★★
()
Последнее исправление: constin (всего исправлений: 2)
Ответ на: комментарий от Bootmen

почему же , в smtpd_sender_restrictions можно запихнуть reject_unknown_sender_domain чтобы не писали с несуществующих доменов, reject_non_fqdn_sender - так же

constin ★★★★
()

Разобрался с reject_unlisted_sender В общем, это когда у тебя на почтовике обслуживается домен example.com и внешний сервак шлет тебе письмо с user1@example.com, тогда ты лезешь в свои таблицы , и если там нет такого юзера, то посылаешь внешний почтовик подальше.

Те это не имеет отношения к вашим тестам.

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

запихнуть reject_unknown_sender_domain чтобы не писали с несуществующих доменов

Мой опыт показывает, что с этим как раз у спамеров все в порядке. Они не пишут из балды домены сендера. А вот smtpd_client_restrictions им труднее обойти.

Bootmen ☆☆☆
()
Ответ на: комментарий от Bootmen

Отказался я от идеи использовать reject_unlisted_sender

Спасибо большое constin , я перечитывал несколько раз доки и все равно не совсем понимал как оно работает до вашего объяснения. как

Ув. Bootmen, спасибо. А Вы не могли бы привести пример близкого к современной реальности smtpd_client_restrictions ?

Я про него почитал, но там все предлагают делать через type:table , а вот что именно писать в эти таблички, пока не сообразил.

Не подскажете, хотя бы примерно, как запретить не авторизовавшимся пользователям - через тот же телнет например, посылать письма с моего сервера?

maximusgrek
() автор топика
Ответ на: комментарий от maximusgrek

У меня он выглядит так (хотя конечно не идеал):

smtpd_client_restrictions = permit_sasl_authenticated,
check_client_access hash:/etc/postfix/list/vip_ip,
check_client_access regexp:/etc/postfix/list/regexp_client,
reject_rbl_client bl.spamcop.net,
reject_rbl_client zen.spamhaus.org,
reject_rbl_client dnsbl.sorbs.net,
reject_rhsbl_client rhsbl.sorbs.net,
reject_unknown_client,
reject_unknown_client_hostname

Мои таблицы заточены под мой вкус. Например у меня нет бабушки в Бразилии и в Норвегии у узеров нет родствеников. Но я на всякий случай заэкранировал строки которые вам могут быть неприемлимы. А использовать или нет вам решать:

Файл /etc/postfix/list/vip_ip

#
.hotmail.ru OK
.mail.ru OK
.google.com OK
icproduct.ru OK
ns8.spamhaus.org OK
.roilcom.ru OK
mail.redcom.ru OK
smtp1.veryhost.ru OK
server11.servera.info OK
.gazprom.ru OK
nat5.iks.ru OK
.svtc.ru OK
.mvstelecom.ru OK
.masterhost.ru OK
.pochta.ru OK
host.sakh.com OK
hostmail.sakh.com OK
smtp.hoster.ru OK
ns1.mnr.gov.ru OK
.dns-shop.ru OK
.hoster.ru OK
http://www.energoneft.org OK
ext2.msk-relay.otrs.hostcomm.ru OK
ns0.emsd.ru OK
mail.dns-cool-server.ru OK
.redcom.ru OK
.mail.alibaba.com OK
#.cz REJECT
#.br REJECT
#.pl REJECT
#.nl REJECT
#.ro REJECT
#.it REJECT
#.pt REJECT
#.hu REJECT
#.eu REJECT
#.ar REJECT
#.xyz REJECT
#.sk REJECT
#.il REJECT
#.co.kr REJECT
#.ua REJECT
#.de REJECT
#.me REJECT
#.work REJECT
.wanadoo.co.u REJECT
.orange.fr REJECT
.cox.net REJECT
.bb.sky.com REJECT
.volia.net REJECT
.home.otenet.gr REJECT
.bullet.ukl.yahoo.com REJECT
.convex.ru REJECT
.static.otenet.gr REJECT
.codetel.net.do REJECT
.aol.com REJECT
.static.corbina.ru REJECT
coperfilus.ru REJECT
.secureserver.net REJECT
.securesites.net REJECT
.usndr.com REJECT
.geometria.ru REJECT
.comcast.net REJECT
.asianet.co.th REJECT
.res.rr.com REJECT
.safesecureweb.com REJECT
fw.rags.ru REJECT
.quelle-info.ru REJECT
.startdedicated.com REJECT
#.timeweb.ru REJECT
.conepuppy.com REJECT
.dedicatedpanel.com REJECT
.gmx.net REJECT
.alshamil.net.ae REJECT
.arvixevps.com REJECT
.netvigator.com REJECT
.onlinehome-server.com REJECT
.onlinehome-server.info REJECT
.arvixe.com REJECT
.action-press.ru REJECT
.vps.agava.net REJECT
.hvm.agava.net REJECT
.sndsy.ru REJECT
.change.org REJECT
.centr-corp.ru REJECT
.esputnik.com REJECT
.mtasmtp.net REJECT
.mcsv.net REJECT
.emlone.com REJECT
.ufa-help.ru REJECT
.paypal.com REJECT
macpsp.ru REJECT
.directcrm.ru REJECT
.lashou.com REJECT
vainor.ru REJECT
tosteres.ru REJECT
olympikgame.ru REJECT
.7bridgessupply.com REJECT
.rdt.bbsec.co.jp REJECT
.aquiss.net REJECT

# Второю таблице выложу чуть позже

Bootmen ☆☆☆
()
Ответ на: комментарий от maximusgrek

/etc/postfix/list/regexp_client. Довольно стандартный. Отбивает ботов колотящиеся с динамических адресов, всяких DSL и прочих IP не попавших еще в RBL списки:

/mail-.*\.outbound\.protection\.outlook\.com/	OK
/\.vk\.com/	OK
/\.outbound\.protection\.outlook\.com/	553 SPAM_outl
/([0-9]*\.){4}(.*\.){3,}.*/i               553 SPAM_ip-add-rr-ess_networks
/client.*\..*\..*/i                        553 SPAM_CLIENT
/cable.*\..*\..*/i                         553 SPAM_CABLE
/pool.*\..*\..*/i                          553 SPAM_POOL
/.*\.pppool\..*/i			   553 SPAM_POOL1
/[0-9]*-[0-9]*-[0-9]*-[0-9]*/    553 SPAM_POOL2
/dial.*\..*\..*/i                          553 SPAM_DIAL
/ppp.*\..*\..*/i                           553 SPAM_PPP
/dslam.*\..*\..*/i                         553 SPAM_DSLAM
/dhcp.*\..*\..*/i                          553 SPAM_DHCP
/[\.-]dsl.*\..*\..*/i                      553 SPAM_DSL
/[ax]dsl.*\..*\..*/i                       553 SPAM_XDSL
/ppoe[0-9]+_[0-9]+_[0-9]+_[0-9]+\./	553 SPAM_ppoe
/\.ppp-pool\./	553 SPAM_ppp-pool
/server[s]*\.com$/	553	SPAM_servers
/\.dial-up\./	553 SPAM_dial-up
/\.dns/	553 SPAM_from_DNS
/dns\./	553 SPAM_from_dNs
/\.dyn\./	553 SPAM_IP
/\.dynamic\./	553 SPAM_IP
/-dynamic\./	553 SPAM_IP
/^gateway[0-9]+\..*\.com$/	553 SPAM_gateway-com
/webserver\./	553 SPAM_webserver
/^ns[0-9]+-.*\..*.\./	553 SPAM_nsXXX-
/host/	553 SPAM_XXhost
/^www\./	553 SPAM_WWW
/^node-/	553 SPAM_node
/^ns[0-9]+\./	553 SPAM_nsXX
/^vpn[0-9]+\./	553 SPAM_vpn
/server[0-9]*\./	553 SPAM_serverXX
/^ip[0-9]+\./	553 SPAM_ipXX
/[0-9]{5}\./	553 SPAM_IP-d
/^proxy[0-9]+\./	553 SPAM_proxy-X
/^nat[0-9]*\./	553 SPAM_nat
/^nat-.*/	553 SPAM_NAT
/\.user[0-9]*\./	553 SPAM_USER
/^web[0-9]*\..*/i	553 SPAM_web
/^vpn[0-9]*-/	553 SPAM_vpnXXX
/^dyn-[0-9]+-[0-9]+\./	553 SPAM_dyn
/.*\.yandex\.ru/i                       OK yandex.ru
/.*-[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\..*/i    553 SPAM_host-ip
/.*[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\..*/i    553 SPAM_host-ip-1
/.*[0-9]*\.[0-9]*\.[0-9]*\.[0-9]-/    553 SPAM_host-ip
/[0-9]*-[0-9]*\.[0-9]*-[0-9]*\./	553 SPAM_IP-a 
/.*[0-9]*\.[0-9]*-[0-9]*-[0-9]*\..*/i	553 SPAM_ip 
/[0-9]*\.[0-9]*-[0-9]*-[0-9]*\..*/i	553 SPAM_ip-2
/.*[0-9]*-[0-9]*-[0-9]*-.*/i	553 SPAM_IP
/^.*[0-9]{3}-[0-9]{3}\..*/	553 SPAM_IP-b
/^.*[0-9]{12}.*/	553 SPAM_IP-c 
/.*-[0-9]+-[0-9]+\..*/	553 SPAM_IP-C
/[0-9]+\.[0-9]+\.[0-9]+-[0-9]+\..*/	553 SPAM_ip
/^[0-9]*-[0-9]*-[0-9]*\./	553 SPAM_IP
/[a-z][0-9]{2}\.[0-9]{3}\./	553 SPAM_IP-e
/[0-9]{9}\./	553 SPAM_IP-9 
/[0-9]{10}\./	553 SPAM_IP-10
/^[0-9]{11}[a-z]*\./	553 SPAM_IP11
/^ip[0-9]+-[0-9]+\./	553 SPAM_ip11-11
/-[0-9]+\.[0-9]+\./	553 SPAM_IP-a
/[0-9]+-[0-9]+\./	553 SPAM_IP-b
/^[0-9]+\.[0-9]+\..*\.ru$/	553 SPAM_IPXX
/broadband/    553 SPAM_broadband
/.*\..*\.shawcable\.net/i                  553 SPAM_host-shawcable-net
/.*([0-9]*\.){4}cableonline\.com\.mx/i     553 SPAM_IP-cableonline-com-mx
/(.*\.){2}maxonline\.com\.sg/i             553 SPAM_host-maxonline-com-sg
/.*-.*(\..*){2}\.ne\.jp$/i                  553 SPAM_host-ne-jp
/[0-9]*\..*\.ne\.jp$/i                      553 SPAM_h09t-ne-jp1
/(.*\.){3}ad\.jp$/i                         553 SPAM_host-ad-jp2
/\.chello\.../i                   553 SPAM_host-chello
/homeuser.*\.ccl\.perm\.ru/i	553 SPAM_ccl-perm-ru
/ipa.*\.tellas\.gr/i	553 SPAM_ipa-tellas-gr
/[0-9]*\.[0-9]*\.fix-addr\.vsi\.ru/	553 SPAM_fix-addr-vsi-ru
/smtp[0-9]*\.mail\.mud\.yahoo\.com/	553 SPAM_mail-mud-yahoo-com
/.*\.bullet\.mail\..*\.yahoo\.com/	553 SPAM_bullet-mail-yahoo-com
/n[0-9]*\.bullet\.mud\.yahoo\.com/	553 SPAM_n-bullet-mud-yahoo-com
/qb-out-[0-9]*\.google\.com/	553 SPAM_qb-out-google-com
/a[0-9]*\.sub[0-9]*\.net[0-9]*\.udm\.net$/	553 SPAM_ a-sub-net-udm-net
/[0-9]+\.dedibox\.fr/	553 SPAM_dedibox-fr
/^srv.*\.jino\.ru$/	553 SPAM_jino-ru
/dedicated[0-9]*\.tchmachines\.com/	553 SPAM_dedicated-tchmachines-com
/outmail[0-9]*\....[0-9]*\.facebook\.com$/	553 SPAM_outmail-facebook-com
/\.sendpulse\./	553 SPAM_sndpls
/webmail\./	553 SPAM_WEB
/garant.*\./	553 SPAM_bgaranty 

Bootmen ☆☆☆
()
Ответ на: комментарий от maximusgrek

Для того чтобы в хеш таблицах срабатывали строки с точкой впереди типа:

.biz.ua

секция в main.cf должна выглядеть так:

parent_domain_matches_subdomains = debug_peer_list,
				fast_flush_domains,
				mynetworks,
				permit_mx_backup_networks,
				qmqpd_authorized_clients,
				relay_domains
Если вы сомневаетесь в результатах ограничений, то добавте перед рестрикшеном, пример:

warn_if_reject check_client_access regexp:/etc/postfix/list/regexp_client

Тогда письма не будут отвергатся почтовиком, но в логах будут запись о срабатывании даного правила. Установите LogWatch. Он будет присылать вам по почте ежедневный отчет о работе почтовика. Кстати увлекательное чтение. :) Я дoполнительно устaновил консольный почтовый клиент

mutt

И смотрю отчеты прямо из консоли сервера. Ну вкратце все. Есть еще всякие плюшки типа:

body_check
header_check

и прочие штучки усложняющие без того нелегкую работу спамерюг. :)

Bootmen ☆☆☆
()
Ответ на: комментарий от Bootmen

Ужс конечно, я не даже рассчитывал на такой объем рестрикшенов...

Очень хочется скопипастить :) Но я воздержусь, надо переформатировать под себя.

Спасибо большое за детальное объяснение. Пошел читать вот про это вот про всё.

Буду теперь чуть более защищен.

No Spammers Allowed! :)

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