最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

SPF 記錄:原理、語(yǔ)法及配置方法簡(jiǎn)介

2023-03-17 10:38 作者:青陽(yáng)小棧  | 我要投稿

SPF,全稱為 Sender Policy Framework,即發(fā)件人策略框架。

當(dāng)前 Email 通信,還是在使用 SMTP 這個(gè)協(xié)議。SMTP 的全稱為 Simple Mail Transfer Protocol,即「簡(jiǎn)單郵件傳輸協(xié)議」。正如它的名字鎖暗示的,SMTP 實(shí)際上是一個(gè)非常簡(jiǎn)單(甚至簡(jiǎn)陋)的傳輸協(xié)議,本身并沒(méi)有很好的安全措施。根據(jù) SMTP 的規(guī)則,發(fā)件人的郵箱地址是可以由發(fā)信方任意聲明的。在 SMTP 協(xié)議制定的時(shí)候也許還好,但在垃圾和詐騙郵件橫行的今天,這顯然是極不安全的。

SPF 出現(xiàn)的目的,就是為了防止隨意偽造發(fā)件人。

SPF 記錄的原理

SPF 記錄實(shí)際上是服務(wù)器的一個(gè) DNS 記錄,原理其實(shí)很簡(jiǎn)單:

假設(shè)郵件服務(wù)器收到了一封郵件,來(lái)自主機(jī)的 IP 是173.194.72.103,并且聲稱發(fā)件人為email@example.com。為了確認(rèn)發(fā)件人不是偽造的,郵件服務(wù)器會(huì)去查詢example.com的 SPF 記錄。如果該域的 SPF 記錄設(shè)置允許 IP 為173.194.72.103的主機(jī)發(fā)送郵件,則服務(wù)器就認(rèn)為這封郵件是合法的;如果不允許,則通常會(huì)退信,或?qū)⑵錁?biāo)記為垃圾/仿冒郵件。

因?yàn)椴粦押眯牡娜穗m然可以「聲稱」他的郵件來(lái)自example.com,但是他卻無(wú)權(quán)操作example.com的 DNS 記錄;同時(shí)他也無(wú)法偽造自己的 IP 地址。因此 SPF 是很有效的,當(dāng)前基本上所有的郵件服務(wù)提供商(例如 Gmail、QQ 郵箱等)都會(huì)驗(yàn)證它。

SPF 記錄的語(yǔ)法

一條 SPF 記錄定義了一個(gè)或者多個(gè) mechanism,而 mechanism 則定義了哪些 IP 是允許的,哪些 IP 是拒絕的。

這些 mechanism 包括以下幾類(lèi):

all | ip4 | ip6 | a | mx | ptr | exists | include

每個(gè) mechanism 可以有四種前綴:

"+" ?Pass(通過(guò)) "-" ?Fail(拒絕) "~" ?Soft Fail(軟拒絕) "?" ?Neutral(中立)

測(cè)試時(shí),將從前往后依次測(cè)試每個(gè) mechanism。如果一個(gè) mechanism 包含了要查詢的 IP 地址(稱為命中),則測(cè)試結(jié)果由相應(yīng) mechanism 的前綴決定。默認(rèn)的前綴為+。如果測(cè)試完所有的 mechanisms 也沒(méi)有命中,則結(jié)果為 Neutral。

除了以上四種情況,還有 None(無(wú)結(jié)果)、PermError(永久錯(cuò)誤)和 TempError(臨時(shí)錯(cuò)誤)三種其他情況。對(duì)于這些情況的解釋和服務(wù)器通常的處理辦法如下:

