Postfix - 在 SPF 通過後跳過 RBL 檢查
我已經開始使用 policyd-spf 並且正在使用以下收件人限制。我希望通過 SPF 檢查的發件人跳過任何 RBL 檢查。不幸的是,這並沒有發生。
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unauth_destination, reject_unauth_pipelining, reject_invalid_hostname, check_policy_service unix:private/policy-spf check_sender_access mysql:/etc/postfix/mysql_sender_checks.cf reject_rbl_client zen.spamhaus.org, reject_rbl_client bl.spamcop.net, reject_rbl_client cbl.abuseat.org, reject_rbl_client dnsbl.sorbs.net
失敗的 SPF 檢查是正確的,但正如您從 syslog 中看到的那樣 - policyd-spf 表示它已通過但繼續進行 RBL 檢查:
Mar 29 13:15:51 policyd-spf[6442]: Pass; identity=mailfrom; client-ip=69.171.232.144; helo=mx-out.facebook.com; envelope-from=REDACTED; receiver=REDACTED Mar 29 13:15:51 postfix/smtpd[5971]: NOQUEUE: reject: RCPT from 69-171-232-144.outmail.facebook.com[69.171.232.144]: 554 5.7.1 Service unavailable; Client host [69.171.232.144] blocked using dnsbl.sorbs.net; Currently Sending Spam See: http://www.sorbs.net/lookup.shtml?69.171.232.144; from=<REDACTED> to=<REDACTED> proto=ESMTP helo=<mx-out.facebook.com>
有誰熟悉 postfix-policyd-spf-python,如果是的話,你能解釋為什麼它沒有按預期工作。
使用:
Debian GNU/Linux 7 Linux XXXXX 3.2.0-4-amd64 #1 SMP Debian 3.2.82-1 x86_64 GNU/Linux Postfix 2.9.6-2 postfix-policyd-spf-python 1.0.2
根據日誌,該消息被 list 拒絕
dnsbl.sorbs.net
。如使用 SORBS介紹中所述
作為 SORBS 列表的潛在使用者,您需要問自己的最重要的問題是:我是否了解我計劃使用的列表的列表標準?
然後,您有許多選擇/決定要做:
- 您想在阻止垃圾郵件方面有多積極?
- 您想信任 SORBS 管理員以及測試腳本嗎?
- 您是否相信 SORBS 管理員用來辨識配置錯誤的主機的腳本?
該列表
dnsbl.sorbs.net
是一個聚合區域,包含除 spam.dnsbl.sorbs.net 之外的所有 SORBS 區域)。這意味著您的設置在阻止垃圾郵件方面非常積極,即您可能會出現誤報,就像您已經做過的那樣。雖然確實(來自Postfix Configuration Parameters,
smtpd_recipient_restrictions
)限制按指定的順序應用;第一個匹配的限制獲勝。
唯一的
check_policy_service
原因是向指定的策略伺服器發送查詢,而不是直接reject
或permit
。然後,您python-policyd-spf
可以返回reject
ifPermError_reject = True
,否則只會添加Received-SPF
標題並繼續處理限制。您應該閱讀使用 SORBS獲取可用區域列表。然後您可以決定哪些區域最適合您的需求並單獨添加它們,例如
smtpd_recipient_restrictions = . . . reject_rbl_client relays.dnsbl.sorbs.net, reject_rbl_client web.dnsbl.sorbs.net, reject_rbl_client escalations.dnsbl.sorbs.net, reject_rbl_client block.dnsbl.sorbs.net, reject_rbl_client zombie.dnsbl.sorbs.net, reject_rbl_client dul.dnsbl.sorbs.net, reject_rbl_client noserver.dnsbl.sorbs.net, reject_rbl_client rhsbl.sorbs.net, . . .
或者你可以換成
dnsbl.sorbs.net
不那麼激進的聚合區safe.dnsbl.sorbs.net
。