New Post: 淺談 DMARC, 為什麼 Gmail 和 Yahoo 電郵容易被拒絕 – 電郵很多時被無良不法分子拿來網絡釣魚 Phishing,就是冒充某人或某機構發送電郵,如果對方一時不慎點擊電郵內的連結就可能帶來損失。DMARC (Domain-based Message Authentication, Reporting & Conformance) 的推出就是為了倒塞這個漏洞。它提供一種機制讓發件和收件相方可以確認對方生份,目標是電郵轉發伺服器 Sending Mail Server 和電郵收件伺服器 Receiving Mail Server 互相配合減少冒充者成功機會。機制如下:
電郵轉發伺服器政策
不是每個電郵轉發伺服器都支援 DMARC, 例如需要使用專用 Dedicated IP 和支援 SSL。如果電郵轉發伺服器不支援 DMARC,網域電郵轉發伺服器負責轉發來自網域用戶 (例如:[email protected]) 的電郵,電郵轉發伺服器收到電郵之後,會以網域專用的隱私密鑰 Private Key 加密電郵內容加入電子簽名 DomainKeys Identified Mail (DKIM) Header,然後將電郵轉發。
圖解來自 dmarc.org
當電郵轉發伺服器都收件伺服器收到電郵,會啟動自身的垃圾郵件過濾器。如果郵件不被評為垃圾,收件伺服器會以網域公共密鑰 Public Key 解密檢查電子簽名 DKIM Header,如果確認簽名會將郵件轉給收件人,否則根據 Sender Policy Framework (SPF) 處埋,可能是通過 passed, 隔離 quarantine 或拒絕 rejected。
“v=DMARC1;p=reject;pct=100;rua=mailto:[email protected]”
SPF 是網域管理員加入網域 DNS 的一條記錄,告訴電郵收件伺服器如發現電子簽名 DKIM Header 不對時如何處理,並且可以將該電郵轉發至某一電郵地址 (例如:[email protected]) 跟進。
以前一些網站喜歡將和客戶聯絡的電郵用 Yahoo電郵。今年三月 Yahoo 將 Yahoo 網域 SPF 設定從 p=none 更改為 p=reject, 導致收件伺發現電郵轉發伺服器不是 Yahoo, 根據 Yahoo SPF (p=reject) 所以將郵件拒絕。今年六月 Google 將 Gmail 網域 SPF 設定從 p=none 更改為 p=reject, 所以你不應該在網域電郵轉發伺服器以 Gmail 帳戶名義發送,這將導致郵件被收件伺服器拒絕。同樣道理,電郵推廣時你不應該使用以 Gmail 電郵帳戶和以 Yahoo 電郵帳戶為郵件發件人。