SPF、DKIM 和 DMARC 是三項發布在網域 DNS 中的電郵驗證記錄。收件伺服器憑這些記錄,檢查一封聲稱來自你網域的電郵是否由你授權的服務發出,並知道驗證失敗時應如何處理。如果沒有設定,任何人都可以把公司的電郵地址放在「寄件者」一欄發信。
為甚麼電郵冒充會影響業務
電郵本身沒有內置證明寄件者身份的機制。騙徒可以用 accounts@yourcompany.com 發出假發票,或「請更新我們的銀行戶口」通知,收件人看到地址正確,便容易相信。冒充郵件亦會損害網域信譽,令公司真正的報價和預約確認更難進入收件匣。另可參閱我們有關品牌釣魚與客戶信任的文章。
三項記錄各有甚麼作用
SPF:哪些伺服器可以代你發信
SPF(Sender Policy Framework)是一項 TXT 記錄,列出獲准以你網域發信的伺服器和服務,例如 Microsoft 365 或 Google Workspace 郵箱,以及電子報平台。收件伺服器會把實際送信的伺服器與這份名單比對。SPF 檢查的是傳送過程中使用的技術性「信封」寄件地址,未必等於收件人看到的寄件者地址;郵件被轉寄時,SPF 亦經常失敗。
DKIM:每封郵件上的數碼簽署
DKIM(DomainKeys Identified Mail)會為每封外發郵件加上數碼簽署。發信服務以私密金鑰簽署,你則在 DNS 發布相應的公開金鑰。收件方用這把金鑰核對簽署,並確認郵件中已簽署的部分在傳送途中沒有被改動。每個代你發信的服務,例如郵箱供應商、CRM 或預約系統,一般都要各自為你的網域設定 DKIM 金鑰。
DMARC:政策與報告
DMARC(Domain-based Message Authentication, Reporting and Conformance)是設於 _dmarc.你的網域 的 TXT 記錄,把 SPF 和 DKIM 的結果與收件人看到的寄件者地址連繫起來。只要 SPF 或 DKIM 其中一項通過,而通過驗證的網域又與寄件者一欄的網域相符(即「對齊」),郵件便通過 DMARC。這項記錄亦告訴收件方如何處理驗證失敗的郵件,以及把報告寄到哪裏。
DMARC 政策:none、quarantine 和 reject
- p=none:只作監察。收件方按平常方式處理失敗郵件,但會發送報告。
- p=quarantine:要求收件方把失敗郵件視為可疑,通常會放入垃圾郵件匣。
- p=reject:要求收件方拒收失敗郵件。
在記錄中加入 rua 地址,便可要求收件方寄回彙總報告。這些報告是供機器讀取的檔案,支援的收件方通常每日發送,列出哪些伺服器以你的網域發信,以及有沒有通過驗證。原始報告不易閱讀,可以用報告工具整理。
大型郵箱供應商為何要求設定
根據 Google 的電郵寄件者指引,所有向個人 Gmail 帳戶發信的寄件者都要設定 SPF 或 DKIM;每日向 Gmail 帳戶發送超過 5,000 封郵件的寄件者,則要設定 SPF、DKIM 和 DMARC,並令寄件者網域對齊,DMARC 政策設為 none 亦可接受。Yahoo 的寄件者要求同樣規定所有寄件者最少設定 SPF 或 DKIM,大量寄件者則要兩者皆設,並發布最少為 p=none 的 DMARC 政策。未符合要求的郵件可能被標為垃圾郵件或被拒收。規則或會更新,請以各供應商的最新頁面為準。
分階段推行
- 列出所有發信來源:郵箱供應商、網站表格、電子報工具、CRM、預約或網店平台、發票軟件,以及會發出通知的系統。
- 為每個來源設定 SPF 和 DKIM。大部分服務都會在說明頁面列出需要加入的記錄。
- 先以 p=none 發布 DMARC,並設定報告地址。用數星期閱讀報告,找出仍未通過驗證的正常發信來源。
- 逐步改為 quarantine,再改為 reject。待報告顯示正常郵件都能通過,才收緊政策。
- 持續監察。日後加入任何會發電郵的新工具,都應在上線前加進 SPF 和 DKIM。
常見錯誤
- 設了兩項 SPF 記錄。一個網域只應有一項 SPF 記錄。為新服務另加一項,而不是合併到原有記錄,會令 SPF 驗證失敗。
- 遺漏第三方發信服務。電子報平台、CRM 或預約系統以你的網域發信,卻沒有加入 SPF 和 DKIM,DMARC 一旦執行便會失敗。
- 超出 SPF 查詢上限。SPF 標準規定,檢查一項記錄時最多只可進行 10 次 DNS 查詢,而每個 include 最少佔一次。include 太多便可能超出上限,令 SPF 失敗。
- 一開始便設為 p=reject。未經監察便直接拒收,可能連自己的發票或重設密碼電郵都被攔截。
- 以為 DMARC 可以防範一切。它擋不住外觀相似的網域、誤導性的顯示名稱,也擋不住密碼被盜後從真實郵箱發出的郵件。多重身份驗證和員工警覺仍然必要。
常見問題
這些記錄要在哪裏加入?
在負責你網域 DNS 的地方加入,可能是域名註冊商、CDN 供應商或 IT 服務商。我們的 DNS 文章介紹了記錄和 DNS 託管如何運作。
我們是小公司,也需要 DMARC 嗎?
大量寄件者規定主要影響發信量大的機構,但任何網域都可能被冒充。發布一項監察政策並不複雜,亦可讓你看到有誰以你的網域發信。
p=none 應維持多久?
沒有固定期限。當報告顯示所有正常發信服務都已通過,而你亦清楚其餘失敗郵件的來源,便可以進入下一步。
如需協助檢查電郵驗證設定及其他安全措施,可參閱我們的網絡安全及合規服務。
