怎样设置DMARC记录

2024年2月6日 | 分类: 【软件】

怎样设置 Google Apps 邮箱的 SPF、DMARC、DKIM 等 DNS 记录?

参考:https://knowledge.workspace.google.com/kb/how-to-enable-spf-and-dkim-000008789

TXT

@
v=spf1 include:_spf.google.com -all

_dmarc
v=DMARC1; p=none; rua=mailto:[email protected]

Google Workspace Knowledge Center

How to enable

bookmark_border
Problem
Emails sent by a client are being tagged as spam.
Environment
Gmail
Solution

Enable Sender Policy Framework (SPF)

Login to the DNS dashboard in your domain host.
Add the following record to your domain:
Type: TXT
Name/Host: @ or domain name or leave it blank
TTL: default or 3600 seconds
Value:
v=spf1 include:_spf.google.com ~all

Generate DomainKeys Identified Mail (DKIM) record

Sign in to the Admin Console.
Navigate to Apps > Google Workspace > Gmail > Authenticate email.
In the Selected domain menu, select the domain where you want to set up DKIM.
Click Generate new record.
For DKIM key bit length select 1024.
For Prefix selector, we recommend you to select the default.
Click Generate.
Copy the DKIM values shown in the Authenticate email window.
Add DKIM to your domain host
Go to the DNS settings in your domain host.
Add a TXT record in your DNS Records and use the value generated in the Admin console.
Note: Wait for 48 hours before following the next step.
Turn on DKIM signing

Sign in to the Admin console.
Navigate to Apps > Google Workspace > Gmail > Authenticate Email.
In the Selected domain menu, select the domain where you want to turn on DKIM.
Click Start Authentication. Process finishes when the status at the top of the page changes to:

Status: Authenticating email with DKIM.

如何设置腾讯企业邮箱的DMARC呢?

参考:https://cloud.tencent.com/developer/article/1499175

DMARC,2012年1月30号由Paypal,Google,微软,雅虎等开发,相关内容有DMARC协议。

原始的[SMTP]没有要求验证发件人的合法性,导致垃圾邮件满天飞,所以SPF,DMI等相继诞生,但是并没有阻止欺诈垃圾邮件的扩大趋势

DMARC在这种背景下诞生了,联盟提交并推广一款[DMARC]新电子邮件安全协议,网易等随后加入

[DMARC]协议基于现有的[DKIM]和[SPF]两大主流电子邮件安全协议,由Mail Sender方(域名拥有者Domain Owner)在[DNS]里声明自己采用该协议。当Mail Receiver方(其MTA需支持DMARC协议)收到该域发送过来的邮件时,则进行DMARC校验,若校验失败还需发送一封report到指定[URI](常是一个邮箱地址)。

1.添加SPF记录

TXT记录值为:v=spf1 include:spf.mail.qq.com ~all

2.添加DMARC记录:

主机记录: _dmarc

记录类型:TXT

记录值: v=DMARC1; p=none; rua=mailto:[email protected]

DMARC记录里,有一个值可由你来自定义:

p:用于告知收件方,当检测到某封邮件存在伪造发件人的情况,收件方要做出什么处理;

p=none; 为收件方不作任何处理

p=quarantine; 为收件方将邮件标记为垃圾邮件

p=reject; 为收件方拒绝该邮件

QQ企业邮箱配置DKIM签名

网址:https://www.httpsmail.com/qq-dkim.html

DKIM (DomainKeys Identified Mail) 是一种防范电子邮件欺诈的验证技术,通过消息加密认证的方式对邮件发送域名进行验证。它能够帮助你的企业:

  1. 在邮件发送的过程中,防止邮件被恶意篡改,保证邮件内容的完整性;
  2. 避免对外发送的邮件被标记为垃圾邮件。

​登陆QQ企业邮箱管理后台,依此点击“管理工具” –> “基础功能” –> “DKIM验证” –> “立即配置”,然后根据提示添加DNS解析记录,添加完成后等待验证即可。

设置完成后可以通过网站https://www.learndmarc.com/查看结果。

域名邮箱真实性设置指南:DKIM、DMARC和SPF

参考:https://www.httpsmail.com/email-auth.html

密码重置、两步验证、商业机密、私人对话……电子邮件是大多数生活和商业活动的中心,因此我们必须确保它是可信和真实的。

如果你在使用自己的域名邮箱,证明邮箱真实性的工作就会转移到你自己的头上。本指南旨在为你提供所需的相关信息和实践操作,以保证你域名邮箱的真实性,并减少你受上当受骗的风险。

该指南将介绍域名邮箱安全的三个主要组成部分:用于签名的DKIM、用于发件人验证的SPF和用于更严格执行其他两个部分的DMARC。请确保你对DNS有基本的了解,并有使用域名邮箱的经验。

1. SPF

SPF,全称“Sender Policy Framework”,即“发送方策略框架”,是最基本的电子邮件验证技术之一,是最简单、最常见的保护。通常,服务提供商会提供DNS记录内容,您只需在设置过程中简单地复制、粘贴即可。

在DNS解析中,SPF的记录类型为 TXT。基本格式如下:

"v=spf1 include:spf.httpsmail.com -all"

