SPF 設定之 Email 安全

透過 DNS 來宣告 SPF 記錄有什麼作用?

SPF 是在 DNS 上宣告一段紀錄來正向表列,列出誰可以發出帶有該網域的信件,亦可根據設定來指定非列表上的發信者該封信件需如何處理,可指定將信件自動標記成垃圾郵件或是拒收。

透過DNS的宣告可以有效幫助收件者的電子郵件主機來確認信件是否可靠,但SPF在信箱安全的環節裡只是其中的一種驗證方式還有DMARC及DKIM兩種驗證機制,將在未來的文章中介紹。

SPF記錄如何運作?

範例一 A 客戶當透過 peter@gg.com 寄送信件,收信者為 aaa@yahoo.com。

v=spf1 ip4:8.8.8.8 -all
A客戶的 DNS 設定內容
  1. IP地址為8.8.8.8 的email伺服器會從kuo@gg.com寄送訊息至 aaa@yahoo.com 。
  2. yahoo.com的伺服器會檢查gg.com的SPF記錄。
  3. gmail.com的SPF記錄允許從IP位址8.8.8.8遞送,故通過檢查客戶會收到此訊息。

SPF 記錄各標籤意義

標籤說明和允許的值
v
(必須)
SPF 版本,此標籤是必要項目,且必須是記錄中的第一個標籤。
機制必須為: v=spf1 ,如果不正確或標籤位設定該筆 SPF 記錄將被忽略。
ip4依據 IPv4 位址或網段授權郵件伺服器。這個值必須是標準格式的 IPv4 位址或網段範圍,例如:
ip4:10.10.0.1

ip4:10.10.0.0/24
ip6依據 IPv6 位址或網段範圍授權郵件伺服器。這個值必須是標準格式的 IPv6 位址或網段範圍,例如:
ip6:2001:4860:4fff:ff4d:f9f1:33ff:ffff:ff29

ip6:2001:4860:4000::/36
a依據網域名稱授權郵件伺服器,例如:
a:gg.com
a:cc.com
郵件伺服器會把 gg.com 或 cc.com 的DNS A紀錄當成可以發送郵件的Server。
mx依據網域 MX 記錄授權一或多個郵件伺服器,例如:
mx:gg.com
mx:cc.com
如果您的 SPF 記錄中沒有這項機制,系統會將使用 SPF 記錄網域的 MX 記錄做為預設值。
郵件伺服器會把指定的網域gg.com 或 cc.com 的DNS MX紀錄當成可以發送郵件的Server。
include依據網域授權第三方電子郵件寄件者,例如 Google Workspace 是:
include:_spf.google.com
all
(必須)
指定系統對與機制相符的所有內送郵件執行的動作。必須在 SPF 記錄中納入這項機制。
這是 SPF 記錄中的最後一項機制,系統會忽略 SPF 記錄中列於 all 機制之後的所有機制。

+all
通過驗證。IP 位址與機制相符的伺服器有權為網域傳送郵件。系統會讓郵件通過驗證。
如果機制未使用限定詞,系統預設會執行這項動作。

-all
不予通過驗證。IP 位址與機制相符的伺服器無權為網域傳送郵件。
SPF 記錄不包含寄件伺服器的 IP 位址或網域,因此郵件無法通過驗證,將被退信或垃圾郵件。

~all
驗證非封鎖性失敗。IP 位址與機制相符的伺服器可能未取得為網域傳送郵件的權限。
收件伺服器通常會接受郵件,但會將其標示為可疑郵件。

?all
代表中立,沒有通過驗證與否的問題。SPF 記錄未明確指出該 IP 位址是否有權為網域傳送郵件。
會產生中立結果的 SPF 記錄通常是使用 ?all

為什麼要使用SPF紀錄?

網域運營者使用 SPF 記錄的原因很多:

  • 提高信件送達的百分比:
    • SPF 已經是標準的電子郵件驗證方法,收件伺服器在收到看似來自您網域的郵件時,會使用 SPF 驗證該郵件是否確實是由您授權的伺服器傳送。
      對於未發佈 SPF 記錄的網域會容易被退信長時間下來會讓網域降評,最後影響客戶、員工和其他實體的通信。
  • 防範釣魚攻擊:
    • 未設定電子郵件進行驗證,所有會接收該公司網域的電子郵件接收人將面臨網路釣魚攻擊、垃圾郵件和電子郵件欺騙等風險。
      有了 SPF 記錄攻擊者較難假冒某個網域,讓以上攻擊手法成功率可能性降低了。
  • 輔助 DMARC 合規:
    • DMARC 是電子郵件驗證方式,幫助確保電子郵件僅由授權使用者發送,規定伺服器應該如何處理 SPF 和 DKIM 檢查失敗的郵件。
      根據 DMARC 原則指示,這些電子郵件將被標記為垃圾郵件、被拒絕或正常發送並提供網域管理員關於其電子郵件活動的報告,以幫助他們調整原則。

參考來源:

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

返回頂端