DNS 系列2 --- SPF

一、承上启下

1. DNS 系列1 --- 记录类型

二、SPF

1. 概念

SPF是Sender policy framework(发送方策略框架)的简称,是一种DNS TXT记录,其中列出所有所有获得授权从特定域发送电子邮件的服务器。

创建 SPF记录的原因是电子邮件使用的标准协议SMTP(简单邮件传输协议)本身并不验证电子邮件中的“发件人”地址。这意味着,如果没有 SPF 或其他身份验证记录,攻击者可以轻易假冒一个发件人,欺骗收件人采取某种行动或共享信息。

可以将 SPF 记录想象为门童管理的客人名单,如果某人不在名单上,门童就不会让其进入。同样,如果 SPF 记录的列表中没有某个发送者的 IP 地址或域,接收方服务器(门童)将不投递哪些电子邮件或将它们标记为垃圾邮件。

需要注意的是,SPF曾经有一个专用的DNS记录类型SPF。该专用DNS记录类型已被弃用,仅使用TXT记录。

2. 工作原理

邮件服务器检查 SPF 记录的过程如下:

(1) 服务器A(192.168.0.1)发送电子邮件。电子邮件使用的返回路径为email@returnpath.com。(返回地址不同于"发件人"地址,专用于收集和处理退回的消息。)

(2) 接收该消息的邮件服务器B读取返回路径的域并搜寻其SPF记录。

(3) 如果服务器B找到返回路径域名的SPF记录,就会在SPF记录的授权发送方列表中搜索服务器A的IP地址。如果该IP地址存在于SPF记录的列表中,则SPF检查通过,该电子邮件将得以通过。反之,则 SPF 检查失败。在这种情况下,该电子邮件将被拒收或标记为垃圾邮件。

三、SPF记录

1. 格式

[FQDN] IN TXT [发信方SPF规则]

2. SPF规则

v={SPF版本} [IP版本:IP地址 [IP版本:IP地址]] [include:包含域名 [include:包含域名]] {非法邮件处理方式}

(1) SPF版本:包括spf1和spf2;

(2) IP版本:包括ip4和ip6;

(3) IP地址:包括IPv4地址和IPv6地址;

(4) "include: 包含域名":这个标记告诉服务器,有哪些第三方组织被授权代表该域发送电子邮件。这个标记表示被包含域(examplesender.net)的SPF记录内容应被检查,其包含的IP地址也应被视为已授权。一条SPF记录中可包含多个域,但这个标记仅适用于有效的域。

(5) 非法邮件处理方式

a. 前缀:

"+": Pass(通过)

"-": Fail(拒绝)

"~": Soft Fail(软拒绝)
"?": Neutral(中立)

b. 用法

+all:任何服务器都可以代表该域名发送电子邮件;

-all:SPF记录中未列出的地址没有被授权,从未授权地址发送的电子邮件应被拒绝;

~all:SPF记录中未列出的地址没有被授权,从未授权地址发送的电子邮件将被标记为不安全邮件或垃圾邮件,但仍会被接受。

3. SPF限制

(1) SPF 记录不能包含大写字母;

(2) 每个域名不能关联多条SPF记录;

(3) 记录必须以all部分结束,或包含一个redirect:部分(表示该 SPF 记录由另一个域名托管)。

3. SPF示例

v=spf1 ip4=192.0.2.0 ip4=192.0.2.1 include:examplesender.email -all

(1) v=spf1 告诉服务器这里包含一条 SPF 记录。每一条 SPF 记录都必须以这个字符串开始;

(2) "ip4=192.0.2.0 ip4=192.0.2.1"是SPF授权IP地址部分。在本例中,SPF记录告诉服务器,ip4=192.0.2.0和ip4=192.0.2.1被授权代表该域发送电子邮件;

(3) "include:examplesender.net"是"include"标记的示例,该标记告诉服务器,被包含域(examplesender.net)的SPF记录内容应被检查,其中包含的IP地址也应被视为已授权。一条SPF记录中可包含多个域,但这个标记仅适用于有效的域;

(4) -all 告诉服务器,SPF记录中未列出的地址没有被授权发送电子邮件并应被拒绝。

4. 测试

https://mxtoolbox.com/SuperTool.aspx?action=spf

四、参考

1. 官方

https://datatracker.ietf.org/doc/html/rfc7208

http://www.open-spf.org/SPF_Record_Syntax/

2. 其他

https://www.cloudflare.com/learning/dns/dns-records/dns-spf-record/

https://www.jianshu.com/p/b483300378af

posted @ 2023-02-09 22:16  白马黑衣  阅读(382)  评论(0编辑  收藏  举报