Email

打擊垃圾郵件 - 作為電子郵件管理員、域所有者或使用者,我能做什麼?

  • September 18, 2017

這是一個關於打擊垃圾郵件的規範問題。

還有相關的:

對抗垃圾郵件有很多技巧和知識。管理員、域所有者和最終使用者可以使用哪些廣泛使用的技術和技術來幫助將垃圾排除在我們的收件箱之外?

我們正在尋找一個從不同角度涵蓋不同技術的答案。接受的答案應包括各種技術(例如 SPF/SenderID、DomainKeys/DKIM、灰名單、DNS RBL、信譽服務、過濾軟體

$$ SpamAssassin, etc $$); 最佳實踐(例如,不應允許埠 25 上的郵件中繼,應使用埠 587 等)、術語(例如,開放中繼、反向散射、MSA/MTA/MUA、垃圾郵件/火腿),以及可能的其他技術。

要打敗你的敵人,你必須了解你的敵人。

什麼是垃圾郵件?

就我們而言,垃圾郵件是任何未經請求的批量電子郵件。如今,垃圾郵件旨在引誘毫無戒心的使用者訪問(通常是陰暗的)網站,他們將被要求購買產品,或將惡意軟體發送到他們的電腦,或兩者兼而有之。一些垃圾郵件會直接傳遞惡意軟體。

得知第一封垃圾郵件是在 1864 年發送的,您可能會感到驚訝。這是通過西聯電報發送的牙科服務廣告。這個詞本身是對巨蟒飛行馬戲團中的一個場景的引用

在這種情況下,垃圾郵件並不是指使用者訂閱的郵件列表流量,即使他們後來改變了主意(或忘記了)但實際上還沒有取消訂閱。

為什麼垃圾郵件是個問題?

垃圾郵件是一個問題,因為它適用於垃圾郵件發送者。垃圾郵件通常會產生足夠多的銷售額(或惡意軟體傳遞,或兩者兼而有之)來支付垃圾郵件發送者的成本。垃圾郵件發送者不考慮收件人、您和您的使用者的成本。即使只有極少數收到垃圾郵件的使用者對其做出響應,也足夠了。

因此,您需要支付頻寬、伺服器和管理員處理傳入垃圾郵件的時間的費用。

我們阻止垃圾郵件的原因如下:我們不想看到它,以降低我們處理電子郵件的成本,並使垃圾郵件對垃圾郵件發送者來說更加昂貴。

垃圾郵件如何運作?

垃圾郵件的傳遞方式通常與正常的合法電子郵件不同。

垃圾郵件發送者幾乎總是希望掩蓋電子郵件的來源,因此典型的垃圾郵件將包含虛假的標頭資訊。From:地址通常是假的。一些垃圾郵件包含假Received:行以試圖掩飾踪跡。大量垃圾郵件通過開放的 SMTP 中繼、開放的代理伺服器和殭屍網路傳遞。所有這些方法都使確定垃圾郵件的來源變得更加困難。

一旦進入使用者的收件箱,垃圾郵件的目的就是誘使使用者訪問廣告網站。在那裡,將誘使使用者進行購買,或者該站點將嘗試在使用者的電腦上安裝惡意軟體,或兩者兼而有之。或者,垃圾郵件會要求使用者打開包含惡意軟體​​的附件。

如何阻止垃圾郵件?

作為郵件伺服器的系統管理員,您將配置您的郵件伺服器和域,以使垃圾郵件發送者更難將垃圾郵件傳遞給您的使用者。

我將討論專門針對垃圾郵件的問題,並且可能會跳過與垃圾郵件不直接相關的內容(例如加密)。

不要執行開放式繼電器

大郵件伺服器的罪過是執行一個開放中繼,一個 SMTP 伺服器,它將接受任何目的地的郵件並繼續傳遞。垃圾郵件發送者喜歡開放中繼,因為它們幾乎可以保證傳遞。他們承擔傳遞消息(並重試!)的負載,而垃圾郵件發送者則做其他事情。他們使垃圾郵件變得便宜

