郵件開始被退回,合作方的防火牆不再回應,或者某個網站給您的伺服器彈出一整面驗證碼牆。有人說「您的 IP 被拉黑了」,第一反應就是申請一個新的。通常這是錯誤的第一步。下面介紹如何在大約五分鐘內弄清到底發生了什麼,以及怎樣徹底解決。
「黑名單」到底是什麼
這個詞涵蓋三種不同的東西,解決方式也各不相同。
- DNS 黑名單(DNSBL)。 公開的位址名單,收錄傳送過垃圾郵件或出現被入侵跡象的位址。郵件伺服器對每個對內連線都會查詢它們。人們說「被拉黑」通常指的就是這個,而且這是可以解決的那一種。
- 大型電子郵件服務供應商的私有信譽。 大型網頁電子郵件服務維護自己的評分,並不公開。您能看到效果(郵件進了垃圾箱或被延遲),但沒有名單可查,只能用它們的 postmaster 工具。
- 網路分類。 許多網站和反欺詐系統把所有資料中心位址都視為「託管」,並對其質詢或遮蔽。這不是列入記錄,也無法移除;它描述的是這個位址屬於哪一類網路。
本文其餘部分主要講第一種,因為這是您能自己檢查和修復的。
值得檢查的名單
- Spamhaus 是大多數郵件伺服器使用的名單。它的綜合區域 ZEN 包括 SBL(已知垃圾郵件來源)、XBL(被感染或被利用的機器,資料來自 CBL)、PBL(不應直接傳送郵件的位址段)和 CSS(低頻的「雪鞋式」垃圾郵件)。
- Barracuda 營運自己的名單,許多企業郵件閘道都在用。
- SpamCop 收錄使用者舉報的位址;列入記錄會在最後一次舉報約 24 小時後自動過期。
- UCEPROTECT 分三級。第 1 級針對單個位址,在七天內沒有新的垃圾郵件後自動過期。第 2 級和第 3 級會因為鄰居的行為而把整個分配段和網路列入,並出售「加急」移除服務。主流郵件服務供應商很少依賴第 2、3 級。
檢查方法
查詢 DNS 黑名單的方法是把位址的各個八位組倒序,然後在名單的區域下查詢。在任何 Linux 伺服器上:
IP=203.0.113.7
REV=$(echo "$IP" | awk -F. '{print $4"."$3"."$2"."$1}')
for BL in zen.spamhaus.org b.barracudacentral.org bl.spamcop.net; do
echo "$BL: $(dig +short "$REV.$BL" A | tr '\n' ' ')"
done
沒有返回表示未被列入。返回 127.0.0.x 範圍內的位址表示已被列入;對於 Spamhaus,最後一個數字說明是 ZEN 的哪一部分:
| 傳回值 | 含義 |
|---|---|
127.0.0.2 | SBL:已知垃圾郵件來源 |
127.0.0.3 | CSS:雪鞋式垃圾郵件 |
127.0.0.4–127.0.0.7 | XBL:被入侵或被利用的機器 |
127.0.0.10、127.0.0.11 | PBL:不應直接傳送郵件 |
127.255.255.254 | 不是列入記錄:您透過公共解析器查詢 |
最後一行讓很多人摸不著頭腦。Spamhaus 不回應透過大型公共 DNS 解析器發來的查詢,而是返回一個錯誤碼。如果所有檢查結果都很奇怪,請在使用自有解析器的伺服器上執行,或使用各名單網站上的查詢頁面。有些名單還要求高頻查詢者在透過 DNS 查詢前先註冊。
先解決根源
不修復就申請移除,只能為您換來一兩天,然後再次被列入,而重複列入需要更長時間才能清除。所以要先弄清列入記錄從何而來:
- 您拿到這個位址之前它就被列入了嗎? 把列入日期和您的伺服器建立時間對比。舊的列入記錄且沒有新活動是最簡單的情況:直接去填移除申請。
- XBL 或 CBL 列入: 名單從您的位址看到了典型的惡意軟體或殭屍網路流量。查詢您不認識的程式、發往 25 埠的異常對外連線、新的 cron 條目和陌生的 SSH 金鑰。被入侵的 Web 應用或弱密碼是常見入口。如果您不確定機器是否乾淨,就重建它。
- SBL 或 CSS 列入: 從您位址發出的郵件看起來像垃圾郵件。檢查不帶驗證碼就發郵件的聯絡表單、傳送新聞簡報的指令碼,以及任何監聽在公用介面上的 SMTP 服務。
- 您到底有沒有在發郵件? 在許多服務供應商那裡,對外 25 和 465 埠預設關閉;郵件應透過郵件服務供應商的 587 埠傳送。如果您從不發郵件卻仍被列入,那就是伺服器上的其他東西在發。
如果您在傳送郵件的同一台機器上執行不可信程式碼,現在就是把它們分開的時候。為高風險工作單獨準備一個沙箱或第二台伺服器,就能讓它的信譽問題遠離您的郵件地址;執行不可信程式碼的隔離級別對比了各種方案。
然後申請移除
- Spamhaus: 使用查詢頁面,它會連結到相應區域正確的移除流程。根源消除後,XBL/CBL 和 PBL 的移除可以自助完成;只有當您確實在執行一個反向 DNS 符合的郵件伺服器時,申請移出 PBL 才有意義。
- Barracuda: 提交移除表單,並簡要說明您修復了什麼。通常最多一天左右。
- SpamCop: 什麼都不用做;舉報停止大約一天後,列入記錄會自動過期。
- UCEPROTECT: 第 1 級在七天內沒有新垃圾郵件後過期。忽略第 2、3 級,也不要付費移除。
移除之後,把能讓您遠離黑名單的基礎工作做好:與伺服器主機名稱一致的反向 DNS 名稱,為您的網域設定 SPF、DKIM 和 DMARC,再加一個每週執行上述檢查、有變化就給您發郵件的 cron 任務。
什麼時候換新位址才是正確答案
有時候確實是:比如這個位址帶著一條您無法移除的舊 SBL 記錄,或者您需要為新專案準備一個乾淨的信譽。在我們這裡,換位址就意味著換一台新伺服器:下單新伺服器、遷移資料,然後取消舊的;更換 IP 位址介紹了所有選項。如果您認為目前位址的某條列入記錄有誤,請提交工單,附上名單名稱和連結。我們會逐一檢視每個案例,但不會應要求更換位址。
最後兩點。如果信譽對您有任何意義(郵件、合作方白名單、綁定位址的 API 金鑰),請使用帶獨立 IPv4 的方案,例如 Small-IP:NAT 方案的對外位址不是您自己的,無法積累您自己的發件人信譽。如果某個網站因為您在資料中心而遮蔽您,那麼任何名單、任何新的資料中心位址都改變不了這一點;網路與埠說明了每個方案對外開放的內容。
評論
目前還沒有評論。歡迎成為第一位。