超过90%的网络攻击始于伪造的电子邮件。攻击者仿冒可信域名、发送有害信息、诱骗点击链接和窃取数据。一旦发生,品牌可能失去信任、遭受财务损失并损害声誉。企业需要强有力的手段来证明其邮件真实性。此时DMARC就能发挥作用。DMARC帮助电子邮件接收方确认来自您域名的邮件是真实的。它让仿冒变得困难,并提升邮件送达率。本指南将阐述什么是DMARC,如何与SPF/DKIM协同工作,以及通过五个简单步骤完成配置。您还可以学习如何解读DMARC报告,并逐步过渡到完全保护。
什么是DMARC记录?
DMARC记录是一种存储在域名DNS设置中的DNS TXT记录。它指示Gmail、Outlook、雅虎等邮件服务在收到的邮件未通过SPF或DKIM检查时应如何应对。
DMARC定义
DMARC(基于域的消息认证、报告和一致性)是一项策略,它规定了接收服务器应如何处理那些“假冒您自己域名”发送且未通过电子邮件认证的邮件。
DMARC的目的
DMARC旨在:
- 防止攻击者利用您的域名发送伪造邮件
- 保护品牌声誉
- 提高送达率,让收件人信任经过验证的邮件
- 获取关于他人利用您域名发送邮件的报告
关键DMARC术语:p=策略
DMARC策略指示邮件服务器如何处理未经授权的消息。
| 策略 | 含义 |
|---|---|
| p=none | 仅监控;不拦截。 |
| p=quarantine | 将可疑邮件发送到垃圾邮件文件夹。 |
| p=reject | 完全阻止可疑邮件。 |
许多公司从 p=none 开始,监控后过渡到隔离,最终转向拒绝。
DMARC如何与SPF和DKIM协同工作
DMARC与SPF和DKIM协同工作以验证邮件发送者的身份。SPF验证发送服务器的可靠性,DKIM确认邮件在传输中未被篡改。DMARC对两者的验证结果进行核查,并据此决定采取何种行动。这种协作能防止伪造邮件并提高送达率。
SPF:验证发送服务器
SPF检查邮件是否从域名授权的服务器发送。您需要创建一个SPF记录来列出授权的发送源。当未知或伪造的服务器发送邮件时,SPF会将其标记为可疑。这有助于在仿冒邮件到达用户之前将其拦截。
DKIM:确保邮件完整性
DKIM确认邮件在离开发送服务器后未被篡改。它会使用私钥生成的数字签名添加到邮件头中。接收服务器使用DNS上的公钥来验证签名。如果邮件内容被修改,DKIM验证将失败,从而保护域名免遭篡改邮件的侵害。
DMARC:最终的执行者
在SPF和DKIM验证之后,DMARC决定验证失败时的处理方式:
- 允许通过(p=none)
- 标记为垃圾邮件(p=quarantine)
- 完全拒绝(p=reject)
DMARC还会向您发送报告来源的通知,以便您识别利用您域名的发送者。
DMARC设置的五步指南
遵循清晰的步骤,DMARC设置其实很简单。在这份五步指南中,我们将按顺序解释每一步,从确认当前邮件设置到应用完全保护。按序进行,可以避免常见错误,并确保为您的域名应用强大的电子邮件身份验证。
第一步:部署前审计(打好基础)
在创建DMARC记录之前,您需要先设置好邮件环境。如果SPF或DKIM未正常工作,DMARC将失败。请确保在此步骤中一切运行顺畅。
审计您当前的SPF记录
使用DNS查询工具检查您的SPF记录。您必须确认:
- 记录存在
- 它包含了您所有的邮件发送服务
- 它没有超过10次查询的限制
- 没有使用"+all"或"?all"机制
一个基本的SPF记录如下所示:
v=spf1 include:mailserver.com -all
如果您使用了多个邮件服务,如Office 365、Google Workspace、CRM工具或新闻通讯平台,请确保每个服务都已列出。
验证您的DKIM配置
确保DKIM对所有的外发邮件流都有效。许多邮件提供商会自动生成DKIM密钥,但您需要将DKIM公钥发布到DNS。
请检查以下服务的DKIM:
- 主要邮件系统
- 营销平台
- CRM系统
- 交易邮件工具
DKIM必须有效并正确关联到您的域名。
识别所有合法的邮件发送者
列出所有使用您域名发送邮件的服务。这包括:
- 您的邮件提供商
- 销售和CRM工具(例如HubSpot、Zoho、Salesforce)
- 营销工具(例如Mailchimp、SendGrid)
- 账单系统或支持系统
- 自定义应用程序
记录每个服务的IP地址或域名。
此步骤可防止DMARC日后拦截合法的邮件。
第二步:生成您的DMARC记录(策略创建)
一旦SPF和DKIM设置正确运行,就可以开始创建DMARC记录。此步骤决定了邮件服务器应如何处理来自您域名的消息。从正确的策略开始,可以让您监控活动、及早发现问题并为将来的强化做好准备。
从监控策略开始(p=none)
始终从 p=none 开始。
这会告知邮件接收方:
- 检查SPF和DKIM
- 向您发送报告
- 暂时允许所有邮件通过
此阶段有助于您收集数据,而不会冒丢失邮件的风险。
示例:
v=DMARC1; p=none; rua=mailto:dmarc-reports@yourdomain.com;
配置聚合报告(rua)
rua标签设置接收每日XML格式报告的电子邮件地址。报告显示:
- 使用您域名发送邮件的服务器
- SPF和DKIM的通过/未通过结果
- 发送的消息总量
使用一个专用的邮箱。示例:
rua=mailto:dmarc@yourdomain.com
可选配置取证报告(ruf)
取证报告会显示个别失败的邮件样本。有助于快速检测真实的攻击。
但是,一些提供商出于隐私规则限制发送ruf报告。
示例:
ruf=mailto:dmarc-forensic@yourdomain.com
如果您希望获得更详细的可见性,可以包含此设置。
第三步:在您的DNS中发布DMARC记录(实施)
创建DMARC记录后,必须将其添加到您域名的DNS中,以便邮件提供商能够读取并应用该策略。此步骤将启用DMARC。只需登录DNS面板,创建一个TXT记录并粘贴DMARC设置即可。保存后,策略即开始生效。
访问您域名的DNS管理控制台
登录以下之一:
- 域名注册商(GoDaddy、Namecheap)
- 托管服务提供商(Cloudflare、Hostinger)
- DNS提供商(DNSMadeEasy、AWS Route 53)
找到添加TXT记录的选项。
为DMARC创建新的TXT记录
主机名必须为:
_dmarc.yourdomain.com
如果输入其他格式,DMARC将无法工作。
输入您的DMARC记录值
粘贴您在第二步中创建的完整DMARC记录。
基本记录示例:
v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com;
保存记录并等待DNS更新。传播可能需要长达24小时。
第四步:分析报告并优化配置(监控阶段)
这一步至关重要,因为通过分析报告并采取对策,DMARC才能首次真正发挥作用。报告显示了发送者、从您域名发送邮件的成功与失败情况,以及问题所在。您可以使用这些数据来修复问题并改进电子邮件身份验证设置。
解析和解读聚合报告
聚合报告以XML格式提供,手动阅读可能比较困难。
使用DMARC分析工具将其转换为可读的图表。
报告显示:
- 所有向您域名发送邮件的服务器
- 身份验证结果
- 失败案例和未知来源
快速检查是否存在可疑点。
识别并授权未知发送者
如果报告中出现未知来源的邮件:
- 验证是否为忘记配置的合法服务
- 如果是合法服务,则将其添加到SPF或DKIM中
- 如果是未知来源,则予以阻止
这就是DMARC防止仿冒的方式。
衡量您的合规率
在转向更严格的策略之前,您需要保持较高的合规率。
目标如下:
- SPF的对齐率达到95%以上
- DKIM的对齐率达到95%以上
如果成功率较低,请在进入下一阶段之前修复电子邮件身份验证问题。
第五步:逐步实施更严格的策略(实时保护)
在监控报告并修复所有对齐问题后,您可以开始应用更强的DMARC策略。在此阶段,只有经过验证的邮件才能通过检查,从而提升实际保护效果。循序渐进可以避免在拦截恶意发送者的同时误伤合法邮件的风险。
过渡到隔离策略(p=quarantine)
指示您的邮件提供商将可疑消息视为垃圾邮件处理。
示例:
v=DMARC1; p=quarantine; rua=mailto:dmarc@yourdomain.com;
再次监控报告至少1-2周。
转向完全拒绝(p=reject)
在情况稳定后,更新策略以完全拒绝未通过验证的邮件。
示例:
v=DMARC1; p=reject; rua=mailto:dmarc@yourdomain.com;
这是最强大的保护级别,可以防止攻击者利用您的域名。
保持持续监控
在达到 p=reject 后:
- 持续查看每日报告
- 留意团队开始使用的新服务
- 根据需要更新SPF/DKIM
- 在软件更新后复查变更
DMARC的设置并非一劳永逸。需要持续监控以维持安全性。
需要避免的常见新手错误
许多新手在设置DMARC时会遇到一些常见问题。这些错误会导致邮件发送失败或保护功能减弱。幸运的是,只要多加注意,大多数错误都是可以避免的。尽早了解这些典型错误,可以让您顺利设置DMARC并保持域名安全。
跳过SPF/DKIM设置
如果未设置SPF或DKIM,DMARC将无法正常工作。由于DMARC依赖这些结果进行邮件验证,因此两项记录都必须有效。如果任何一项缺失,DMARC会将许多邮件标记为未经验证,从而导致送达问题或使防范域名仿冒变得困难。
过早使用 p=reject
如果未经监控就迁移到 p=reject:
- 可能导致合法邮件被拦截
- 客户可能无法收到消息
- 送达失败的原因可能难以查明
务必从 p=none 开始。
忽视DMARC报告
如果您忽略报告:
- 无法发现潜在问题
- 错过攻击尝试
- 无法识别谁在利用您的域名
- 无法进行完整性的改进
报告是DMARC的核心。
结论
DMARC通过对所有外发邮件应用SPF和DKIM检查,为您提供强大的域名仿冒防护。它验证每封邮件的真实性和来源是否经过授权,从而实现整个邮件生态的可靠性和送达率提升。最安全的方法是先从 p=none 开始,监控所有报告并修复对齐问题。一切稳定后,可以过渡到隔离以提升安全性,最终转向拒绝。如果您在任何阶段需要协助,我们的邮件安全团队将为您提供免费审计。检查您的SPF、DKIM和DMARC设置,并指导您走向完全保护之路。






