SPF記錄
當前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
什么是spf? 這里的spf不是防曬指數(shù),而是指sender policy framework。翻譯過來就是發(fā)信者策略架構(gòu),比較拗口,通常都直接稱為spf?!? spf是為了防范垃圾郵件而提出來的一種dns記錄類型,它是一種txt類型的記錄,它用于登記某個域名擁有的用來外發(fā)郵件的所有ip地址。例如: dig txt 21cn.com 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類型的記錄,將提高該域名的信譽度,同時可以防止垃圾郵件偽造該域的發(fā)件人發(fā)送垃圾郵件。 spf是跟dns相關(guān)的一項技術(shù),它的內(nèi)容寫在dns的txt類型的記錄里面。mx記錄的作用是給寄信者指明某個域名的郵件服務(wù)器有哪些。spf的作用跟mx相反,它向收信者表明,哪些郵件服務(wù)器是經(jīng)過某個域名認可會發(fā)送郵件的。 由定義可以看出,spf的作用主要是[url=http://baike.baidu.com/view/1484964.htm][color=#136ec2]反垃圾郵件[/color][/url],主要針對那些發(fā)信人偽造域名的垃圾郵件。 例如:當coremail郵件服務(wù)器收到自稱發(fā)件人是spam@gmail.com的郵件,那么到底它是不是真的gmail.com的郵件服務(wù)器發(fā)過來的呢?那么我們可以查詢gmail.com的spf記錄 查看spf記錄的方法 windows下進入dos模式后用以下命令 nslookup -type=txt 域名 unix操作系統(tǒng)下用: # dig -t txt 域名 關(guān)于spf的一些知識 當前市場上很多郵件系統(tǒng)和供應(yīng)商都已經(jīng)開始支持spf,比如163.com,那么該如何得到163.com的spf值呢?在cmd環(huán)境中,鍵入: nslookup set type=txt 163.com 就會得到以下的結(jié)果: 163.com text = "v=spf1 ip4:220.181.12.0/22 ip4:202.108.9.128/25 ip4:202.108.5.0/24 ~all" 163.com nameserver = ns3.nease.net 163.com nameserver = ns.nease.net ns.nease.net internet address = 202.106.185.75 ns3.nease.net internet address = 220.181.28.3 其中:"v=spf1 ip4:220.181.12.0/22 ip4:202.108.9.128/25 ip4:202.108.5.0/24 ~all"就是163.com的spf值。這個數(shù)據(jù)中說明了163.com有效合法服務(wù)器都有哪些! 那么我們該如何創(chuàng)建呢? 進入域名解析創(chuàng)建一條txt記錄填寫正確的spf數(shù)據(jù)就可以生效了。 在mdaemon7.x中啟用spf功能,并作適當調(diào)整就可以了。 另外8.x版本新增加了一個domainkey簽名,不過mdaemon已經(jīng)自動幫你創(chuàng)建。 另外給大家一個網(wǎng)址,很實用 http://www.microsoft.com/mscorp/safety/content/technologies/senderid/wizard/ 這個網(wǎng)址是一個創(chuàng)建senderid的向?qū)ЬW(wǎng)站,他能幫你創(chuàng)建一個senderid值。 senderid (寄件人身份識別技術(shù))。 spf(senderpolicyframework,寄件人政策架構(gòu))。 senderid技術(shù)與spf一樣,都是一種以ip(互聯(lián)網(wǎng)協(xié)定)位址認證電子郵件寄件人身份的技術(shù)。 spf 誕生于2003年,它的締造者 meng weng wong 結(jié)合了反向 mx 域名解析(reverse mx) 和 dmp (designated mailer protocol) 的優(yōu)點而付予了 spf 生命。 spf 使用電子郵件頭部信息中的 return-path (或 mail from) 字段,因為所有的 mta 都可以處理包含這些字段的郵件。不過微軟也提出了一種叫做 pra (purported responsible address)的方法。pra 對應(yīng)于 mua (比如 thunderbird) 使用的終端用戶的地址。 這樣,當我們把 spf 和 pra 結(jié)合起來的時候,就可以得到所謂的“sender id”了。sender id 允許電子郵件的接收者通過檢查 mail from 和 pra 來驗證郵件的合法性。有的說法認為,mail from 檢查由 mta 進行,而 pra 檢查由 mua 來完成。 事實上,spf 需要 dns 以某種特定的方式來工作。也就是必須提供所謂的“反向 mx 解析”記錄,這些記錄用來解析來自給定域名的郵件對應(yīng)的發(fā)送主機。這和目前使用的 mx 記錄不通,后者是用來解析給定域名對應(yīng)的接收郵件的主機的。 spf 有哪些需求? 要想用 spf 來保護你的系統(tǒng),你必須: 配置 dns,添加 txt 記錄,用于容納 spf 問詢的信息。 配置你的電子郵件系統(tǒng)(qmail, sendmail)使用 spf,也就是說對服務(wù)器上每封進入的郵件進行驗證。 上述第一步要在郵件服務(wù)器所屬的域名服務(wù)器上進行調(diào)整,下一節(jié)中,我們將討論這個記錄的細節(jié)內(nèi)容。你首先需要確定的一點是你的域名服務(wù)器(bind,djbdns)所使用的語法。但別擔心,spf 的官方網(wǎng)站提供了一個很好用的向?qū)碇笇?dǎo)你如何添加記錄。 spf 的 txt 記錄 spf 記錄包含在一個 txt 記錄之中,格式如下: v=spf1 [[pre] type [ext] ] ... [mod] 每個參數(shù)的含義如下表所示: 參數(shù) 描述 v=spf1 spf 的版本。如果使用 sender id 的話,這個字段就應(yīng)該是 v=spf2 pre 定義匹配時的返回值。 可能的返回值包括: 返回值 描述 + 缺省值。在測試完成的時候表示通過。 - 表示測試失敗。這個值通常是 -all,表示沒有其他任何匹配發(fā)生。 ~ 表示軟失敗,通常表示測試沒有完成。 ? 表示不置可否。這個值也通常在測試沒有完成的時候使用。 type 定義使用的確認測試的類型。 可能的值包括: 候選值 描述 include 包含一個給定的域名的測試 以 include:domain 的形式書寫。 all 終止測試序列。 比如,如果選項是 -all,那么到達這條記錄也就意味著測試失敗了。但是如果無法確定,可以使用"?all"來表示,這樣,測試將被接受。 ip4 使用 ipv4 進行驗證。 這個可以以 ip4:ipv4 或 ip4:ipv4/cidr 的形式使用。建議使用這個參數(shù),以減少域名服務(wù)器的負荷。 ip6 使用 ipv6 進行驗證。 a 使用一個域名進行驗證。 這將引起對域名服務(wù)器進行一次 a rr 查詢。 可以按照 a:domain, a:domain/cidr 或 a/cidr 的形式來使用。 mx 使用 dns mx rr 進行驗證。 mx rr 定義了收信的 mta,這可能和發(fā)信的 mta 是不同的,這種情況基于 mx 的測試將會失敗。 可以用 mx:domain, mx:domain/cidr 或 mx/cidr 這些形式進行 mx 驗證。 ptr 使用域名服務(wù)器的 ptr rr 進行驗證。 這時,spf 使用 ptr rr 和反向圖進行查詢。如果返回的主機名位于同一個域名之內(nèi),就驗證通過了。 這個參數(shù)的寫法是 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" 存在的問題: 嘿!我是 isp isp 實施 spf 可能對于他們處于漫游狀態(tài)(roaming)的用戶帶來一些麻煩,當這些用戶習慣使用 pop-before-relay 這樣的方式處理郵件,而不是 sasl smtp 的時候問題就會出現(xiàn)。 嗯,如果你是一個被垃圾郵件、地址欺騙所困擾的 isp 的話,你就必須考慮你的郵件策略、開始使用 spf 了。 這里是你可以考慮的幾個步驟。 首先設(shè)置你的 mta 使用 sasl,比如,你可以在端口 25 和 587 使用它。 告訴你的用戶你已經(jīng)使用了這個策略(spf.pobox.com 給出了一個通知的例子,參見參考文獻)。 給你的用戶一個寬限期,也就是說,把你的 spf 記錄加入到域名服務(wù)器之中,但使用“軟失敗”(~all)而不是“失敗”(-all)。 這樣,你就保護了你的服務(wù)器、你的客戶和整個世界免受垃圾郵件之類的困擾了。 spf 的官方站點上有很多信息,還等什么呢? 有什么需要擔心的? spf 是一個對于欺騙的完美保護。但它有一個局限:傳統(tǒng)的郵件轉(zhuǎn)發(fā)方式不再有效了。你不能僅僅從你的 mta 接受郵件并簡單地重新發(fā)送它了。你必須重寫發(fā)送地址。常見的 mta 的補丁可以在 spf 的網(wǎng)站找到。換句話說,如果你把 spf 記錄加入到了域名服務(wù)器,你就必須更新你的 mta 來進行發(fā)送地址改寫,即使你還沒有對 spf 記錄進行檢查。 結(jié)論 你可能覺得 spf 的實施有點難以理解。不過這確實不算復(fù)雜,而且還有一個不錯的向?qū)韼湍阃瓿蛇@個轉(zhuǎn)換(參見參考文獻)。 如果你被垃圾郵件所困擾的話,spf 將可以幫助你,保護你的域名免受偽造郵件地址的影響,你所要做的僅僅是在域名服務(wù)器上添加一行文本并配置你的電子郵件服務(wù)器而已。 spf 的優(yōu)點有很多。不過,像我對一些人所說的,這不是一夜之間就可以達到的,spf 的好處將通過日積月累來表現(xiàn)出來,當其他人都使用它的時候就能明顯地看到了。 我也提到了 sender id,這和 spf 有關(guān),但我沒有去解釋它。可能你已經(jīng)知道原因了,微軟的策略一向如此---軟件專利。在參考文獻中,你可以看到 openspf.org 對于 sender id 的立場聲明。 解決mt發(fā)送郵件通知給gmail遇到的spf校驗問題 blog系統(tǒng)有一個很有用的功能就是郵件發(fā)送留言通知:但是發(fā)送到gmail郵箱的通知信十有八九都會被標記為垃圾郵件。原因就是spf:sender policy framework (spf) 要做發(fā)送人校驗,而mt設(shè)置的發(fā)信人是留言者的郵件地址,而退信地址是mt系統(tǒng)所在服務(wù)器的郵箱。 received-spf: neutral (google.com: 60.195.249.163 is neither permitted nor denied by domain of apache@localhost.localdomain) 我的web服務(wù)器上沒有任何郵件系統(tǒng)。所以無法通過spf校驗,有嚴格的spf校驗這也是gmail相對spam比較少的原因。 如何解決呢: 1 增加郵件系統(tǒng),設(shè)置mx記錄等,需要學(xué)不少東西; 2 簡單的就是先發(fā)到不支持spf校驗的郵件系統(tǒng)上,然后再轉(zhuǎn)發(fā)給gmail,這時候的退信地址已經(jīng)轉(zhuǎn)發(fā)郵箱了: received-spf: pass (google.com: domain of #####@yeah.net designates 60.12.227.137 as permitted sender) 您的域管理員或托管公司僅需在域名系統(tǒng) (dns) 中發(fā)布 spf 記錄。這些簡單的文本記錄標識了經(jīng)過授權(quán)的電子郵件發(fā)送服務(wù)器(通過列出這些服務(wù)器的 ip 地址)。電子郵件接收系統(tǒng)會檢查郵件是否來自經(jīng)過正確授權(quán)的電子郵件發(fā)送服務(wù)器。檢查步驟如下,發(fā)送人向接收方發(fā)送一封電子郵件后,郵件接收服務(wù)器接收電子郵件并執(zhí)行如下操作: • 檢查哪一個域聲稱發(fā)送了該郵件并檢查該域的 spf 記錄的 dns。 • 確定發(fā)送服務(wù)器的 ip 地址是否與 spf 記錄中的某個已發(fā)布 ip 地址相匹配。 • 對電子郵件進行打分:如果 ip 地址匹配,則郵件通過身份驗證并獲得一個正分。如果 ip 地址不匹配,則郵件無法通過身份驗證并獲得一個負分。然后,對現(xiàn)有的防垃圾郵件篩選策略和啟發(fā)式篩選應(yīng)用這些結(jié)果。 該文章在 2011/8/3 0:22:39 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |