郵箱域名的spf記錄添加方法

 

什麼是SPF
就是Sender Policy Framework。SPF可以防止別人僞造你來發郵件,是一個反僞造性郵件的解決方案。當你定義了你的domain name的SPF記錄之後,接收郵件方會根據你的SPF記錄來確定連接過來的IP地址是否被包含在SPF記錄裏面,如果在,則認爲是一封正確的郵件,否則則認爲是一封僞造的郵件。關於更詳細的信息請參考RFC4408(http://www.ietf.org/rfc/rfc4408.txt

如何增加SPF記錄
非常簡單,在DNS裏面添加TXT記錄即可。登陸http://www.openspf.org/在裏面輸入你的域名,點擊Begin,然後會自動得到你域名的一些相關信息。
a 你域名的A記錄,一般選擇yes,因爲他有可能發出郵件。
mx 一般也是yes,MX服務器會有退信等。
ptr 選擇no,官方建議的。

a: 有沒有其他的二級域名?比如:mail.abc.com和www不在一臺server上,則填入mail.abc.com。否則清空。
mx: 一般不會再有其他的mx記錄了。
ip4: 你還有沒有其他的ip發信?可能你的smtp服務器是獨立出來的,那麼就填入你的IP地址或者網段。
include: 如果有可能通過一個isp來發信,這個有自己的SPF記錄,則填入這個isp的域名,比如:hichina.com
~all: 意思是除了上面的,其他的都不認可。當然是yes了。

好了,點擊Continue…..
自動生成了一條SPF記錄,比如abc.com的是
v=spf1 a mx ~all
並且在下面告訴你如何在你的bind裏面添加一條
abc.com. IN TXT “v=spf1 a mx ~all”

加入你的bind,然後ndc reload即可。
檢查一下:
dig -t txt extmail.org

如果您的域名是由萬網的dns服務器進行解析的,萬網的網頁上沒有設置TXT記錄的地方,但是如果你的DNS主server是在Hichina的,可以在diy.hichina.com上設置。設置完畢後您即可以通過使用spf策略進行垃圾郵件驗證了。

 

 

SPF 的 TXT 記錄

SPF 記錄包含在一個 TXT 記錄之中,格式如下:


  v=spf1 [[pre] type [ext] ] ... [mod]

 


每個參數的含義如下表所示:

參數 描述
v=spf1 SPF 的版本。如果使用 Sender ID 的話,這個字段就應該是 v=spf2
pre 定義匹配時的返回值。

可能的返回值包括: 



返回值 描述
+ 缺省值。在測試完成的時候表示通過。
- 表示測試失敗。這個值通常是 -all,表示沒有其他任何匹配發生。
~ 表示軟失敗,通常表示測試沒有完成。
? 表示不置可否。這個值也通常在測試沒有完成的時候使用。
type 定義使用的確認測試的類型。 

可能的值包括: 



候選值 描述
include 包含一個給定的域名的測試
以 include:domain 的形式書寫。 

all 終止測試序列。
比如,如果選項是 -all,那麼到達這條記錄也就意味着測試失敗了。但是如果無法確定,可以使用"?all"來表示,這樣,測試將被接受。 

ip4 使用 IPv4 進行驗證。
這個可以以 ip4:ipv4 或 ip4:ipv4/cidr 的形式使用。建議使用這個參數,以減少域名服務器的負荷。 

ip6 使用 IPv6 進行驗證。

a 使用一個域名進行驗證。
這將引起對域名服務器進行一次 A RR 查詢。
可以按照 a:domain, a:domain/cidr 或 a/cidr 的形式來使用。 

mx 使用 DNS MX RR 進行驗證。
MX RR 定義了收信的 MTA,這可能和發信的 MTA 是不同的,這種情況基於 mx 的測試將會失敗。 
可以用 mx:domain, mx:domain/cidr 或 mx/cidr 這些形式進行 mx 驗證。 

ptr 使用域名服務器的 PTR RR 進行驗證。
這時,SPF 使用 PTR RR 和反向圖進行查詢。如果返回的主機名位於同一個域名之內,就驗證通過了。
這個參數的寫法是 ptr:domain 

exist 驗證域名的存在性。
可以寫成 exist:domain 的形式。

ext 定義對 type 的可選擴展。如果沒有這個字段,那麼僅使用單個記錄進行問詢。
mod 這是最後的類型指示,作爲記錄的一個修正值。





修正值 描述
redirect 重定向查詢,使用給出的域名的 SPF 記錄。
以 redirect=domain 的方式使用。

exp 這條記錄必須是最後一條,允許給出一條定製的失敗消息。
IN TXT "v=spf1 mx -all exp=getlost.example.com"

getlost IN TXT "You are not authorized to send mail for the domain"

 

 

                                                                                                                                            

 

參考文獻

SPF 官方網站。 
SPF 官方 FAQ。 
SPF 官方向導。 
openspf.org 對於 SenderID 的立場 
一篇關於 Sender ID 和 SPF 的不錯的文章。 
轉向 SASL 時對用戶提出警示 
HOWTO - 定義 SPF 記錄 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章