同一共享主机上的任何人都可以使用我的域在 SPF 和 DKIM 上通过 PASS 发送电子邮件吗?

问题描述

我有多个域指向共享托管平台的名称服务器,并且只使用一个名为 hello@domain-a.com 的地址来管理这些域的所有电子邮件,如一个例子。

因为所有这些域都在一个企业下运作,而且我不想管理多个帐户,所以这个地址也接收我其他域的所有电子邮件domain-b.comdomain-c.com 使用转发器。

有时我仍然需要更改发件人地址,这就是我使用 domain-a.com 在 Thunderbird 中设置身份的原因strong> 作为主机,hello@domain-b.comhello@domain-c.com 作为发件人地址。这样做时,我意识到我不需要在邮件服务器上创建这些帐户以及由 hello@domain-b.comhello@domain-c.com 在 SPF 和 DKIM 上都通过了 PASS。

这让我想知道,同一共享托管平台上的其他人(whois 检查显示有 600 多个其他域)是否也可以使用我的任何域发送电子邮件,并在 SPF 和 DKIM 上获得 PASS ,基本上使它在那个特定场景中毫无用处。

  1. 同一共享主机上的任何人都可以使用我的域在 SPF 和 DKIM 上通过 PASS 发送电子邮件吗?
  2. 为什么可以使用 domain-a.com 作为主机和 hello@domain-b.comhello@domain-c.com 作为 发件人地址,仍然以这种方式发送消息?我使用该方法发送的测试邮件不显示domain-a.com,而是显示发件人地址 在他们的标题中。这是正常行为吗?由于我没有为 domain-b.comdomain-c.com 设置任何个人帐户,老实说,我没想到这会奏效。

提前致谢。

解决方法

如果有人与您在同一台共享主机上,他们很可能拥有相同的 IP 地址,因此如果您的 SPF 包含该 IP,他们确实可以从您的域发送邮件。其本身的简单解决方案是不要那样做 – 不要将关键内容放在共享主机上。

下一步是 DKIM。 DKIM 与 IP 地址无关,从共享主机发送不会有任何影响,因此这是您抵御此类欺骗的最佳方法。 DKIM 签名由您的私钥签名(其他人应该无法访问,即使在共享主机上 - 尽管在那里比在您自己的服务器上风险更大)。因为他们看不到您的密钥,所以他们无法为您的域生成 DKIM 签名,因此他们尝试从您的域发送的邮件将不包含有效的 DKIM 签名,他们将不能获得 DKIM 通过结果。

可能是您的托管服务提供商也添加了他们自己的 DKIM 签名作为中介,尽管它会匹配他们的域,而不是您的域。您可以添加自己的以及可以包含多个 DKIM 签名的消息。

要强制将发件人地址与信封发送者(最终在接收者的返回路径标头中)对齐,您需要查看 DMARC,特别是 adkimaspf 参数。

另一种方法是不通过您的托管服务提供商发送邮件,而是通过其他邮件服务器发送邮件。这将使您拥有不包含托管服务提供商 IP 的 SPF 记录。但是,您可能会发现您不能这样做,因为低端主机往往会阻止出站 SMTP。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...