问题描述
查看具有4个域及其以下SPF记录的假设情况:
域:example.com SPF记录:v = spf1 include:otherdomain.com〜all
域名:otherdomain.com SPF记录:v = spf1 a include:thirddomain.com〜all
域名:thirddomain.com SPF记录:v = spf1 ip4:1.2.3.4 include:unsecuredomain.com〜all
域名:unsecuredomain.com SPF记录:v = spf1 +全部
- example.com使用otherdomain.com代表其发送电子邮件,并“软失败”任何其他域。
- otherdomain.com使用自己的IP发送电子邮件,还允许Thirddomain.com代表其发送电子邮件,并“软失败”其他域。
- thirddomain.com使用IP 1.2.3.4发送电子邮件,并允许unsecuredomain.com代表其发送电子邮件,并“软失败”其他域
- unsecuredomain.com允许任何人代表其发送电子邮件。
问题: 任何人,unsecuredomain.com或thirddomain.com都可以代表example.com发送电子邮件吗? 任何人都可以代表Thirddomain.com发送电子邮件吗?
谢谢大家
解决方法
我知道您担心的是什么,但是没关系:包含域的all
策略不要为您自己的SPF策略创建后门。
-
otherdomain.com
可以从其example.com
记录点的任何地方发送A
,也可以从thirddomain.com
的文字IP发送。 -
thirddomain.com
只能从其文字IP发送example.com
的邮件。 -
unsecuredomain.com
根本无法发送example.com
。 - 其他任何来源都将从
example.com
的{{1}}默认机制中获得软失败。
它在RFC7208 section 5.2中得到了澄清:
例如,在引用的对象中评估“ -all”指令 记录不会终止整体处理,并且不会 必然会导致整体“失败”。
和
通过“包含”机制,可以在管理上外部 主机可以被授权,但是仍然确定发送方策略 原始域的SPF记录的功能(由 该记录中的“所有”机制。
简而言之,仅使用您自己记录的~all
机制。