你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本文提供有关 DNS 记录以及如何使用发件人身份验证方法来帮助防止攻击者发送看似来自你的域的邮件的电子邮件发送最佳做法。
电子邮件身份验证和 DNS 设置
发送电子邮件需要几个步骤,包括验证电子邮件的发件人是否实际拥有域、检查域信誉、病毒扫描、垃圾邮件筛选、网络钓鱼尝试、恶意软件等。 配置适当的电子邮件身份验证是建立电子邮件信任和保护域信誉的基本原则。 如果电子邮件通过了身份验证检查,则接收域就可以根据已经为那些与这些身份验证检查关联的标识建立的声誉对该电子邮件应用策略。 收件人可以确信这些标识是有效的。
MX(邮件交换)记录
MX(邮件交换)记录用于将电子邮件路由到正确的服务器。 它指定负责代表域接受电子邮件的邮件服务器。 DNS 需要使用电子邮件域 MX 记录的最新信息进行更新,否则会导致某些传递失败。
SPF (发件人策略框架)
SPF RFC 7208 是一种机制,允许域所有者通过标准 DNS TXT 记录发布和维护一份允许代表他们发送电子邮件的系统清单。 此记录用于指定哪些邮件服务器有权代表域发送电子邮件。 这有助于防止电子邮件欺骗并提高电子邮件交付能力。
DKIM(邮件域密钥识别)
DKIM RFC 6376 允许组织以收件人可以验证的方式声明传输邮件的责任。 此记录还用于对电子邮件发送的域进行身份验证,并帮助防止电子邮件欺骗并提高电子邮件传递能力。
DMARC (基于域的消息身份验证、报告和符合性)
DMARC RFC 7489 是一种可缩放的机制,邮件发起的组织可以表达邮件验证、处置和报告的域级策略和首选项。 邮件接收组织可以使用 RFC 7489 改进邮件处理。 还可以使用 RFC 7489 指定电子邮件接收方如何处理 SPF 和 DKIM 检查失败的邮件。 这提高了电子邮件可交付性,有助于防止电子邮件欺骗。
ARC (经过身份验证的接收链)
ARC 协议 RFC 8617 提供了一个消息的认证保管链,使得每个处理该消息的实体可以识别出先前处理过该消息的实体,并在每个跳点处进行消息的身份验证评估。 ARC 尚不是互联网标准,但采用率正在增加。
电子邮件身份验证的工作原理
电子邮件身份验证用于验证发件人(例如,notification@contoso.com)发送的电子邮件是否合法,并且这些电子邮件是否来自该电子邮件域的预期来源(例如,contoso.com)。
电子邮件可能包含多个发起方或发件人地址。 这些地址用于不同的目的。 例如,请考虑以下地址:
发件人地址标识发件人,并指定如果邮件递送出现问题(如未送达通知),应将返回通知发送到哪个位置。 返回通知显示在电子邮件的信封部分中,不会由电子邮件应用程序显示。 这有时称为 5321.MailFrom 地址或反向路径地址。
发件人地址是被邮件应用程序显示为发件人地址的地址。 此地址标识电子邮件的作者。 也就是说,负责撰写邮件的人员或系统的邮箱。 这有时称为 5322.From 地址。
发件人策略框架 (SPF) 有助于验证从邮件从域发送的出站电子邮件(来自邮件中声明的人员)。
域密钥识别邮件 (DKIM) 有助于确保目标电子邮件系统信任从域发送的出站邮件。
基于域的邮件身份验证、报告和一致性(DMARC)与发件人策略框架(SPF)和 DomainKeys 标识邮件(DKIM)配合使用,对邮件发件人进行身份验证。 此方法可确保目标电子邮件系统对从您的域发送的邮件的信任度。
实现 DMARC
使用 SPF 和 DKIM 实现 DMARC 可提供针对欺骗和钓鱼电子邮件的丰富保护。 SPF 使用 DNS TXT 记录提供给定域的授权发送 IP 地址的列表。 通常,SPF 检查仅针对 5321.MailFrom 地址执行。 这意味着使用 SPF 本身时,5322.From 地址不会进行身份验证。 这样,用户可能会收到一封通过了 SPF 检查、但使用了欺骗性 5322.From 发件人地址的邮件。
与 SPF 的 DNS 记录一样,DMARC 的记录是一个 DNS 文本(TXT)记录,有助于防止欺骗和钓鱼。 在 DNS 中发布 DMARC TXT 记录。 DMARC TXT 记录通过验证电子邮件中发送者的 IP 地址与发送域的据称所有者是否匹配来确认电子邮件的来源。 DMARC TXT 记录标识授权的出站电子邮件服务器。 然后,目标电子邮件系统可以验证他们收到的邮件是否源自经授权的出站电子邮件服务器。 这会导致从贵域名发送的所有电子邮件中,5321.MailFrom 地址与 5322.发件人地址之间出现不匹配,并导致这些电子邮件的 DMARC 验证失败。 若要避免这种情况,需要为域设置 DKIM。
DMARC 策略记录使域能够宣布其电子邮件使用身份验证。 策略记录提供了一个电子邮件地址,用于收集有关其域使用情况的反馈。 策略记录还指定请求的策略来处理未通过身份验证检查的消息。 我们建议:
- 发布 DMARC 记录的域的策略声明尽可能为“p=reject”,否则为“p=quarantine”。
- 将“p=none”、“sp=none”和 pct<100 的策略声明视为过渡状态,目标是尽快将其删除。
- 任何已发布的 DMARC 策略记录都应至少包括一个
rua
标记,该标记指向用于接收 DMARC 聚合报表的邮箱,在收到因隐私问题而收到报告时,不应发送回复。
后续步骤
相关文章
- 熟悉电子邮件客户端库。
- 如何使用自定义验证域发送电子邮件? 添加自定义域。
- 如何使用 Azure 托管域发送电子邮件? 添加 Azure 托管域。