Email DKIM, SPF and DMARC protection

出自ChevyneWiki
於 2021年1月22日 (五) 00:10 由 Chevyne留言 | 貢獻 所做的修訂
跳至導覽 跳至搜尋

電子郵件 DKIM 、 SPF 和 DMARC 防護

問題:

我們的 Mail Server 收信都沒有問題,但信件寄出時,不是進到垃圾郵件,或是被拒收。

說明:

除了每天會收到很多的垃圾郵件,惡意郵件的氾濫,高達91%的持續滲透攻擊(Advanced Persistent Therat)利用電子郵件作為攻擊開端,除此之外更有高達69%的人每週都會接觸到網路釣魚信件,其中高達25%的高階主管曾被釣得逞。
最怕的是有心人偽造我們的身份寄信給我們的客戶,那麼到底我們應該如何避免客戶收到這些偽造的信件的機會,而且也能防止接收到釣魚郵件或垃圾郵件呢?
國際間相關組織為防止濫發垃圾郵件,制訂 SPF 、 DKIM 以及 DMARC 等規範。收信服務器如 Gmail 、 Yahoo 、 Hotmail 等,在收郵件時會去檢查這些規範,沒有的話被判定成垃圾信的可能性大幅提高。

SPF

Sender Policy Framework 寄件者政策框架

  • 告訴收件端伺服器,這封信件是否經「授權」
  • 規範發送郵件服務的 IP 位址、可以用來發送網域郵件,此機制可避免垃圾信濫發業者,偽裝網域發送假冒郵件。

DKIM

  • 驗證這封電子郵件傳送中是否經過「竄改」
  • DKIM 設定原理是使用電子簽章方式,發送端伺服器會做一組「私鑰」,發送網域 DNS 設定一組「公鑰」,當這封信寄出時,收件端伺服器可以透過 DNS 檢查相對應簽章,可確認此信沒有遭到竄改。

DMARC

  • 輔助 SPF 與 DKIM 不足,當遇到 SPF 與 DKIM 設定檢查不過時,拒絕收信或標註垃圾信。
  • DMARC 可以允許郵件發送人定義對於未通過驗證信件的處理方式,等於是「掌握主控權」,比如 DMARC 設定「通過」,意義就是要這封信件即使沒有通過 SPF 及 DKIM 驗證,收信機仍然接收。

Mail Server 完整設定

  1. 在 Mail Server 要設定完整網域名稱 FQDN (Fully Qualified Domain Name),不要偷懶只設主機名稱,甚至是用 localhost。
  2. 在 DNS 中 Mail Server 的 FQDN 要正確設定。
  3. 在 DNS 中 Mail Server 的 FQDN網域 要用 MX 記錄正確設定。
  4. 在 DNS 中 Mail Server 的 IP 要有設定 Reverse DNS,最好就是 Mail Server 的 FQDN。
  5. 在 DNS 中設定網域 SPF
  6. 設定 Mail Server 及網域 DKIM
  7. 設定網域 DMARC
  8. 定期檢查 Mail Server 的 IP 是否有在 RBL
電子郵件運作流程

Mail Flow.png