创建 DKIM 密钥提供给第三方,以便我们可以以他们的名义发送?

创建 DKIM 密钥提供给第三方,以便我们可以以他们的名义发送?

我们使用 o365/Exchange Online。我们所有的 SPF 和 DKIM 配置都适用于我们的域(包括第三方发件人)。

假设我们有一个合作伙伴,他拥有域名 XYZ123.com(有自己的邮件服务器),他们希望我们能够发送就像他们一样(来自我们的o365 Exchange)。

所以这与我过去在 DKIM 中所做的相反,并且找不到有关反向操作的信息。

如何为我们的邮件服务器生成/获取第三方 DKIM 签名(和选择器),以便为它们提供 TXT 记录(用于其 DNS)来授权我们欺骗 XYZ123.COM?

答案1

从合作伙伴的角度来看,当您是第三方邮件传递服务提供商时,如果他们希望您代表他们为域 XYZ123.com 发送电子邮件,则您需要与他们设置 CNAME 委派以使 DKIM 正常工作。

  1. 您为 DKIM 公钥 DNS 记录选择 2 个选择器(通常为 2 个,但可以更多)。选择器字符串是任意的,可以是任何在其 DNS 记录中唯一标识您的字符串。例如,如果您的公司名称是“MailHostABC”,您可以选择使用这两个选择器字符串:mailhostabc1 mailhostabc2

  2. 然后为两个选择器生成 DKIM 密钥对,每个选择器都需要一个密钥对。可以使用许多工具(如 ssh-keygen、Putty 或许多在线生成器)生成密钥对。

  3. 在您自己的域的 DNS 记录中,创建两个这样的 TXT 记录(假设您的域是 mailhostabc.com)

   selector1-XYZ123._domainkey.mailhostabc.com
   selector2-XYZ123._domainkey.mailhostabc.com

两个记录的 TXT 值将分别包含两个 DKIM 密钥对的公钥。例如,第一条记录的值如下:( "v=DKIM1; k=rsa; p=..."公钥附加在“=”符号后面)

以下是带有模拟公钥的 TXT 值:

   "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCehqKMB6znGXo/pC83mGObm8OWo4daBYBb9wqqDaflz7Mf9KW1oaUm9j7hQq7af7jha'jfasdjLJDSFJA;IOUERLKJW/QVHqYKlPX3hvYUohBxg//T0u0rK3OSJss3OrpkoRqd150ynYxwwLymsjIwODT7Gf9WZPcL86rdboSRm/ost4mwIDAQAB"
  1. 对于每个 DKIM 密钥对,您都要保留私钥并在 MTA 主机上进行配置,以便可以使用私钥对电子邮件进行签名。您要求管理 XYZ123.com 的 DNS 记录的合作伙伴(在本例中是您的客户)添加以下 2 个 CNAME 记录,这些记录指向上面创建的 TXT 记录
   CNAME record 1: selector1._domainkey.XYZ123.com
   points to: selector1-XYZ123._domainkey.mailhostabc.com

   CNAME record 2: selector2._domainkey.XYZ123.com
   points to: selector2-XYZ123._domainkey.mailhostabc.com

使用此设置,您的合作伙伴端无需进行持续维护。当您轮换 DKIM 密钥时,您只需使用新的私钥和公钥更新您的 MTA 主机和 TXT 记录。

问候。

相关内容