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 / 问题 / 591655
Accepted
Jaap Joris Vens
Jaap Joris Vens
Asked: 2014-04-28 15:10:09 +0800 CST2014-04-28 15:10:09 +0800 CST 2014-04-28 15:10:09 +0800 CST

什么域名应该出现在 DKIM 签名中?

  • 772

我按照这些说明使用 Postfix 设置 OpenDKIM,它的工作原理与宣传的一样。我的外发邮件添加了 DKIM-Signature 标头,例如:

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=example.com; s=mail;
t=1398638300; bh=mk/7yYUxFCWz+ZHB0opJIA/S3J5ELoPZPfAO0KQdVg4=;
h=Date:From:To:Subject:From;
b=fPPfUliJUgA0re38nkJ2R18TeFgbamOv1U8nDb9958eTeAT6Mp7oq4WGrHPiPmc+b
mrLu9RuW0/S4d0ipkilNZDxgecwl7qttrDbTEkWxdhwwTSe5FL3OBaUoUxJFrMGjmY
RdBjY5ZWtvk29+gXZ+af5Of9OrY7COLlqGkFXRXw=

我的问题是关于d=上面的参数。如果一个邮件服务器处理多个虚拟域的外发邮件,d= 是否应该包含发送邮件的邮件服务器?还是应该是 From: 地址中出现的域?

我试图阅读关于这个主题的RFC 6376,但我发现的唯一相关位是:

  d= The SDID claiming responsibility for an introduction of a message
  into the mail stream [...]  The conventions and semantics used by a Signer to
  create and use a specific SDID are outside the scope of this specification

我希望这里有人知道在实践中如何使用 d= 参数。

postfix
  • 5 5 个回答
  • 5280 Views

5 个回答

  • Voted
  1. Russell Stuart
    2014-04-28T16:09:15+08:002014-04-28T16:09:15+08:00

    您从错误的角度看待问题 - 发件人的角度。您应该从接收器的角度来看它。

    因此,假设我们有一个 [email protected] 通过邮件服务器 random.com 向我们发送消息。我们对这两个领域一无所知。来自 [email protected] 的电子邮件中来自 foo.com 的签名是否告诉您任何信息?显然它确实如此,因为 foo.com 可以对它控制的电子邮件帐户发表一些看法。来自 [email protected] 的电子邮件中来自 random.com 的签名告诉您什么?很少。random.com 可以由垃圾邮件发送者控制,发送声称来自 [email protected] 的垃圾邮件以通过您的过滤器。因此,如果您对 random.com 一无所知,它的签名也毫无意义。

    此外,请记住允许电子邮件包含多个 DKIM 签名。因此,如果您运行一个邮件列表,发送到该列表的消息可能在 From 标头中包含来自域的签名。邮件列表也可能由他们签名,使用信封中显示的列表域。两者都为接收者提供有用的信息,帮助他们决定是否信任该消息。

    • 7
  2. Håkan Lindqvist
    2014-04-28T21:28:13+08:002014-04-28T21:28:13+08:00

    在 DKIM 中,不要求该d=值(或相关i=值)与消息中的任何其他标头匹配。DKIM 本身仅对签名者进行身份验证,而不是对发送者进行身份验证,将其留给接收者来实施一些策略以使此信息有用。

    DMARC 允许发件人域为 DKIM 指定策略,使 DKIM 签名对收件人更有用。使用 DMARC和d=标From:头必须匹配(完全匹配或允许子域,取决于指定的严格性)。

    对于 OpenDKIM,您需要查看SigningTable和KeyTable配置指令以正确处理多个域。

    • 6
  3. Best Answer
    BillThor
    2014-04-28T20:13:09+08:002014-04-28T20:13:09+08:00

    来自发件人域的DKIM签名是最可靠的,并且可能是发件人的电子邮件策略所要求的。随着引入,DMARC域现在可以针对不符合该策略的电子邮件发布具有所需操作的策略。

    DKIM旨在匹配标头中的发件人,该发件人可能不是信封发件人。 SPF验证信封发件人使用发送服务器为域发送邮件的权限。 DMARC将两者联系在一起,以提供更好的政策框架。

    所有这三种机制都要求在相关域的 DNS 树中发布数据。

    DKIM来自第三方的信息仅表明签名内容在该域签名后是否已被修改。这可能对否认有用,但对发件人的声誉没有用。

    • 3
  4. hassansin
    2014-04-28T17:17:51+08:002014-04-28T17:17:51+08:00

    DKIM 是基于域的。它仅说明电子邮件的签名域。如果您使用 d=esp.com 即 Email Service Provider 的域,那么接收邮件系统将使用 esp.com 的信誉来决定电子邮件。如果使用 d=customer.com(例如 From: 地址的域),则将使用 customer.com 的信誉分数。因此,如果 esp.com 具有很高的声誉,那么使用 d=esp.com 将是明智之举。否则坚持使用 d=customer.com

    来自RFC 8376标准:

    验证签名后,必须将该信息传达给身份评估者(例如明确的允许/白名单和信誉系统)和/或最终用户。如果 SDID 与 From: 标头字段中的地址不同,邮件系统应该努力确保实际的 SDID 对读者来说是清楚的。

    SDID : 签名域标识符 (=d)

    更新:

    更多关于基于作者的签名与来自d​​kim.org 规范的第三方签名:

    其域与 RFC5322.From 地址的域不匹配的签名有时称为第三方签名。...虽然关于第三方签名的价值经常有激烈的争论...

    对于某些人来说,与作者域(RFC5322.From 地址中的域)无关的签名不太有价值,因为假设作者签名的存在保证了对 RFC5322.From 标头中地址的使用是授权的.

    对于其他人来说,这种相关性与分配给相关身份的记录的行为数据密切相关,即其信任评估或声誉......因此,促进传递包含具有域的有效签名的消息的风险较低强大的正面声誉,与该域是否与消息的 RFC5322.From 标头字段中的地址相关联无关。

    • 1
  5. kasperd
    2014-04-28T16:07:39+08:002014-04-28T16:07:39+08:00

    查看来自 Gmail 的几封邮件,我发现d包含信封发件人域的参数。因此,MAIL FromSMTP 命令中使用的地址就是d参数中使用的地址。

    我想不出比使用信封发件人更有意义的任何其他方式来决定域。

    • 0

相关问题

  • Postfix 在特定端口上接受邮件

  • 让 Postfix 以两种方式处理垃圾邮件

  • Postfix 或 exim:自动/程序化和转发电子邮件设置

  • 后缀电子邮件地址

  • 什么是最好的开源电子邮件解决方案包

Sidebar

Stats

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

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

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

    • 9 个回答
  • Marko Smith

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

    • 3 个回答
  • Marko Smith

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

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +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