開放式繼電器也會導致反向散射問題。這些是中繼接受但隨後發現無法傳遞的消息。然後,開放中繼將向From:包含垃圾郵件副本的地址發送退回消息。

  • 將您的郵件伺服器配置為僅接受您自己域的埠 25 上的傳入郵件。對於大多數郵件伺服器,這是預設行為,但您至少需要告訴郵件伺服器您的域是什麼。
  • 通過從您的網路外部發送郵件來測試您的系統,其中From:To:地址都不在您的域內。該消息應被拒絕。(或者,使用MX Toolbox等線上服務進行測試,但請注意,如果您的郵件伺服器未通過測試,某些線上服務會將您的 IP 地址送出到黑名單。)

拒絕任何看起來太可疑的東西

各種錯誤配置和錯誤可能表明傳入的消息可能是垃圾郵件或其他非法郵件。

  • 標記為垃圾郵件或拒絕 IP 地址沒有反向 DNS(PTR 記錄)的郵件。IPv4 連接比 IPv6 連接更嚴厲地處理缺少 PTR 記錄,因為許多 IPv6 地址還沒有反向 DNS,並且可能在幾年內都沒有,直到 DNS 伺服器軟體能夠更好地處理這些潛在的非常大的區域。

  • 拒絕發件人或收件人地址中的域名不存在的郵件。

  • 拒絕未對發件人或收件人域使用完全限定域名的郵件,除非它們源自您的域並打算在您的域內傳遞(例如監控服務)。

  • 拒絕另一端不發送HELO/的連接EHLO

  • 拒絕HELO/EHLO是的連接:

    • 不是完全限定的域名,也不是 IP 地址
    • 明顯錯誤(例如您自己的 IP 地址空間)
  • 拒絕未經授權使用流水線的連接。

驗證您的使用者

應根據入站郵件和出站郵件來考慮到達您伺服器的郵件。入站郵件是到達您的 SMTP 伺服器並最終發往您的域的任何郵件;出站郵件是到達您的 SMTP 伺服器的任何郵件,這些郵件將在傳遞之前轉移到其他地方(例如,它會發送到另一個域)。入站郵件可以由您的垃圾郵件過濾器處理,並且可能來自任何地方,但必須始終以您的使用者為目的地。此郵件無法通過身份驗證,因為不可能向每個可能向您發送郵件的站點提供憑據。

出站郵件,即將被中繼的郵件,必須經過身份驗證。無論是來自 Internet 還是來自您的網路內部都是這種情況(儘管如果操作可能,您應該限制允許使用您的郵件伺服器的 IP 地址範圍);這是因為垃圾郵件機器人可能在您的網路中執行。因此,請配置您的 SMTP 伺服器,以使發往其他網路的郵件將被丟棄(中繼訪問將被拒絕),除非該郵件經過身份驗證。更好的是,對入站和出站郵件使用單獨的郵件伺服器,完全不允許對入站郵件進行中繼,並且不允許對出站郵件進行未經身份驗證的訪問。

如果您的軟體允許這樣做,您還應該根據經過身份驗證的使用者過濾消息;如果郵件的發件人地址與通過身份驗證的使用者不匹配,則應拒絕。不要默默地更新發件人地址;使用者應注意配置錯誤。

您還應該記錄用於發送郵件的使用者名,或為其添加辨識標頭。這樣,如果確實發生了濫用行為,您就有證據並知道使用哪個帳戶進行濫用。這使您可以隔離受損帳戶和問題使用者,這對於共享託管服務提供商特別有價值。

過濾流量

您希望確定離開您網路的郵件實際上是由您的(經過身份驗證的)使用者發送的,而不是由機器人或外部人員發送的。具體如何執行此操作取決於您管理的系統類型。

通常,如果您是公司網路,則阻止除出站郵件伺服器之外的所有埠 25、465 和 587(SMTP、SMTP/SSL 和送出)上的出口流量是一個好主意。這樣一來,您網路上執行惡意軟體的機器人就無法從您的網路發送垃圾郵件以打開 Internet 上的中繼或直接發送到最終 MTA 以獲取地址。

熱點是一種特殊情況,因為來自它們的合法郵件來自許多不同的域,但是(由於 SPF 等原因)“強制”郵件伺服器是不合適的,使用者應該使用自己域的 SMTP 伺服器來送出郵件。這種情況要困難得多,但是對來自這些主機的 Internet 流量使用特定的公共 IP 或 IP 範圍(以保護您的站點的聲譽)、限制 SMTP 流量和深度數據包檢查是需要考慮的解決方案。

