在SPF记录中使用SOFTFAIL over FAIL是否被视为最佳实践?


31

或换一种说法,v=spf1 a mx ~all建议使用而不是使用v=spf1 a mx -allRFC似乎没有提出任何建议。我一直偏爱使用FAIL,这会导致问题立即变得明显。我发现使用SOFTFAIL,由于没有人注意到,允许错误配置的SPF记录无限期地保留。

但是,我在网上看到的所有示例似乎都在使用SOFTFAIL。当我看到有关配置SPF 的Google Apps指导时,使我产生疑问的是:

创建包含以下文本的TXT记录:v = spf1 include:_spf.google.com〜all

发布使用-all而不是〜all的SPF记录可能会导致传递问题。有关Google Apps邮件服务器的地址的详细信息,请参见Google IP地址范围。

通过推动SOFTFAIL的使用,示例是否过于谨慎?是否有充分的理由使SOFTFAIL成为最佳实践?


您可能会发现此en.wikipedia.org/wiki/…有用。
Pacerier 2014年

Answers:


21

好吧,当然,使用它不是规范的意图-softfail旨在作为一种转换机制,您可以在其中标记消息而不会完全拒绝它们。

如您所见,完全失败的消息往往会引起问题;例如,某些合法服务会欺骗您域的地址,以便代表您的用户发送邮件。

因此,在许多情况下,建议使用不那么苛刻的软失败,这是一种不那么痛苦的方式,仍然可以得到SPF提供的很多帮助,而不会有些头痛。收件人的垃圾邮件过滤器仍然可以将softfail作为强力暗示,表明邮件可能是垃圾邮件(很多人这样做)。

如果您确信没有消息会来自指定节点之外的任何其他节点,那么请务必使用fail作为SPF标准。.但是正如您所观察到的,softfail肯定超出了预期范围使用。


2
因此,除非我有特殊情况要求使用SOFTFAIL,否则坚持FAIL是安全的。太棒了 谢谢。
Michael Kropat

1
@Shane,关于“某些合法服务会欺骗您域的地址”(第2段),您指的是哪些示例?
Pacerier 2014年

1
欺骗标头来自:很好。没有合法的服务会欺骗信封发件人,这是SPF唯一要说的发件人-互联网上的其他服务器都没有任何业务在向我发送退信时发送电子邮件,这是信封发件人的正式功能。
MadHatter支持Monica

7

-应始终使用NO EXCEPTION。不使用它是在向欺骗您域名的人开放。例如,Gmail有一个〜all。垃圾邮件发送者的欺骗gmail.com一直在地址。该标准规定,由于〜all,我们必须接受来自他们的电子邮件。我个人不遵循此标准,因为我意识到你们中的大多数人都错误地设置了SPF记录。我会像我一样强制执行所有,全部。 SPF语法 SPF错误


5
我赞同这一观点。对我来说,Softfail的唯一原因是测试目的。如果您保持SPF记录为最新,则没有理由使用软故障。如果您不这样做,则根本不需要SPF。我认为任何合法服务都不应伪造其电子邮件来自您的域。
蒂姆

我会挑战这一点:因为这取决于。如果使用此域的每个人都知道其含义,那绝对没问题。但是请不要忘记:网站联系表单中的消息可能会在没有任何人注意的情况下丢失。通常,将这些消息设置为代表您通过邮件转发您的消息。但是,如果您要为其他人设置邮件,请不要这样做。他们不知道联系人表单没有通过,这阻止了他们在其他提供商(例如gmail)上将邮件地址设置为方便的别名。
wedi

5

据我了解,Google不仅依靠SPF,而且还依靠DKIM以及最终的DMARC来评估电子邮件。DMARC同时考虑了SPF和DKIM签名。如果其中一个有效,则Gmail会接受该电子邮件,但是如果两个都失败(或软失败),则将明确表明该电子邮件可能是欺诈性的。

这是从Google的DMARC页面

一条消息必须同时通过SPF和DKIM检查,才能使DMARC也失败。使用这两种技术的单次检查失败都会使邮件通过DMARC。

因此,我认为建议在软失败模式下使用SPF,以使其进入更大的邮件分析算法。


1
非常有趣,尽管我看不出从前提得出的结论。如果DMARC可以通过SPF FAIL或SPF SOFTFAIL传递,那么选择哪一个无关紧要?
Michael Kropat 2015年

4
我认为,如果将SPF记录设置为FAIL,它甚至都不会进入DMARC评估...但是我可能会误会。规格尚不明确...
达尔文,2015年

广告SPF失败与SoftFail: a)对于未实施DMARC的用户而言很重要b)即使DMARC仅通过SPF失败也可能是将您的邮件标记为垃圾邮件的原因,而SoftFail并非如此。面值
VlastimilOvčáčík18年

ad SPF Fail防止DMARC评估:如果实施,则始终评估DMARC,因为a)如果SPF和/或DKIM通过,则DMARC需要检查对齐 b)如果两者均失败,则DMARC需要更新故障报告统计信息。
VlastimilOvčáčík18年

1

也许仍然使用softfail的原因是许多用户(正确或错误)设置了转发,例如从他们的工作电子邮件转发到家庭,如果启用了hardfail,这将被拒绝


2
如果他们在邮件管理员的建议下这样做,则应该使他们的电子邮件失败。
MadHatter在2013年

1
@MadHatter转发的电子邮件保留了其信封发件人,因此将检查来源的SPF记录(很可能失败),而不是雇主的SPF记录。如果雇主的邮件服务器更新了信封发件人,则它将更新为不会失败的值,因为转发和普通出站邮件之间就没有区别(就SPF而言)。
VlastimilOvčáčík18年

1
@VlastimilOvčáčík是正确的,或者换句话说,如果您采用SRS,则可以。如果您不这样做,那么您就不会,并且-all仅避开帮助他人破坏(即非SRS)转发设置的想法不是一个好主意。
MadHatter支持Monica
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.