已开发出各种发件人验证方案,不仅检查有效性,还检查发件人地址的真实性。互联网域名的所有者指定了必须满足的特定标准,以便验证来自该域名内发件人的邮件是否为真实邮件。
早期提出的两种此类方案是
MAIL-FROMMX 记录,由 Paul Vixie 构思<paul (at) vix.com>
反向邮件交换器 (RMX) 记录,作为 DNS 本身的补充,由 Hadmut Danisch 构思和发布<hadmut (at) danisch.de>.
在这两种方案下,来自<user@domain.com>的所有邮件都必须来自<domain.com>的 DNS 区域中指定的主机。
这些方案已经发展。唉,它们也分叉了。
“发件人策略框架”(之前称为 “发件人许可来源”)可能是最著名的发件人授权方案。它大致基于上述原始方案,但在域名持有者可以发布的标准方面允许更大的灵活性。
SPF 信息以TXT记录的形式发布在域名的顶级 DNS 区域中。此记录可以指定
哪些主机允许从该域名发送邮件
来自该域名的外发邮件中必须存在 GPG(GNU Privacy Guard)签名
其他标准;有关详细信息,请参阅 http://spf.pobox.com/。
TXT 记录的结构仍在开发中,但是完成上述基本功能的功能已经到位。它以字符串开头v=spf1,后跟诸如以下修饰符:
a- 域名本身的 IP 地址是有效的发件人主机
mx- 该域名的传入邮件交换器也是有效的发件人
ptr- 如果发送主机的 IP 地址的反向 DNS 查找产生发件人地址的域名部分内的名称,则它是有效的发件人。
每个修饰符都可以加上加号 (+)、减号 (-)、问号 (?) 或波浪号 (~) 前缀,以分别指示它是指定权威来源、非权威来源、中立立场还是可能的非权威来源。
每个修饰符也可以用冒号扩展,后跟备用域名。例如,如果您是 Comcast 的用户,您自己的 DNS 区域可能包含字符串 “-ptr:client.comcast.net ptr:comcast.net” 以指示您的外发电子邮件永远不会来自解析为任何.client.comcast.net 的主机,但可能来自解析为任何.comcast.net 的其他主机.
SPF 信息目前已为许多知名互联网域名发布,例如 aol.com、altavista.com、dyndns.org、earthlink.net 和 google.com。
发件人授权方案(尤其是 SPF)尚未被普遍接受。特别是,一种反对意见是,域名持有者可能会有效地垄断从其用户/客户转发外发邮件的行为。
另一种反对意见是,SPF 破坏了传统的电子邮件转发 - 转发主机可能没有权限根据信封发件人域中的 SPF 信息执行此操作。这部分通过 SRS 或发件人重写方案解决,其中邮件的转发者将修改信封发件人地址为以下格式
user=source.domain@forwarder.domain |
与 SPF 类似,接受标准通过发送域的 DNS 区域中的 TXT 记录发布。但是,MS CIDE 信息不是依赖于简单的关键字,而是由以 XML 编码的相当大的结构组成。XML 模式由 Microsoft 获得许可发布。
虽然 SPF 通常用于检查电子邮件的信封发件人地址,但 MS CIDE 主要是一种验证消息本身的 RFC 2822 标头的工具。因此,可以应用此类检查的最早时间点是在消息数据已传递之后,在发出最终 250 响应之前。
坦率地说,生来就夭折了。受到专利问题和纯粹的复杂性阻碍。
话虽如此,http://spf.pobox.com/ 上发布的最新 SPF 工具除了 SPF 之外,还能够检查 MS 发件人 ID 信息。
(简单呼叫者授权框架 - SCAF 的一部分)。此方案由 Hadmut Danisch 开发,他也是原始 RMX 的构思者。
RMX++ 允许通过 HTTP 服务器进行动态授权。域名所有者通过 DNS 发布服务器位置,接收主机联系该服务器以获取授权记录,从而验证呼叫者的真实性。
此方案允许域名所有者更精细地控制用于验证发件人地址的标准,而无需公开其网络的结构(如静态 TXT 记录中的 SPF 信息)。例如,Hadmut 提出的一个示例是授权服务器,该服务器允许每个地址在工作时间后每天发送不超过五条消息,然后在达到限制后发出警报。
此外,SCAF 不仅限于电子邮件,还可以用于为其他服务(如网络电话 (VoIP))提供呼叫者身份验证。
Rick Stewart 指出的 RMX++ 的一个可能的缺点是<rick.stewart (at) theinternetco.net>,它对机器和网络资源的影响:来自 HTTP 服务器的回复不像直接通过 DNS 获取的信息那样被广泛缓存,并且发出 HTTP 请求比 DNS 请求的成本高得多。
此外,Rick 指出 RMX++ 的动态性质使得故障更难跟踪。如果存在每天五条消息的限制,如上面的示例所示,并且一条消息被检查五次,则一条消息就达到了限制。这使得重新检查消息变得不可能。
有关 RMX、RMX++ 和 SCAF 的更多信息,请参阅:http://www.danisch.de/work/security/antispam.html。