SPF 基本概念
SPF是讓收信端郵件伺服器,根據來信中寄件者網域資料,主動向寄信端所屬DNS伺服器核對其DNS紀錄。收信端郵件伺服器依照比對結果決定接收與否。
在網路上寄件者可匿名或假他人之名,垃圾信發送者假借別人的電子郵件帳號寄信,以避免信件被退回到自己真正的郵件信箱中;詐騙集團盜用別人的電子郵件帳號避免自己行蹤敗露;電腦病毒或蠕蟲想刻意模糊自己的出處而隨機使用任一電子郵件帳號;帳號密碼盜賊裝扮成某人的好友來信竊取私人機密等等不勝枚舉。(PS:當初電子郵件定義白皮書時始料未及的如果)。
同時,收信端也能對寄信端DNS的回應做出判斷此來信是否為垃圾信?如您想對SPF紀錄做更深入的瞭解,請到 OpenSPF官網SPF。
SPF 有哪些需求?
要想用 SPF 來保護你的系統,你必須配置 DNS,添加 TXT
記錄,用於容納 SPF 問詢的資訊。 配置你的電子郵件系統(Postfix, Sendmail)使用 SPF,也就是說對伺服器上每封進入的郵件進行驗證。
第一步要在郵件伺服器所屬的功能變數名稱伺服器上進行調整。
首先需要確定的一點是功能變數名稱伺服器(BIND)所使用的語法。
SPF 的 TXT 記錄,SPF 記錄包含在一個 TXT 記錄之中,格式如:v=spf1 [[pre] type [ext] ] ... [mod]
每個參數的含義如下表所示:
參數
|
描述
| ||||||||||||||||||
v=spf1
|
SPF 的版本。如果使用 Sender ID 的話,這個欄位就應該是 v=spf2
| ||||||||||||||||||
pre
|
定義匹配時的返回值。
可能的返回值包括:
| ||||||||||||||||||
type
|
定義使用的確認測試的類型。
可能的值包括:
| ||||||||||||||||||
ext
|
定義對 type 的可選擴展。如果沒有這個欄位,那麼僅使用單個記錄進行問詢。
| ||||||||||||||||||
mod
|
這是最後的類型指示,作為記錄的一個修正值。
|
範例:
"v=spf1 include:_spf.google.com ~all"