使用 SPF/DKIM 发送电子邮件的安全性,但未签名

信息安全 电子邮件 电子签名
2021-08-15 04:23:40

我们正在使用电子邮件发送服务(众所周知)来发送我们的电子邮件。我们对 DNS 进行了更改,以便通过它们的电子邮件能够通过 SPF 和 DKIM。

几天前,我们注意到他们允许任何与他们在一起的帐户代表不属于该帐户的域发送电子邮件。例如,假设我的域是 mycompany.com,现在我想将 mycompetitor.com 添加到我的帐户中。这项服务现在允许我从@mycompetitor.com 发送电子邮件。

我向他们提出了这个问题,他们的解决方案是不再“签署”电子邮件,但仍然允许我添加我想要的任何域。所以现在我仍然可以从@mycompetitor.com 发送邮件,只是Gmail 会显示“via email-sending-service.com”。SPF 和 DKIM 仍然会通过,并且电子邮件不会被标记为垃圾邮件。

那么,我是不是偏执狂?我觉得使用此电子邮件服务将允许任何拥有帐户的人发送看起来像是来自我们的电子邮件。

他们认为这是“标准做法”,任何有盒子的人都可以这样做。但是,在这些情况下,SPF/DKIM 还会通过吗?

我觉得通过更改 DNS,我授权这家电子邮件发送公司代表我发送电子邮件,然后该公司继续并允许任何拥有帐户的人代表我发送电子邮件(没有签名部分);我下班了吗?

谢谢

1个回答

您域上的SPF并不是要防止发送伪造的电子邮件;这是关于防止其他人使用您的发送电子邮件更准确地说,如果您拥有 domain foo.com,则可以在 SPF 中记录“每封声称来自@foo.com 地址的电子邮件都应该从机器中退出,smtp.foo.com而不是其他”。电子邮件服务器收到带有@foo.com地址的所谓发件人的电子邮件,然后可能会查找 SPF 记录并检查电子邮件是否来自合法服务器(您的)或其他服务器。

SPF 处理不是强制性的,因此由每个电子邮件服务器自行执行。

您域 ( foo.com) 上的 SPF 记录不会阻止您发送带有虚假地址的电子邮件,例如以 . 结尾的地址@bar.com在这种情况下,重要的是bar.com域上的 SPF 记录。

DKIM也有类似的目标。您的服务器使用 DKIM 时,它会对通过它的每封电子邮件进行签名。您的域的 DNS 记录了这一事实,并发布了公钥(用于验证签名的密钥)。假设,当电子邮件服务器收到一封带有@foo.com发件人的电子邮件时,该服务器将在 DNS 中看到您的 DKIM 密钥,从而验证签名。如果签名不存在或与邮件内容不对应,则接收电子邮件服务器将知道有问题。

同样,DKIM 处理取决于每个电子邮件服务器。而且,同样,您域中的任何内容都不会阻止您@bar.com以所谓的发件人身份发送电子邮件 - 但如果bar.com所有者自己使用 DKIM,您的伪造将被揭露。

摘要:与 SPF 和 DKIM 相关的 DNS 规则,添加到域中,记录了当电子邮件假装由具有地址foo.com的人发送时,通常应该如何发送/签名中的 DNS 规则对声称来自另一个域的电子邮件一无所知。@foo.comfoo.com