|
|
|
|
知识库 - 反垃圾邮件技术 - 发件人框架策略(SPF)技术 |
|
1.SPF
SPF是指 Sender Policy Framework,是为了防范垃圾邮件而提出来的一种 DNS记录类型,SPF 是一种TXT类型的记录。
用法说明:
a.com IN TXT “v=spf1 ipv4:10.1.1.1 –all” 说明 SPF 记录的版本为“ v=spf1”,指明a.com 域的外发邮件一定是从 IP地址为10.1.1.1的主机发出的。 SPF收件服务器从邮件的MailFrom地址中提取发件域,如果 Mail From地址中没有可用的域名,则将 HELO/EHLO地址中的域名用作发件域,然后查询DNS中 SPF记录检验该发件域的真伪。
常见用法:
all
“v=spf1 mx –all” 允许所有该域的 MX邮件服务器发送邮件,禁止所有其他的 .
“v=spf1 –all” 该域根本不能发送邮件
“v=spf1 +all” 任何服务器都可以发送邮件
ipv4
“v=spf1 ip4:192.168.0.1/16 –all” 允许192.168.0.1到 192.168.255.255的服务器发送邮件
“v=spf1 ip4:192.168.0.1 –all” 允许192.168.0.1发送邮件 ,与“v=spf1 ip4:192.168.0.1/32 –all” 相同
ipv6
"v=spf1 ip6:1080::8:800:200C:417A/96 -all"允许 1080::8:800:0000:0000 和 1080::8:800:FFFF:FFFF 之间的主机发送
include
句型: include:<domain>
指定的域被查询后匹配 .如果查询无匹配或者有错误 ,接着开始下一个机制处理 .警告: 如果指定域不是合法有效的 SPF记录, 返回”永久性错误 ”
例:
“v=spf1 include:example.net –all”
如果 example.net没有SPF 记录,结果是 ”永久错误”(PermError)
标识符
作为机制的前缀 ,表明机制的状态.机制的默认标识符为 ”+”
"+" Pass ( 通过)
"-" Fail ( 失败)
"~" SoftFail ( 软失败)
"?" Neutral ( 中性)
结果 |
解释 |
可做行为 |
Pass |
SPF 记录指定, 主机被允许发送 |
接受 |
Fail |
SPF 记录指定, 主机不被允许发送 |
拒绝 |
SoftFail |
SPF 记录指定, 主机不被允许发送 , 但可以再发送 |
接受但做标记 |
Neutral |
SPF 记录详尽, 但不能确认其有效性 |
接受 |
None |
无 SPF记录或 SPF 记录验证无结果 |
接受 |
PermError |
永久错误 ( 例如不正确的格式记录 ) |
未指明 |
TempError |
临时错误发生 |
接受或拒绝 |
|
2.Sender ID(SIDF)
SIDF(Sender ID Framework , 发件人ID 框架 ) 是SPF 技术与Microsoft 的 Caller ID 技术整合形成的邮件认证方案,认证工作需要发件方与收件方的支持。
1)发件方动作。
发件域可以通过 DNS 发布v=spf1 与spf2.0 两种版本的SPF 记录。spf2.0 由SIDF 提出,与 v=spf1 格式基本相同,增加了作用域等新的参数,目前有三种类型: spf2.0/pra 用于PRA 检测,spf2.0/mfrom 用于MFROM 检测,而 spf2.0/pra,mfrom 同时适用于PRA 与 MFROM 两种检测方式。另外为了保持与 SPF 技术的兼容,SIDF 也沿用 v=spf1 记录,作用等同于 spf2.0/pra,mfrom。另外,一个邮件域同时公布了两种版本的 SPF 记录,SIDF 验证方优先使用 spf2.0。
某些特殊用途的邮件系统,比如邮件列表服务器、邮件转寄系统、第三方邮件服务等,应在发送的邮件中增加Sender 或Resent-* 信头。
2)收件方动作。
SIDF提供了MFROM 与PRA两种检测机制。 MFROM检测机制来自 SPF技术,校验邮件的Mail From或 HELO/EHLO域名,防止非法的反弹邮件。 PRA检测机制源于Caller ID,收件服务器一般按照 Resent-Sender、Resent-From 、Sender、From 信头的顺序确定声称发件人地址( Purported Responsible Address ,PRA),并从 PRA中取出域名,称为声称发件域( Purported Responsible Domain,PRD ),然后查询PRD在 DNS发布的SPF 记录,检验其域名的真实性。 PRA检测机制可以防止钓鱼邮件,也能对转寄者、邮件列表服务器与第三方邮件服务进行验证。
PRA与MFROM( 或SPF)检测机制都采用点到点的检验方式,只验证上一跳邮件服务器。在多跳邮件投递路径中,必须所有的中间邮件服务器都承担验证工作,才能构建一个完整的信任链。 PRA检测机制还容易遭到伪造邮件头攻击,如果一个邮件中的 Sender或Resent-* 头是合法的、而 From头是伪造的,这样的邮件仍可能通过 PRA检测。
3. DKIM
DKIM(Domainkeys Identified Mail),邮件域名密钥验证 )是由雅虎与思科公司合作发表的邮件认证技术,已被 IETF发布为一种正式标准。 DKIM提供基于公钥加密机制的数字签名技术来验证邮件的发送域,阻挡钓鱼邮件,并能保证邮件内容的完整性,防止邮件在投递过程中被恶意篡改。
DKIM要求发件域部署一到多对公私钥。私钥存储在本域的外发邮件服务器中,用于签名邮件;公钥通过 DNS或其它第三方服务器对外发布。
DKIM邮件服务器发送邮件时,利用本域的私钥签名邮件,生成 DKIM-Signature签名头并插入到邮件头中,签名头中包括了 DKIM签名以及邮件接收方验证签名所需的属性。
DKIM 收件服务器接收邮件时, 从邮件中取出DKIM-Signature头,并根据签名头中的信息获取邮件发送方的公钥,验证 DKIM签名的有效性。
DKIM是一种端到端的认证技术,如果邮件投递链中合法的中间邮件系统,比如邮件列表服务,对邮件内容进行了修改,会使得原始邮件发送方对邮件的签名不再有效,导致DKIM认证失败。DKIM建议合法的中间邮件系统如有需要可以重新签名转发的邮件。另外,相对于 SPF与SIDF ,DKIM对邮件服务器的性能要求较高。
|
|
|