SPF、DKIM、DMARC 如何推动电子邮件交付和安全性

已发表: 2022-11-28

三个电子邮件身份验证标准协同工作,以提高发件人的电子邮件送达率和收件人的电子邮件安全性。

发件人政策框架 (SPF)、域密钥识别邮件 (DKIM) 和基于域的消息身份验证、报告和一致性 (DMARC) 有助于确保从您的公司发送的电子邮件是真实的,并且恶意行为者不会欺骗或以其他方式篡改他们。

SPF、DKIM、DMARC

SPF、DKIM 和 DMARC 向接收电子邮件服务器表明给定邮件是从授权 IP 地址发送的,发件人是真实的,并且发件人对其身份是透明的。

让我们依次来看每一个。

为您的域设置 SPF 记录涉及向域名系统 (DNS) 添加一种包含授权的外发邮件服务器列表的 TXT 记录。 SPF 验证来自您企业域的电子邮件来自经过身份验证的来源,而不是冒名顶替者。

DKIM 密钥由两部分组成:存储在 DNS 中的公钥和存储在发送邮件服务器中的私钥。 收件人的邮件服务器使用附加到每封外发电子邮件的 DKIM 签名来验证其真实性。 DKIM 还可以指示给定的电子邮件信息是否已被更改。

DMARC 是一种策略机制,允许公司控制在未通过 SPF 或 DKIM 身份验证时应如何处理来自其域的传入电子邮件。 选项是“拒绝”、“隔离”或“无”。 如果有不法行为者试图使用您的域,这就像一个警钟。

SPF 记录

设置 SPF 记录需要在注册商处访问您域的 DNS 记录,例如 GoDaddy 或类似的。 如果您曾经不得不验证您的域或将其移动到新服务器,您可能更新了它的 DNS 记录。

Screenshot of an SPF record in a DNS settings interface

SPF 记录只是您域的 DNS 中的 TXT 记录。

SPF 记录的类型为“TXT”。 它将从您使用的 SPF 版本开始。

 v=spf1

版本后跟授权的 IP4 或 IP6 地址列表,如下所示:

 v=spf1 ip4:192.168.0.1

此 SPF 记录将授权来自 192.168.0.1 IP 地址的电子邮件。 要允许一定范围的 IP 地址,您可以使用无类域间路由 (CIDR) 表示法(有时称为“斜杠”表示法)。

 v=spf1 ip4:192.168.0.0 /16

上面的 SPF 记录将授权从 192.168.0.0 到 192.168.255.255 的 IP 地址范围——这就是“/16”所表示的。

使用前缀“a”,SPF 记录可以按名称授权域。 下面的记录授权与 example.com 域关联的服务器。

 v=spf1 a:example.com

同样,前缀“mx”(“邮件交换”)授权特定的邮件服务器。

 v=spf1 mx:mail.example.com

要授权第三方发件人,请使用前缀“include”。 下面的示例同时允许 IP 范围和 Google 服务器。

 v=spf1 ip4:192.168.0.0/16 include:_spf.google.com

还有两个 SPF 限定符。 第一个是带有波浪号 (~) 的 ~all。 第二个是 -all 带有连字符 (-)。

波浪号版本 (~all) 是软失败限定符。 在大多数情况下,接收电子邮件服务器将接受来自不在相关 SPF 记录中但认为可疑的发件人的邮件。

连字符版本 (-all) 是 hard-fail 限定符。 接收电子邮件服务器可能会将来自未在 SPF 记录中授权的服务器发送的邮件标记为垃圾邮件并拒绝它们。

最后,所有这些都可以一起用于相对复杂的授权。

 v=spf1 ip4:192.168.0.0/16 a:example.com include:_spf.google.com

请记住,SPF 记录可帮助接收电子邮件的服务器识别来自贵公司域的真实电子邮件。

DKIM 密钥

DKIM 保护您的域并帮助防止任何人冒充您的公司。 这两个 DKiM 密钥允许收件人的电子邮件服务器验证邮件是您的公司发送的,并且在您发送后没有被更改。

设置 DKIM 的第一步是生成密钥——一个公钥和一个私钥。 私钥在用于从您的域发送电子邮件的服务器上是安全的。 公钥作为 TXT 记录添加到 DNS。

棘手的部分是生成密钥,因为创建它们的确切过程因电子邮件服务提供商而异。 如果您的公司托管自己的邮件服务器,那就完全不同了。

电子邮件服务提供商提供说明。 这里有几个例子,排名不分先后。

  • Mailchimp:设置电子邮件域身份验证,
  • Klaviyo:如何设置专用发送域,
  • Zoho Campaigns:如何验证我的域,
  • MailerLite:电子邮件域身份验证,
  • 活动家:DKIM、SPF 和 DMARC,
  • ConvertKit:使用经过验证的域发送电子邮件,
  • MailUp:最大限度地提高电子邮件的送达率,
  • ActiveCampaign:SPF、DKIM 和 DMARC 身份验证,
  • 基普:DKIM。

在每种情况下,当您将电子邮件提供商的 CNAME 记录添加(复制并粘贴)到您域的 DNS 时,DKIM 就完成了。 此记录代表用于验证您公司的出站电子邮件营销消息的公钥。

DMARC

DMARC 提供了另一层保护,并指示电子邮件服务器如何处理未通过 SPF 或 DKIM 身份验证的邮件。

DMARC 的基础是放置在您域的 DNS 中的 TXT 记录。 这将包含至少包含两个元素的 DMARC 政策:

  • 用于接收电子邮件身份验证汇总报告的电子邮件地址,以及
  • 对未通过身份验证的电子邮件采取的操作(即拒绝或隔离)。

以下是 DNS 中的 DMARC TXT 记录示例:

 v=DMARC1; p=隔离区; rua=mailto:[email protected]; ruf=mailto:[email protected]

记录以 DMARC 版本开头。

 v=DMARC1;

“p”元素为未通过身份验证的电子邮件分配操作。 在这种情况下,它被设置为“隔离区”,它指示接收服务器将此类邮件移至暂存区。 其他选项包括“无”——它不会停止电子邮件,但会监控 SPF 或 DKIM 故障——或“拒绝”。

 p=隔离区;

前缀“rua”和“ruf”告诉接收服务器将聚合报告(rua - 聚合数据的报告 URI)和取证报告(ruf - 失败数据的报告 URI)发送到哪里。 这些报告可以揭露试图冒充您的企业的罪犯。

其他修饰符包括:

  • pct — 受 DMARC 策略约束的电子邮件的百分比。
  • sp — 子域的 DMARC 策略。
  • adkim — 为 DKIM 分配严格 (adkim:s) 或宽松 (adkim:r) 模式。
  • aspf — 为 SPF 分配严格 (adkim:s) 或宽松 (adkim:r) 模式。

第三方服务可以帮助生成基于官方标准的 DMARC 记录。 这些服务包括:

  • MX工具箱,
  • 电源DMARC,
  • 马克西恩,
  • 易DMARC。

保护发件人和收件人

为您的域设置 SPF、DKIM 和 DMARC 记录可确保电子邮件服务器将来自您公司的邮件识别为真实邮件并拒绝冒名顶替者。 结果可以保护您公司的声誉,并保护客户免受网络钓鱼攻击和其他类型的电子邮件欺诈。