從歷史上看,垃圾郵件程序主要在埠 25 上發出垃圾郵件,但沒有什麼能阻止它們將埠 587 用於相同目的,因此更改用於入站郵件的埠具有可疑價值。但是, RFC 2476建議使用埠 587 進行郵件送出,並允許將郵件送出(到第一個 MTA)和郵件傳輸(在 MTA 之間)分開,這在網路拓撲中並不明顯;如果你需要這樣的分離,你應該這樣做。

如果您是 ISP、VPS 主機、託管服務提供商或類似機構,或者正在提供熱點供訪問者使用,則阻止出口 SMTP 流量對於使用自己的域發送郵件的使用者來說可能是個問題。在除公共熱點之外的所有情況下,您都應該要求需要出站 SMTP 訪問的使用者,因為他們正在執行郵件伺服器來專門請求它。讓他們知道濫用投訴最終會導致訪問被終止以保護您的聲譽。

動態 IP 以及用於虛擬桌面基礎架構的 IP 永遠不應具有出站 SMTP 訪問權限,除非這些節點預期使用特定的郵件伺服器。這些類型的 IP也出現在黑名單中,您不應試圖為它們建立聲譽。這是因為他們極不可能執行合法的 MTA。

考慮使用 SpamAssassin

SpamAssassin 是一種郵件過濾器,可用於根據郵件標題和內容辨識垃圾郵件。它使用基於規則的評分系統來確定郵件是垃圾郵件的可能性。分數越高,郵件越有可能是垃圾郵件。

SpamAssassin 還有一個貝氏引擎,可以分析回饋給它的垃圾郵件和火腿(合法電子郵件)樣本。

SpamAssassin 的最佳做法不是拒絕郵件,而是將其放入垃圾郵件或垃圾郵件文件夾。可以設置諸如 Outlook 和 Thunderbird 之類的 MUA(郵件使用者代理)以辨識 SpamAssassin 添加到電子郵件消息中的標頭並適當地歸檔它們。誤報可能而且確實會發生,雖然它們很少見,但當它發生在 CEO 身上時,你會聽到的。如果郵件被簡單地傳遞到垃圾文件夾而不是直接拒絕,那麼對話會更好。

SpamAssassin 幾乎是獨一無二的,儘管存在一些替代方案

考慮使用基於 DNS 的黑洞列表和信譽服務

DNSBL(以前稱為 RBL,或實時黑洞列表)提供與垃圾郵件或其他惡意活動相關的 IP 地址列表。這些是由獨立第三方根據他們自己的標準執行的,因此請仔細研究 DNSBL 使用的列表和除名標準是否與您的組織接收電子郵件的需要兼容。例如,一些 DNSBL 具有嚴格的除名政策,這使得意外被列入名單的人很難被刪除。別人在IP地址一段時間沒有發送垃圾郵件後自動下線,比較安全。大多數 DNSBL 都可以免費使用。

信譽服務類似,但聲稱通過分析與任何給定 IP 地址相關的更多數據來提供更好的結果。大多數信譽服務需要訂閱付款或購買硬體或兩者兼而有之。

有數十種 DNSBL 和信譽服務可用,但我使用和推薦的一些更知名和有用的服務是:

保守名單:

激進列表:

如前所述,還有許多其他可用,並且可能適合您的需求。我最喜歡的技巧之一是查找發送垃圾郵件的 IP 地址,這些垃圾郵件通過了多個 DNSBL,以查看其中哪些會拒絕它。

  • 對於每個 DNSBL 和信譽服務,檢查其列出和刪除 IP 地址的策略,並確定這些是否符合您組織的需求。
  • 當您確定適合使用該服務時,將 DNSBL 添加到您的 SMTP 伺服器。
  • 考慮為每個 DNSBL 分配一個分數並將其配置到 SpamAssassin而不是您的 SMTP 伺服器。這減少了誤報的影響;這樣的消息將被傳遞(可能是垃圾郵件/垃圾郵件)而不是退回。代價是您將發送大量垃圾郵件。
  • 或者,當 IP 地址位於更保守的列表之一時直接拒絕,並在 SpamAssassin 中配置更激進的列表。

使用 SPF

SPF(發件人策略框架;RFC 4408RFC 6652)是一種通過聲明哪些 Internet 主機有權為給定域名投遞郵件來防止電子郵件地址欺騙的方法。

  • 配置您的 DNS 以使用您的授權外發郵件伺服器聲明 SPF 記錄並-all拒絕所有其他記錄。
  • 配置您的郵件伺服器以檢查傳入郵件的 SPF 記錄(如果存在),並拒絕未通過 SPF 驗證的郵件。如果域沒有 SPF 記錄,請跳過此檢查。

