Introduction
SPF的完整意思為"SenderPolicyFramework"。翻譯過來就是傳送方策略框架,是一項跟DNS相關的技術,它的內容寫在DNS的txt類型記錄裡面,關於更詳細的信息請參考RFC4408:http://www.ietf.org/rfc/rfc4408.txtSPF的原理是使用電子郵件的頭部信息中的'ReturnPath'或'MailFrom'這兩個郵件頭里的域名來結合真正提供這個郵件的服務商DNS裡面的記錄去驗證傳送郵件伺服器是否是冒充行為。
SPF的官方網站是:http://www.openspf.org/
How it works
當信件傳送到一個MTA後,這個MTA會檢查郵件的郵件頭,然後進行DNS查詢,如果認為這個域的IP位址不是所定義的那就證明他是一個假冒的,這時候就會把郵件退回去。How to check SPF record
如何查詢某個域名是否開啟SPF,可以使用以下命令:Shell命令:
#dig-ttxt域名
只需要去查詢TXT類型的DNS記錄即可。
SPF variables
SPF部分參數說明:v=spf1 表示spf1的版本
- Fail,表示沒有其他任何匹配發生
~ 代表軟失敗,通常用於測試中
? 代表忽略
IP4 代表IPv4進行驗證
IP6 代表IPv6進行驗證
all 代表結束
舉例說明:
163的SPF記錄:
Shell命令:
163.com.18000INTXT"v=spf1ip4:220.181.12.0/22ip4:202.108.5.64/26ip4:202.108.5.128/25-all"
如果不符合以上發信地址,但是發件人卻是'[email protected]',那么這樣的郵件一定是假冒的。郵件應該一律退回
sohu.com的SPF記錄:
Shell命令:
sohu.com.600INTXT"v=spf1ip4:61.135.130.0/23ip4:61.135.132.0/23ip4:61.135.134.0/23ip4:61.135.145.0/23ip4:61.135.15