結(jié)果含義服務(wù)器處理辦法Pass發(fā)件 IP 是合法的接受來(lái)信Fail發(fā)件 IP 是非法的退信Soft Fail發(fā)件 IP 非法,但是不采取強(qiáng)硬措施接受來(lái)信,但是做標(biāo)記NeutralSPF 記錄中沒(méi)有關(guān)于發(fā)件 IP 是否合法的信息接受來(lái)信None服務(wù)器沒(méi)有設(shè)定 SPF 記錄接受來(lái)信PermError發(fā)生了嚴(yán)重錯(cuò)誤(例如 SPF 記錄語(yǔ)法錯(cuò)誤)沒(méi)有規(guī)定TempError發(fā)生了臨時(shí)錯(cuò)誤(例如 DNS 查詢失?。┙邮芑蚓芙^

注意,上面所說(shuō)的「服務(wù)器處理辦法」僅僅是 SPF 標(biāo)準(zhǔn)做出的建議,并非所有的郵件服務(wù)器都嚴(yán)格遵循這套規(guī)定。

Mechanisms

下面介紹上面提到的 mechanism:

all

表示所有 IP,肯定會(huì)命中。因此通常把它放在 SPF 記錄的結(jié)尾,表示處理剩下的所有情況。例如:

"v=spf1 -all" 拒絕所有(表示這個(gè)域名不會(huì)發(fā)出郵件) "v=spf1 +all" 接受所有(域名所有者認(rèn)為 SPF 是沒(méi)有用的,或者根本不在乎它)

ip4

格式為ip4:<ip4-address>或者ip4:<ip4-network>/<prefix-length>,指定一個(gè) IPv4 地址或者地址段。如果prefix-length沒(méi)有給出,則默認(rèn)為/32。例如:

"v=spf1 ip4:192.168.0.1/16 -all" 只允許在 192.168.0.1 ~ 192.168.255.255 范圍內(nèi)的 IP

ip6

格式和ip4的很類(lèi)似,默認(rèn)的prefix-length/128。例如:

"v=spf1 ip6:1080::8:800:200C:417A/96 -all" 只允許在 1080::8:800:0000:0000 ~ 1080::8:800:FFFF:FFFF 范圍內(nèi)的 IP

a 和 mx

這倆的格式是相同的,以a為例,格式為以下四種之一:

a a/<prefix-length> a:<domain> a:<domain>/<prefix-length>

會(huì)命中相應(yīng)域名的 a 記錄(或 mx 記錄)中包含的 IP 地址(或地址段)。如果沒(méi)有提供域名,則使用當(dāng)前域名。例如:

"v=spf1 mx -all" 允許當(dāng)前域名的 mx 記錄對(duì)應(yīng)的 IP 地址。 "v=spf1 mx mx:deferrals.example.com -all" 允許當(dāng)前域名和 deferrals.example.com 的 mx 記錄對(duì)應(yīng)的 IP 地址。 "v=spf1 a/24 -all" 類(lèi)似地,這個(gè)用法則允許一個(gè)地址段。

例如,這是一個(gè)比較常見(jiàn)的 SPF 記錄,它表示支持當(dāng)前域名的 a 記錄和 mx 記錄,同時(shí)支持一個(gè)給定的 IP 地址;其他地址則拒絕:

v=spf1 a mx ip4:173.194.72.103 -all

include

格式為include:<domain>,表示引入<domain>域名下的 SPF 記錄。注意,如果該域名下不存在 SPF 記錄,則會(huì)導(dǎo)致一個(gè)PermError結(jié)果。例如:

"v=spf1 include:example.com -all" 即采用和 example.com 完全一樣的 SPF 記錄

exists

格式為exists:<domain>。將對(duì)<domain>執(zhí)行一個(gè) A 查詢,如果有返回結(jié)果(無(wú)論結(jié)果是什么),都會(huì)看作命中。

ptr

格式為ptr或者ptr:<domain>。使用ptr機(jī)制會(huì)帶來(lái)大量很大開(kāi)銷(xiāo)的 DNS 查詢,所以連官方都不推薦使用它。

關(guān)于v=spf1

這是必須的,這個(gè)表示采用 SPF 1 版本,現(xiàn)在它的最新版本就是第 1 版。

Modifiers

SPF 記錄中還可以包括兩種可選的 modifier;一個(gè) modifier 只能出現(xiàn)一次。

redirect

格式為redirect=<domain>

將用給定域名的 SPF 記錄替換當(dāng)前記錄。

exp

格式為exp=<domain>,目的是如果郵件被拒絕,可以給出一個(gè)消息。而消息的具體內(nèi)容會(huì)首先對(duì)<domain>執(zhí)行 TXT 查詢,然后執(zhí)行宏擴(kuò)展得到。

如何用 SPF 保護(hù)我的域名

如果你擁有自己的域名,并且用它發(fā)送郵件,那么你應(yīng)該為它添加 SPF。通過(guò)域名服務(wù)商提供的「域名解析」、「DNS Editor」或者「DNS Zone Editor」等功能添加,并填寫(xiě)正確的 SPF 數(shù)據(jù)就可以了。

嚴(yán)格來(lái)說(shuō),SPF 數(shù)據(jù)應(yīng)該創(chuàng)建為 SPF 記錄。但是鑒于很多 DNS 服務(wù)商不支持 SPF 記錄,甚至有的郵件服務(wù)器也不支持 SPF 記錄,因此也可以創(chuàng)建為一條 TXT 記錄。目前,你應(yīng)該至少創(chuàng)建一條 TXT 記錄。

因?yàn)楸举|(zhì)上 SPF 的作用是為一個(gè)域名指定合法的發(fā)件 IP,所以你需要知道自己使用的郵件服務(wù)器的發(fā)件 IP 是什么。如果你使用第三方的域名郵箱服務(wù)(比如騰訊的域名郵箱),那么他們應(yīng)該有相應(yīng)的文檔告訴你該怎么填寫(xiě)。如果你用虛擬主機(jī),則主機(jī)提供商也應(yīng)該會(huì)告訴你。

