DNS中的SPF記錄的作用

    SPF是爲了防範垃圾郵件而提出來的一種DNS記錄類型,它是一種TXT類型的記錄,它用於登記某個域名擁有的用來外發郵件的所有IP地址。例如:

  1. dig TXT 21cn.com 
  2.   21cn.com. 27970 IN TXT "v=spf1 ip4:202.105.45.0/24 ip4:61.140.60.0/24 ip4:202.123.79.206 ip4:220.232.167.218 ip4:221.192.129.0/24 ip4:59.36.102.0/24 -all" 

  按照SPF的格式在DNS記錄中增加一條TXT類型的記錄,將提高該域名的信譽度,同時可以防止垃圾郵件僞造該域的發件人發送垃圾郵件。
SPF是跟DNS相關的一項技術,它的內容寫在DNS的txt類型的記錄裏面。mx記錄的作用是給寄信者指明某個域名的郵件服務器有哪些。SPF的作用跟mx相反,它向收信者表明,哪些郵件服務器是經過某個域名認可會發送郵件的。
由定義可以看出,SPF的作用主要是反垃圾郵件,主要針對那些發信人僞造域名的垃圾郵件。

   添加SPF記錄的方法:
    這方法很簡單,只要我們的DNS供應商提供的管理界面中可以添加SPF記錄就可以設置了(不是所有的供應商會提供這設置,我的域名是在godaddy.com上註冊的,可以設置SPF記錄)。設置時,添加一個SPF記錄,然後輸入域名,如果是本域,可用@來表示。然後在VALUE中輸入如“v=spf1 ip4:67.202.107.106 -all”的值。 這值分三部分:
   (1)v=spf1 說明是一個SPF的v1記錄
   (2)ip4:67.202.107.106 說明郵件會從此聲明IPv4地址發出。它可以是一個IP,或一個IP段。如果有多個IP或多個IP段的話,可以聲明多個ip4記錄(如“ip4:1.0.1.0/24 ip4:1.0.2.0/24″),每個ip4記錄間用空格分隔。另外,除了用IPv4外,還可以有如下選擇:
       1) ip6: 使用 IPv6 進行驗證。
       2) a: 使用一個域名進行驗證。這將引起對域名服務器進行一次 A RR 查詢。可以按照 a:domain, a:domain/cidr 或 a/cidr 的形式來使用。
       3) mx: 使用 DNS MX RR 進行驗證。MX RR 定義了收信的 MTA,這可能和發信的 MTA 是不同的,這種情況基於 mx 的測試將會失敗。 可以用 mx:domain, mx:domain/cidr 或 mx/cidr 這些形式進行 mx 驗證。
       4) ptr: 使用域名服務器的 PTR RR 進行驗證。這時,SPF 使用 PTR RR 和反向圖進行查詢。如果返回的主機名位於同一個域名之內,就驗證通過了。這個參數的寫法是 ptr:domain
       5) exist: 驗證域名的存在性。可以寫成 exist:domain 的形式。
       6) ext: 定義對 type 的可選擴展。如果沒有這個字段,那麼僅使用單個記錄進行問詢。
       7) 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”
(3)-all 定義匹配時的返回值,可有如下選擇:
   1) + 缺省值。在測試完成的時候表示通過。
   2) – 表示測試失敗。這個值通常是 -all,表示沒有其他任何匹配發生。
   3) ~ 表示軟失敗,通常表示測試沒有完成。
   4) ? 表示不置可否。這個值也通常在測試沒有完成的時候使用。
所以“v=spf1 ip4:67.202.107.106 -all”的意思是這個域只有67.202.107.106這個IP可以發郵件出來,其他IP的都是非法的。

 

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