AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 4354
Accepted
Peter Boughton
Peter Boughton
Asked: 2009-05-05 14:15:25 +0800 CST2009-05-05 14:15:25 +0800 CST 2009-05-05 14:15:25 +0800 CST

如何为服务器上的多个域配置 SPF?(也允许 gmail 作为发件人)

  • 772

SPF(发件人策略框架)似乎是打击垃圾邮件发送者/欺骗的好方法。

但是,尽管多次阅读解释,我还是不太了解如何正确配置它。


假设我有我的服务器在哪个a.x.com主机www.x.com等等。b.x.comc.x.com

我也有a.co.uk b.net c.info等等,每个都有各种各样的子域,都托管在x.com

对于所有这些域和子域,我想允许从a.x.com

我还希望他们都允许从 Gmail 向所有这些域发送邮件。

如何使用 SPF 进行设置?

我可以为x.com(或a.x.com)设置一个 SPF 记录,然后为其他所有内容设置一个简单的包含/指向x.com记录的指针,还是需要以不同的方式完成?

任何人都可以为上述示例提供一些 SPF 记录吗?


注意:我的问题的第二部分已得到解答(使用“ v=spf1 include:x.com -all”来包含/指向x.com的记录),但设置内容的关键部分x.com仍未得到解答......

domain-name-system email spam spf
  • 5 5 个回答
  • 17540 Views

5 个回答

  • Voted
  1. Best Answer
    Mihai Limbăşan
    2009-05-10T00:34:48+08:002009-05-10T00:34:48+08:00

    您无法避免更改 x.com 以外的域的区域文件,但您可以通过定义托管在一个域上的通用策略并redirect在其他域上使用 SPF 关键字来为自己省去很多麻烦。例子:

    • 在x.com域的区域文件中:
    _policy1 IN TXT "v=spf1 a:axcom -all"
    _policy2 IN TXT "v=spf1 包括:_spf.google.com a:axcom -all"
    

    _spf.google.com是保存 Gmail SPF 记录的记录。不确定它是否记录在案。理论上你应该include:gmail.com,但这是一个重定向,_spf.google.com并且至少有一个广泛使用的 qmail SPF 补丁没有正确遵循它(在 2008 年 8 月得到修复,但可能仍会部署。)这两个策略是示例,当然 -在调试时,拥有多个不同级别的严格性非常有用,因为您只需更改目标域中的短名称,而不是容易出错的复制粘贴。

    • 在其他域的区域文件中:
    @IN TXT "v=spf1 重定向=_policy1.x.com"
    

    或者

    @IN TXT "v=spf1 重定向=_policy2.x.com"
    

    等等。我使用redirect, notinclude来使 SPF 检查将当前评估的记录完全替换为我要重定向到的记录。include不这样做 - 例如, an-all末尾的 aninclude不会导致评估停止(include这是一个很大的用词不当。)include当你想从另一个域“别名”一个 SPF 记录时,你应该避免使用,因为它非常脆弱 -如果您不小心忘记了尾随 -all,您可能会导致该域上的整个 SPF 无效。

    编辑:但请注意,如果您想允许 Gmail 的服务器作为发件人,您需要保持警惕。Gmail chaptcha 已被破解,这意味着可以自动化帐户注册,这意味着 Gmail 可以(间接)用作开放中继(我每周收到数十个垃圾邮件机器人注册请求,用于我的公司讨论论坛,全部使用gmail.com 电子邮件地址 - 这些地址是实时的,我允许其中一些地址进行检查。)此外,任何拥有 Gmail 帐户的人都可以绕过 SPF 检查,如果熟悉您域中电子邮件地址的 uwsername 部分.

    • 7
  2. womble
    2009-05-05T14:51:38+08:002009-05-05T14:51:38+08:00

    是的,您可以将来自您的一个域的配置包含在所有其他域的 SPF 记录中。将其他域的 SPF 记录设置为以下内容应该可以解决问题:

    v=spf1 include:x.com -all
    
    • 4
  3. Avery Payne
    2009-05-05T14:32:05+08:002009-05-05T14:32:05+08:00

    您是否尝试过使用http://www.openspf.org/上的网络工具?它可能会让你更容易处理这个......

    只需在右上角的框中输入您的域,然后单击“开始”按钮。从那里,您应该可以快速进行设置。

    • 2
  4. bortzmeyer
    2009-05-09T22:33:38+08:002009-05-09T22:33:38+08:00

    标准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"
    

    笔记:

    • 我没有添加 Gmail 电子邮件服务器,因为我不认识它们,请咨询 Gmail 人员
    • “a”代表“地址”(它不是DNS A 记录,它包括 IPv6)
    • 我根据 RFC 添加了 SPF 记录,尽管几乎所有实现都只使用 TXT 记录
    • 2
  5. Alnitak
    2009-05-05T14:35:54+08:002009-05-05T14:35:54+08:00

    是的,您需要将特定的 SPF 记录分别添加到每个域。

    原因是 DNS 中唯一(有用的)别名类型记录是CNAME记录。但是,该CNAME记录会导致RRset 中的所有RRtypes 发生别名 - 没有办法说“ CNAMESPF 记录而不是MX记录”

    • 1

相关问题

  • 内部名称解析

  • 针对大量邮件的 SMTP 服务的建议 [关闭]

  • 多操作系统环境的首选电子邮件客户端

  • Exchange 2007 的备份解决方案

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve