SPF(发件人策略框架)似乎是打击垃圾邮件/欺骗的好方法。
但是,尽pipe多次阅读了解释,但我不太了解如何正确configuration它。
比方说,我有我的服务器在axcom主机www.x.com和bxcom和cxcom等。
我也有a.co.uk b.net c.info等等,每个都有各自的子域名,全部都在x.com托pipe
对于所有这些域和子域,我想允许从axcom发送邮件
我也希望他们都允许所有这些域从Gmail发送的邮件。
我如何设置SPF?
我可以为x.com (或axcom )设置一个SPFlogging,然后对于其他所有内容只需要一个简单的包含/指向x.comlogging的指针,还是需要以不同的方式完成?
任何人都可以为上面的例子提供一些SPFlogging?
注意:我的问题的第二部分已经被回答(使用“ v=spf1 include:x.com -all ”来包含/指向x.com的logging),但是在x.com上设置的关键部分仍然没有答案…
您无法避免必须更改x.com以外的域的区域文件,但可以通过定义托pipe在一个域上的通用策略并在其他域上使用redirect SPF关键字来节省很多麻烦。 例:
x.com域的区域文件中: _policy1 IN TXT“v = spf1 a:axcom -all” _policy2 IN TXT“v = spf1 include:_spf.google.com a:axcom -all”
_spf.google.com是持有Gmail SPFlogging的logging。 不确定是否logging在案。 理论上你应该include:gmail.com但是这是一个redirect到_spf.google.com ,至less有一个广泛使用的qmail SPF补丁没有正确的遵循(在2008年8月得到修复,但仍可能被部署。 )当然,这两个策略是例子 – 在debugging时,具有不同严格级别的多个策略是非常有用的,因为您只需在目标域中更改短名称而不是错误复制副本。
@ IN TXT“v = spf1 redirect = _policy1.x.com”
要么
@ IN TXT“v = spf1 redirect = _policy2.x.com”
等我使用redirect ,而不是include ,导致SPF检查完全replace当前评估logging与我redirect到。 include不这样做 – 例如,一个-all include在-all的结尾不会导致评估停止( include是一个大错名)。你应该避免使用include当你想“别名”从另一个域的SPFlogging,因为它非常脆弱 – 如果你不小心忘记了尾随,你可能会使整个域名的SPF无效。
编辑:请注意,如果你想允许Gmail的服务器作为发件人,你需要警惕。 Gmail chaptcha已被破解,这意味着可以自动进行帐号注册,这意味着Gmail可以(间接)用作开放中继(我的公司讨论论坛每周都会收到数十次spambot注册请求,所有使用gmail.com的电子邮件地址 – 而且这些地址是实时的,我已经允许一些检查目的。)另外,任何拥有Gmail帐户的人都可以绕过SPF检查,如果熟悉域中电子邮件地址的uwsername部分。
是的,您可以将来自其中一个域的configuration包含在所有其他域的SPFlogging中。 将其他域的SPFlogging设置为以下内容应该可以做到这一点:
v=spf1 include:x.com -all
你有没有尝试在http://www.openspf.org/使用networking工具? 这可能会让你更容易处理这个问题。
只需在右上angular的框中input您的域名,然后点击开始button。 从那里,你应该能够匆忙地安排事情。
标准RFC 4408提供了一些与你想要的非常接近的例子。 以下是x.com的zonefile的摘录:
@ IN TXT“v = spf1 a:axcom -all”
IN SPF“v = spf1 a:axcom -all”
www IN TXT“v = spf1 a:axcom -all”
IN SPF“v = spf1 a:axcom -all”
笔记:
是的,您需要将特定的SPFlogging分别添加到每个域。
原因是DNS中唯一的(有用的)别名typeslogging是CNAMElogging。 但是, CNAMElogging会导致RRset中的所有 RRtypes发生别名 – 没有办法说“ CNAME SPFlogging但不是MXlogging ”