自訂網域防身分冒充(SPF、DKIM 和 DMARC)
- 閱讀
- 1 分鐘
- 類別
- 網域設定
雖然電子郵件的開放和去中心化特性帶來了巨大的好處,但這種自由也使電子郵件容易受到濫用。例如,任何連接至網際網路的伺服器都可以向您的朋友傳送電子郵件,並假冒是您寄出的,這種攻擊被稱為電子郵件身分冒充。
我們強烈建議每位搭配 Proton Mail 使用自訂網域的使用者設定 SPF、DKIM 和 DMARC,以確保您的電子郵件能正常遞送。
請繼續閱讀,了解我們如何保護您的自訂網域免受此類攻擊。
SPF
寄件者原則架構 (SPF) 記錄基本上會告訴外界,有哪些主機或 IP 被允許代表您的網域傳送電子郵件。當電子郵件伺服器收到自稱來自您網域的電子郵件時,可以查詢您的 SPF 記錄,以查看傳送伺服器是否包含在內。
雖然這不是強制要求的,但我們強烈建議您設定一個包含 Proton Mail 的 SPF 記錄。
這不僅能讓您的電子郵件看起來更具公信力,進而降低被送往垃圾郵件資料夾的機率,還能幫助保護您的網域免受攻擊者利用偽造的 標頭 冒充您傳送電郵。
在您的瀏覽器中,登入您的 Proton Mail 帳號,前往 設定 → 所有設定 → 網域名稱,然後按一下您想新增 SPF 記錄的網域旁邊的 檢閱。

選取 SPF 索引標籤。這會顯示建議新增至您註冊服務商網域管理入口網站的 SPF 記錄。您可以按一下該項目左側的小圖示,將其複製到系統的剪貼簿。

文字字串中的「include:_spf.protonmail.ch」部分代表您允許 Proton Mail 伺服器代表您的網域傳送電郵。如果您想保留現有的 SPF 記錄,只需將「include:_spf.protonmail.ch」文字字串新增至現有記錄右側的「v=spf1」之後。其中的「mx」也包含您網域的 MX 記錄。
「~all」部分代表如果電子郵件是從未包含在該文字字串中的任何伺服器傳送,將會被視為 SoftFail。這表示接收郵件伺服器會接受該電子郵件的遞送,但會將其標記為 SPF 失敗。另一種選擇是使用「-all」(HardFail) 參數。
這會導致電子郵件被拒絕,進而可能導致合法郵件的遞送問題。例如,SPF 常在電子郵件轉寄期間失效(即您傳送至地址 A,而該地址自動轉寄至地址 B)。一旦我們偵測到您網域的 SPF 記錄包含 Proton Mail,SPF 索引標籤將會顯示綠色勾選圖示。
DKIM
網域金鑰識別郵件 (DKIM) 是一種電子郵件驗證方法,透過密碼學方式驗證電子郵件是否由受信任的伺服器傳送,且未被竄改。
基本上,當伺服器使用您的網域傳送電子郵件時,它會使用私有金鑰(只有受信任的伺服器知道)計算電子郵件內容的加密雜湊,並將其作為 DKIM 簽名新增至 電子郵件標頭 中。
接收伺服器會透過在您網域的 DNS 記錄中查詢對應的公開金鑰、解密該加密雜湊,並根據其收到的電子郵件內容計算出新的雜湊,來驗證電子郵件內容。接著,它會將解密後的雜湊與新的雜湊進行比較。如果兩者相符,即表示該電子郵件未被竄改,因此 DKIM 通過。否則,DKIM 就會失敗,而該電子郵件將被視為可疑郵件。
我們使用 CNAME 記錄來管理自動 DKIM 金鑰輪替,這是公認的安全最佳實作。我們要求您新增並保留三筆 CNAME 記錄。這可確保一律有使用中的金鑰來提供不中斷的服務,同時其它金鑰會定期自動停用並重新建立,以提高安全性。
這聽起來可能很複雜,但在 Proton Mail 中為您的網域實作 DKIM 其實非常簡單。當您首次變更其 DNS 記錄以與 Proton Mail 搭配使用時,需要幾個小時來驗證您的自訂網域。一旦您的自訂網域獲得驗證,Proton Mail 就會產生您在網域的 DNS 入口網站中所需的主機名稱和值。接著,它會建立自動 DKIM 金鑰輪替所需的 CNAME 記錄。
我們將會向您傳送電子郵件通知,告知您的自訂網域、主機名稱和值已準備就緒。
新使用者
在您的瀏覽器中,登入您的 Proton Mail 帳號並前往 設定 → 所有設定 → 組織 → 網域名稱 → 操作 欄位 → 您想新增 DKIM 記錄的網域旁邊的 檢閱 按鈕。
選取 DKIM 索引標籤。在這裡,您將會看到需要新增至您網域 DNS 設定中的三個主機名稱和值。