調查 DKIM

DKIM(DomainKeys Identified Mail;RFC 6376)是一種在郵件消息中嵌入數字簽名的方法,可以使用在 DNS 中發布的公鑰進行驗證。它在美國受專利保護,這減緩了它的採用。如果消息在傳輸過程中被修改,DKIM 簽名也會中斷(例如,SMTP 伺服器偶爾可能會重新打包 MIME 消息)。

  • 考慮使用 DKIM 簽名對您的外發郵件進行簽名,但請注意,即使在合法郵件上,簽名也可能無法始終正確驗證。

考慮使用灰名單

灰名單是一種技術,其中 SMTP 伺服器對傳入郵件發出臨時拒絕,而不是永久拒絕。在幾分鐘或幾小時後重試傳遞時,SMTP 伺服器將接受該郵件。

灰名單可以阻止一些不夠強大的垃圾郵件軟體來區分臨時和永久拒絕,但對發送到開放中繼的垃圾郵件或更強大的垃圾郵件軟體沒有幫助。它還引入了使用者可能並不總是容忍的傳遞延遲。

  • 考慮僅在極端情況下使用灰名單,因為它對合法電子郵件流量具有高度破壞性。

考慮使用 nolisting

Nolisting是一種配置 MX 記錄的方法,使最高優先級(最低優先級編號)記錄沒有正在執行的 SMTP 伺服器。這依賴於這樣一個事實,即許多垃圾郵件軟體只會嘗試第一個 MX 記錄,而合法的 SMTP 伺服器會按優先級升序嘗試所有 MX 記錄。一些垃圾郵件軟體還嘗試直接發送到違反RFC 5321的最低優先級(最高優先級編號)的 MX 記錄,因此也可以將其設置為沒有 SMTP 伺服器的 IP 地址。據報導這是安全的,但與任何事情一樣,您應該首先仔細測試。

  • 考慮將您的最高優先級 MX 記錄設置為指向在埠 25 上沒有應答的主機。
  • 考慮將您的最低優先級 MX 記錄設置為指向在埠 25 上沒有應答的主機。

考慮一個垃圾郵件過濾設備

在您現有的 SMTP 伺服器前面放置一個垃圾郵件過濾設備,例如Cisco IronPort梭子魚垃圾郵件和病毒防火牆(或其他類似設備),以減少您收到的垃圾郵件的大部分工作。這些設備預先配置了 DNSBL、信譽服務、貝氏過濾器和我介紹過的其他功能,並由其製造商定期更新。

  • 研究垃圾郵件過濾設備硬體和訂閱成本。

考慮託管電子郵件服務

如果這對您(或您過度勞累的 IT 員工)來說太過分了,您可以隨時讓第三方服務提供商為您處理電子郵件。Google 的PostiniSymantec MessageLabs Email Security(或其他)等服務將為您過濾郵件。其中一些服務還可以處理監管和法律要求。

  • 研究託管電子郵件服務訂閱費用。

系統管理員應該為最終使用者提供哪些關於打擊垃圾郵件的指導?

最終使用者應對垃圾郵件的絕對第一件事是:

  • 不要回复垃圾郵件。

如果看起來很有趣,請不要點擊網站連結,也不要打開附件。不管這個提議看起來多麼有吸引力。偉哥並不便宜,你不會真的得到任何人的裸照,尼日利亞或其他地方沒有 1500 萬美元,除了從確實回复垃圾郵件的人那裡拿走的錢。

  • 如果您看到垃圾郵件,請根據您的郵件客戶端將其標記為垃圾郵件或垃圾郵件。
  • 如果您實際註冊接收郵件並且只是想停止接收它們,請**不要將郵件標記為垃圾郵件/垃圾郵件。**相反,請使用提供的取消訂閱方法從郵件列表中取消訂閱。
  • 定期檢查您的垃圾郵件/垃圾郵件文件夾,看看是否有任何合法郵件通過。將這些標記為非垃圾郵件/非垃圾郵件並將發件人添加到您的聯繫人中,以防止他們的郵件在將來被標記為垃圾郵件。

引用自:https://serverfault.com/questions/419407