【邮件假造】SPF与DKIM验证原理及实战解析(上)
0x01 前语
我们好,我是VoltCary
本篇文章是系列邮件安全专题的第一篇,首要协助我们把握邮件安全的根底知识。
根底内容包括:
- SMTP协议
- 邮件安全验证原理与进程
- SPF验证与DKIM签名验证原理
把握这些根底后,你将能够更好地了解邮件假造的验证原理与绕过技巧,从而把握邮件假造的排查办法。假如没有完全弄懂原理,很简单堕入困惑,只会照搬他人现成的办法。
0x02 SPF
SPF根底
SPF用于验证发件人的IP地址是否被授权发送该域名的邮件。
经过装备SPF记载,域名所有者能够指定哪些邮件服务器能够代表该域名发送邮件。当域名和IP共同,则SPF验证经过。
SPF是校验是由收件人邮件服务器,根据 MAIL FROM
字段(又名 Envelope From
)、Return-Path
字段中的邮箱域名,并获取发件人的IP地址。
然后查询域名DNS的txt记载,判别此邮箱域名是授权哪些服务器IP发送邮件,假如发件人IP与DNS记载的授权服务器IP共同,那么SPF就会验证经过。
- From 字段(显现发件人): 只用于显现给邮件收件人看的,一般作为邮件假造进犯。收件人看到的是邮件的 From 地址,但它不会直接影响 SPF 校验,SPF 校验与 From 字段无关。
- MAIL FROM:用于邮件的传输(即在 SMTP 会话中)标识发件人。
- Return-Path:一般用于界说邮件退回的地址。在邮件传输进程中,假如邮件无法送达,退信会发到这个地址。
SPF 记载有必要遵从必定的规范,以便服务器了解其内容。如下是SPF记载内容示例:
v=spf1 ip4:192.0.2.0 ip4:192.0.2.1 include:examplesender.email -all
v=spf1
:告知服务器这儿包括一条 SPF 记载。每一条 SPF 记载都有必要以这个字符串开端。
ip4
:授权 IP 地址。在本例中,SPF 记载告知服务器,ip4:192.0.2.0
和 ip4:192.0.2.1
被授权代表该域发送电子邮件。
include:examplesender.net
:该符号告知服务器,有哪些第三方安排被授权代表该域发送电子邮件。这个符号表明,被包括域(examplesender.net)的 SPF 记载内容应被查看,其间包括的 IP 地址也应被视为已授权。一条 SPF 记载中可包括多个域,但这个符号仅适用于有用的域。
-all
:严厉的 SPF 失利处理战略,表明SPF 记载中未列出的地址没有被授权发送电子邮件并应被回绝。
~all
:软失利,即宽松的SPF 装备,表明未列出的电子邮件将被符号为不安全邮件或垃圾邮件,但仍会被承受;
+all
:表明任何服务器都能够代表该域发送电子邮件。