SPF的核心是一个IP地址列表,被授权从你的域名发送邮件。除此之外,还有其它几种不同的选项:

  • include: 执行递归查找包括来自不同主机名的所有IP;
  • ip4或ip6: 直接引用ip地址;
  • a, mx, ptr, exists等: 不经常使用,暂时忽略;
  • all: 用于捕获所有匹配的IP地址。默认情况下,这主要用于封锁所有内容,我们将在下面进行详细解释。

以上面的地址spf.httpsmail.com为例,该网址下的所有A类型的解析记录通过include:选项包含在SPF策略之中。

除了ip地址和包含的主机名之外,还有其它限定符来作为选项的前缀。

每个符号都会向邮件服务器推荐一个不同的策略,默认情况下,如果没有符号,它被视为等同于“+”,即“通过”。(其它限定符可见:https://datatracker.ietf.org/doc/html/rfc7208#section-4.6.2,主要包括4个:+、-、~和?等,好像“~”用得较多,为“soft-failure”,字面意思是“软失败”,接收但是会标记)

在上面的示例中,主要有两个机制选项:

  1. include:spf.httpsmail.com: 包含该网址下的所有ip,没有限定符,所以默认为“+”,即通过,接收邮件;
  2. -all: 带有限制符“-”,即拒绝。

SPF是一个非常简单的工具,提供了基本的电子邮件验证(“允许哪些IP可以发送我的电子邮件”)来进行基本的垃圾邮件过滤。即使只是单独设置SPF,也会对你的邮件成功投递有很大帮助。

2. DKIM

DKIM,全称“Domain Keys Identified Mail”,即“域名密钥识别邮件标准”,另一种安全机制,通过使用非对称密钥以加密的方式验证为你域名邮箱发送邮件的服务器是否有权这样做。配置DKIM后,接收你邮件的服务器可以在DNS中查找公钥,并验证邮件是否从你的域合法发送。

DKIM可防止IP易手或大型服务提供商在客户之间共享IP空间。如果你说“谷歌IP可以发送我的电子邮件”,是什么阻止其他人从你的域中欺骗电子邮件并从他们自己的谷歌帐户发送?由于这些IP是共享的,所以它仍将通过SPF检查,但不会通过DKIM。

DKIM有两个主要部分:一个是带有公钥的DNS记录,另一个是添加到每个已发送电子邮件中的header(头部信息),其中包含加密签名和有关如何查找上述DNS记录的详细信息。

DKIM的DNS解析记录就是一个普通的TXT记录类型,但目前主要以CNAME记录类型为主,通用格式为:

<selector>._domainkey.<domain>

“selector”通常由您的电子邮件服务提供商设置,并在您启用DKIM时提供给您。一些提供商,如Fastmail和Microsoft 365,甚至提供多个选择器供您设置。例如,对于谷歌来说,它只是一个“google”:

google._domainkey.example.com

DKIM头部信息被添加在你所发送的每一封邮件中,包含的内容很多,但最主要的是以下两个部分(其它可见https://datatracker.ietf.org/doc/html/rfc6376#section-3.5):

  1. d=<domain>: 列出邮件发送的域名以备验证;
  2. s=<selector>: 与DNS中的子域名匹配。

通过这两段元数据,收件人的服务器可以重建包含DKIM密钥的子域并解析它,并根据此密钥以验证DKIM签名和消息是否真实。

DKIM是一个比SPF强得多的检测垃圾邮件的方法,因为它涉及到实际的数学运算,而不仅仅是一个IP列表。即使你的域名邮箱只配置了SPF和DKIM也已经非常不错了,但还可以更进一步。

3. DMARC

DKIM仅在邮件中有头部信息时才适用。这意味着非法消息将不会有头部信息,因此不会发生DKIM验证。这导致DKIM验证是“中性”的,而不是“失败”,因为它被简单地忽略了。

添加DMARC策略使我们能够

  • 强迫对声称来自我们域名的所有电子邮件执行SPF和DKIM检查;
  • 向接收服务器提示如何处理失败的检查;
  • 提供报告地址,以便我们可以从电子邮件提供商处接收有关这些检查的报告。

DMARC记录与其他两个记录的格式相同,而且非常简单。下面是一个非常基本的示例:

v=DMARC1; p=quarantine; adkim=s; aspf=s; rua=mailto: [email protected];

  • p=quarantine: 为处理未通过身份验证检查的电子邮件所设置的全局策略,可以是none,quarantine或reject,即不采取措施、将验证失败的邮件标记为垃圾邮件和拒收验证失败的邮件。
  • adkim=s: 强制执行DKIM检查的策略,可以是r或s,r为relaxed,宽松;s为strict,严格。
  • aspf=s: 强制执行SPF检查的策略,选项同adkim。
  • rua=mailto: 接收综合报告的邮箱地址,一般会以周为单位。

DMARC是现代电子邮件安全性中最强大的一部分,它的报告可以令人难以置信地洞察哪些垃圾邮件伪装成你。如果您从本指南中得到了什么,我希望您应该花时间和精力制定严格的DMARC政策。

4. 加餐

如果你的域名不想发送邮件,可以通过以下设置来防止垃圾邮件以你的名义发送出去。

  • SPF设置:v=spf1 -all
  • DMARC设置记录:v=DMARC1; p=reject; adkim=s; aspf=s;


本文翻译自:Email Authenticity 101: DKIM, DMARC, and SPF