一旦您新增了這些記錄,Proton Mail 將會為您處理其餘事宜。遵循現行的安全最佳實作,我們將會每六個月產生一個新的 2048 位元金鑰,並用其為您的電子郵件簽名。
您新增至網域 DNS 設定中的 CNAME 記錄,必須與您的設定精靈中顯示的記錄完全相符。一旦我們在您的 DNS 中偵測到這些記錄,DKIM 索引標籤將會顯示綠色勾選圖示。接著我們將會通知您,並開始使用 DKIM 為您自訂網域寄出的電子郵件進行簽名,就像我們對其它 Proton Mail 位址所做的一樣。
重要提示:部分註冊服務商不接受結尾帶有句號的 CNAME 值(而其它註冊服務商則要求必須有句號)。如果您的註冊服務商不接受您的 CNAME 記錄,請刪除每個 CNAME 值結尾的句號,然後再試一次。
目前使用手動 DKIM 金鑰輪替的使用者
我們強烈建議目前使用手動 DKIM 金鑰輪替的所有人,升級至新的自動金鑰輪替系統。這不僅能讓您無需再手動輪替金鑰,還能自動升級您的金鑰強度(如果您使用的是 1024 位元金鑰)。
如果您先前已使用 TXT 記錄為您的網域配置了手動 DKIM 金鑰輪替,則在輸入 CNAME 記錄之前,您需要從 DNS 設定中移除此記錄。
您需要使用 CNAME 記錄重新配置您的 DNS 設定,因為這能讓我們設定自動金鑰輪替,而您目前的 TXT 記錄則不支援此功能。
一旦您刪除了此 TXT 記錄,就可以按照新使用者的說明進行操作。當您刪除 TXT 記錄後,DKIM 將會停止為您的電子郵件簽名。為了維持 DKIM 保護,您應該立即將 CNAME 主機名稱和值輸入到您的 DNS 設定中。
DMARC
在瞭解上述的 SPF 和 DKIM 時,您可能想知道接收伺服器會如何處理未通過檢查的電子郵件。這就是 網域型訊息驗證、報告和一致性 (DMARC) 發揮作用的地方。
DMARC 允許網域擁有者指定如何處理失敗的電子郵件,並在電子郵件抵達時取得意見回饋。基本上,如果 SPF 和 DKIM 檢查雙雙失敗,接收伺服器可以採取三種動作:none、quarantine 和 reject。
在您的瀏覽器中,登入您的 Proton Mail 帳號並前往 設定 → 前往設定值頁面→ 組織 → 網域名稱 → 操作 欄位 → 您想新增 DMARC 記錄的網域旁邊的 檢閱 按鈕。

複製 DMARC TXT 主機名稱與值字串,並將其新增至您註冊服務商的網域管理主控台中的網域。

「p=」值指定了對未通過 DMARC 驗證的電子郵件所採取的動作。以下是可用的動作:
- p=quarantine: 要求收件者平台將未經授權的電子郵件標記為垃圾郵件,或將其隔離。
- p=reject: 要求收件者平台拒絕未經授權的電子郵件。
- p=none:不要隔離或拒絕未經授權的電子郵件。通常,人們只會使用此政策來進行排錯或測試。
預設設定為 none。然而,為了提高您的安全性,我們建議將此值設定為 p=quarantine。
一旦您確信自己的合法電子郵件能通過 DMARC,您可能想要將其設定為更嚴格的 p=reject。我們建議 這樣做,如果您認為自己很可能成為 電子郵件身分冒充 的目標。例如,Yahoo、PayPal 和 eBay 會使用 p=reject 來防止郵件濫發者冒充他們。
另一個參數是 rua=, 它指定了一個電子郵件地址,其它電子郵件服務可以向其傳送彙總報告,以便您了解自己有多少電子郵件未通過 DMARC 驗證。

然而,請記住,選擇更嚴格的 DMARC 動作是存在風險的。例如,當您向郵寄清單傳送電子郵件,而該清單隨後轉寄至各個收件者時,這將會破壞 SPF。令人惱火的是,某些郵寄清單還會變更電子郵件的內容,這會破壞 DKIM 並導致 DMARC 失敗,如果您已將 DMARC 設定為 quarantine 或 reject,則會產生遞送問題。這就是為什麼 DMARC 預設設定為 none 的原因。
測試電子郵件
一旦您設定好自訂網域,就可以使用 Mail Tester(新視窗) 傳送電子郵件來進行測試。
只需使用您的自訂網域地址傳送一封電子郵件,寄到 Mail Tester 網頁上顯示的唯一地址即可。接著查看您的垃圾郵件指數評分。

如果您同時正確設定了 SPF 和 DKIM,您應該能獲得 10/10 的滿分!