
因為我不知道多久了——也許十年——我的後綴配置中有以下內容:
smtpd_client_restrictions = reject_rbl_client sbl.spamhaus.org,
reject_rbl_client blackholes.easynet.nl
最近,我偶爾會遇到用戶被退回的情況,這是我在伺服器上看到的情況:
Nov 14 03:23:33 ip-10-0-200-150 postfix/smtpd[25205]: connect from mail-cwlgbr01
on2134.outbound.protection.outlook.com[40.107.11.134]
Nov 14 03:23:33 ip-10-0-200-150 postfix/smtpd[25205]: Anonymous TLS connection e
stablished from mail-cwlgbr01on2134.outbound.protection.outlook.com[40.107.11.13
4]: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)
Nov 14 03:23:33 ip-10-0-200-150 postfix/smtpd[25205]: NOQUEUE: reject: RCPT from mail-cwlgbr01on2134.outbound.protection.outlook.com[40.107.11.134]: 554 5.7.1 Service unavailable; Client host [40.107.11.134] blocked using sbl.spamhaus.org; Error: open resolver; https://www.spamhaus.org/returnc/pub/3.64.1.98; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<GBR01-CWL-obe.outbound.protection.outlook.com>
但2分鐘後
Nov 14 03:25:43 ip-10-0-200-150 postfix/smtpd[25205]: connect from mail-cwlgbr01
on2125.outbound.protection.outlook.com[40.107.11.125]
Nov 14 03:25:44 ip-10-0-200-150 postfix/smtpd[25205]: Anonymous TLS connection e
stablished from mail-cwlgbr01on2125.outbound.protection.outlook.com[40.107.11.12
5]: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)
Nov 14 03:25:44 ip-10-0-200-150 postfix/smtpd[25205]: 4E7A780053: client=mail-cw
lgbr01on2125.outbound.protection.outlook.com[40.107.11.125]
Nov 14 03:25:44 ip-10-0-200-150 postfix/cleanup[25245]: 4E7A780053: message-id=<[email protected]>
Nov 14 03:25:44 ip-10-0-200-150 mimedefang.pl[23843]: 4E7A780053: MDLOG,4E7A780053,mail_in,,,<[email protected]>,<[email protected]>,FW: Undeliverable: FW: The Philosopher's Trading Experiment: Peter Thiel and the Big Short That Never Was
Nov 14 03:25:44 ip-10-0-200-150 mimedefang[20720]: 4E7A780053: Filter time is 21ms
Nov 14 03:25:44 ip-10-0-200-150 opendkim[11822]: 4E7A780053: mail-cwlgbr01on2125.outbound.protection.outlook.com [40.107.11.125] not internal
Nov 14 03:25:44 ip-10-0-200-150 opendkim[11822]: 4E7A780053: not authenticated
Nov 14 03:25:44 ip-10-0-200-150 opendkim[11822]: 4E7A780053: failed to parse authentication-results: header field
Nov 14 03:25:44 ip-10-0-200-150 opendkim[11822]: 4E7A780053: DKIM verification successful
Nov 14 03:25:44 ip-10-0-200-150 postfix/qmgr[28094]: 4E7A780053: from=<[email protected]>, size=177480, nrcpt=1 (queue active)
Nov 14 03:25:44 ip-10-0-200-150 amavis[22145]: (22145-03) ESMTP [127.0.0.1]:10024 /var/spool/amavisd/tmp/amavis-20221113T221855-22145-4K_9q1uQ: <[email protected]> -> <[email protected]> SIZE=177480 Received: from ip-10-0-200-150.eu-central-1.compute.internal ([127.0.0.1]) by localhost (my.postfixserver.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP for <[email protected]>; Mon, 14 Nov 2022 03:25:44 +0000 (UTC)
所連結的SpamHaus 錯誤頁面並不讓我認為這應該是間歇性問題。
最重要的問題是,我該如何解決這個問題?郵件伺服器在AWS EC2執行個體上執行,伺服器上沒有特殊的DNS配置。 AWS 是否有可能對 DNS 查詢進行某種循環,而它們正在查詢的某些伺服器現在是公共解析器?
更深入地挖掘,我想知道我是否應該進行這項檢查,或者它現在是否已經過時了。相同的連結錯誤頁面試圖說服我使用垃圾郵件之家 DQS。這個伺服器故障問題有關dbl.spamhaus.org
文件指出,如果您每天處理的電子郵件少於 20 萬封電子郵件,則根本不應該在郵件伺服器中執行此操作,而應該在 SpamAssassin 中執行此操作,但我找不到類似的警告/文檔中的建議sbl
。相反,sbl
文件似乎希望人們停止使用sbl
獨立的,而是切換到整合的禪宗DNSBL。
一方面,我非常支持「如果它沒有壞,就不要修復它」的觀點,這就是為什麼這條線幾乎永遠存在於我的 Postfix 配置中。但另一方面,它現在似乎已經損壞,並且在 2017-2019 年期間似乎發生了很大變化,並且現在沒有很好的記錄(所有 Postfix/AmavisD 虛擬郵件“操作方法”似乎要么在此期間之前已寫過,或者只是說“Amavis 運行SpamAssassin,無需特殊配置”,但沒有提及DNSBL。
在現代世界中,對於低容量的郵件伺服器,我應該如何做到這一點?
答案1
停止由於暫時性錯誤(應該是 4XX),現在永久 (554) 拒絕郵件。如果你認為值得的話,請考慮進一步的改變。
查詢公共解析器
這個措辭指的是多個大型公共服務。他們想知道誰在探查他們以了解他們的資料來源,並且他們喜歡讓更多的用戶向他們付費。他們並不關心這是否是真正公開的東西,或者只是亞馬遜為您和資料中心中的其他人設置的東西。如果這使得您的流量難以與其他伺服器區分開,他們寧願看到 DNS 流量直接從您的伺服器,附加一個明確的 rDNS 名稱(通常:透過在郵件伺服器本身上運行的遞歸伺服器)。
Spamhaus 文件建議不要在 SMTP 層級進行阻止
利用他們的自動學習功能
因為這會為你帶來更好的結果。如果您現在沒有使用此類功能,我建議您不要過度關注效能或音量數字。
如果您的音量較低,請將其視為成本效益浪費在垃圾郵件上的使用者生命週期與花費在配置、維護和故障排除上的管理員生命週期之間的權衡。 SpamAssassin 體現了某些歷史上與 Perl 相關的軟體設計選擇。 Rspamd 是一個非常複雜的解析器,以高度記憶體不安全的語言編寫,考慮到高效能。它們可以免費使用,但肯定不是就像啤酒一樣。
“操作方法”似乎要么是在此期間之前編寫的,要么只是說“Amavis 運行 SpamAssassin,無需特殊配置”
然而,確實如此:Spamhaus 提供的整合中有一些最新文檔垃圾郵件刺客和RSpamd。請注意,這些不適用於公共鏡像。透過傳送唯一標識您帳戶的金鑰來查詢它們 - 您必須手動請求該金鑰,然後複製該金鑰。因此,他們可以檢查您個人是否超出了他們免費提供的服務。這也將解決您最初面臨的問題。