В попытке лучше бороться со спамом я настроил Postfix следующим образом:
smtpd_client_restrictions =
check_client_access hash:/etc/postfix/client_whitelist
reject_unknown_client
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
reject_unknown_sender_domain,
reject_unknown_recipient_domain,
reject_unauth_destination,
reject_unauth_pipelining,
reject_invalid_hostname,
reject_rbl_client zen.spamhaus.org,
reject_rbl_client bl.spamcop.net,
reject_rbl_client l2.apews.org,
permit
Эта конфигурация уменьшила количество спама, и с помощью белого списка я смог справиться с некоторыми неправильно настроенными, но законными серверами, чтобы принять их. Однако мне интересно, сможет ли эта конкретная конфигурация белого списка выполнять свою работу, если некоторые другие легитимные серверы окажутся в черном списке в одном из этих RBL. Я что-то упускаю?
Вы также можете попробовать использовать postfix permit_dnswl_client
директива (если вы используете postfix 2.8+), например. это тот, который я использую в своей конфигурации:
allow_dnswl_client list.dnswl.org
Я использую несколько RBL в своей конфигурации, но некоторые из них более агрессивны и содержат IP-адреса от провайдеров веб-почты (например, AOL, gmail, yahoo), поэтому белый список, который я определяю перед RBL, позволяет этим IP-адресам проходить.
В случае, если «невиновный» почтовый сервер находится в одном из настроенных вами RBL, а не в вашем белом списке, электронное письмо просто отбрасывается.
Если вы хотите защитить себя от этого, вам нужно перейти на RBL подсчет очков а не прямой RBL блокировка. Один хороший способ сделать это - использовать политический вес демон подсчета очков. Он будет интегрирован в Postfix и работает следующим образом:
С этого момента вы настраиваете свои RBL в policyd-weight, где вы можете назначать оценки «попадание» и «не попадание» для каждой RBL индивидуально (поэтому с отрицательной оценкой вы даже можете использовать RBL из белого списка).
Пример: rbl1.example.org: оценка 3,5, rbl2.foo.org: оценка 4. Минимальный балл, необходимый для блокировки: 6
Теперь, если IP-адрес указан в rbl2.foo.org, но не в rbl1.example.org, он не будет отклонен, так как не набрал требуемого минимального балла 6.
Это решение также защищает вас от мертвые RBL. Если они «умирают», RBL часто отвечает на все запросы с помощью 127.0.0.2
что означает "перечисленные", чтобы привлечь ваше внимание. Но пока вы не обнаружите эту ошибку, большая часть законной электронной почты будет потеряна.