生效時(shí)間

SPF 記錄本質(zhì)上是一個(gè) DNS 記錄,所以并不是修改之后立即生效的——通常需要幾個(gè)小時(shí)的時(shí)間。

一些工具

雖然我不能幫你決定 SPF 該填什么,但是這里有一些非常好用的工具可以幫助你,點(diǎn)擊它們?cè)谛麓翱诖蜷_(kāi):

  • Open SPF:官方網(wǎng)站,有很多資料,值得一看。

  • RFC 4408:SPFv1 的規(guī)范全文。

  • SPF Recored Testing Tools:幫助你驗(yàn)證域名是否存在 SPF 記錄、記錄的語(yǔ)法是否正確,以及輸入 IP 和 host 來(lái)測(cè)試是不是真正管用。

  • SPF: Why?:為什么我發(fā)的郵件被拒絕了?

  • Beveridge Hosting DNS Lookup:圖形界面的dig,也可以顯示查詢到的 SPF 信息。

  • Beveridge SPF Test:另一個(gè)根據(jù) IP 和 host 驗(yàn)證 SPF 是否通過(guò)的工具。

  • Gmail:如果你有 Gmail 的話,可以給自己的 Gmail 郵箱發(fā)一封郵件,然后用 Gmail 獨(dú)有的 Show Original 功能查看 Gmail 服務(wù)器的 SPF 判斷結(jié)果。


SPF 記錄:原理、語(yǔ)法及配置方法簡(jiǎn)介的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
罗定市| 得荣县| 新邵县| 濮阳市| 五莲县| 普定县| 辽源市| 龙门县| 河西区| 潍坊市| 饶阳县| 从化市| 玉龙| 五常市| 葫芦岛市| 石屏县| 方正县| 柳江县| 绥德县| 涞源县| 阿鲁科尔沁旗| 鹤岗市| 唐山市| 福海县| 荔波县| 河东区| 巢湖市| 宁津县| 肇源县| 扬州市| 同仁县| 黄龙县| 西安市| 剑阁县| 遂平县| 寻乌县| 庆安县| 固阳县| 佛坪县| 黎城县| 奉新县|