内容提要
SPF、DKIM和DMARC是三个互联网标准,用于防止电子邮件伪造。SPF允许域管理员指定哪些邮件服务器被授权使用其域名发送电子邮件。DKIM为每封发出的电子邮件添加一个签名,接收服务器可以使用发送者的公钥进行验证。DMARC是一个电子邮件验证系统,结合了SPF和DKIM,用于保护域名免受电子邮件伪造的影响。它允许域所有者指定处理未通过SPF或DKIM验证的电子邮件的策略。还可以生成DMARC报告以分析和改进电子邮件传递策略。
延伸解读
邮件伪造的根源:信封与信头的分离
文章指出,电子邮件像传统邮件一样有“信封”和“信头”之分。信封信息(如Return-Path)用于服务器间路由,而用户只看到信头中的From地址。这种设计导致攻击者可伪造From地址,而信封信息可能完全无关。SPF、DKIM和DMARC正是为解决这一根本问题而设计,理解这一点有助于认识邮件验证的必要性。
SPF与DKIM的互补与局限
SPF通过DNS记录指定授权发送邮件的服务器IP,但只检查信封发件人(Return-Path),不检查信头From,因此可被绕过。DKIM为邮件添加数字签名,验证邮件完整性和来源,但允许使用任意域名签名,无法保证From地址的真实性。两者单独使用均存在漏洞,需结合DMARC的对齐机制才能有效防伪造。
DMARC对齐:严格与宽松模式的选择
DMARC通过对齐要求确保SPF和DKIM验证中使用的域名与From头中的域名一致。对齐有两种模式:宽松模式允许子域名匹配,例如From为example.com,Return-Path为sub.example.com可通过;严格模式则要求完全一致。域所有者可根据安全需求在DMARC记录中通过aspf和adkim参数配置,平衡安全性与灵活性。
DMARC报告:监控与优化邮件策略
DMARC允许域所有者指定报告地址(rua),接收方会定期发送XML格式的聚合报告,包含邮件合规性信息。这些报告帮助域所有者了解哪些邮件通过了验证、哪些未通过,以及未授权使用情况。通过分析报告,可以调整SPF、DKIM配置或DMARC策略,逐步优化邮件送达率和安全性。
Q&A
SPF、DKIM和DMARC分别是什么?它们的主要作用是什么?
SPF、DKIM和DMARC是三个防止电子邮件伪造的互联网标准。SPF允许域管理员指定哪些邮件服务器被授权使用其域名发送邮件;DKIM通过为每封发出的邮件添加签名,让接收方用发送者公钥验证,以检测伪造;DMARC结合SPF和DKIM,允许域所有者指定处理未通过验证邮件的策略,并生成报告。
为什么电子邮件容易伪造?SPF、DKIM和DMARC如何解决这个问题?
电子邮件有“信封”和“信头”的概念,信封信息(如Return-Path)通常对用户不可见,而用户只看到信头中的发件人地址,攻击者可伪造信头发件人地址进行钓鱼。SPF验证信封发件人域名是否授权,DKIM验证邮件签名确保未篡改,DMARC则结合两者并通过对齐要求确保信头发件人域名与验证域名一致,从而防止伪造。
SPF记录是什么?如何配置?
SPF记录是DNS中的TXT记录,列出了允许使用该域名发送邮件的IP地址。例如:"v=spf1 ip4:192.0.2.0/24 a -all"。如果使用第三方邮件服务,可以用include委托,如"v=spf1 include:amazonses.com ~all"。接收服务器会查询Return-Path域名的SPF记录来验证发件服务器是否授权。
DKIM签名是如何工作的?接收方如何验证?
DKIM使用非对称加密:发送方用私钥对邮件正文和特定头部字段签名,签名附在邮件头中。接收方通过DNS查询发送方公钥(DKIM记录),然后验证签名:解析DKIM头构造DNS查询名,获取公钥,计算正文哈希并与bh比较,再验证头部签名。有效签名保证邮件来自真实发送方且未被篡改。
DMARC策略有哪些选项?如何设置?
DMARC策略通过DNS中的TXT记录设置,记录名如_dmarc.example.com。策略p有三个选项:none(不采取行动)、quarantine(标记为垃圾邮件)、reject(拒绝邮件)。还可以设置rua指定接收报告的邮箱。例如本站策略为p=none,表示不采取行动。
DMARC中的对齐(Alignment)是什么?宽松和严格模式有什么区别?
对齐要求SPF和DKIM验证中的域名与邮件头From地址的域名一致。宽松模式(relaxed)允许子域名匹配,例如From为example.com,Return-Path为sub.example.com可通过;严格模式(strict)要求完全一致。可通过aspf和adkim参数配置。
DMARC报告有什么作用?如何获取和分析?
DMARC报告帮助域所有者了解使用其域名发送邮件的合规情况和未授权使用,从而优化邮件发送策略。在DMARC记录中指定rua邮箱后,接收方会定期发送聚合报告,通常为XML格式,可用MxToolbox等工具分析或可视化。