SPF、DKIM 和 DMARC 通过核对电子邮件是否来自其声称的域名,帮助验证电子邮件发件人的身份。这三种身份验证方法对于防止垃圾邮件、网络钓鱼攻击和其他电子邮件安全风险非常重要。
阅读本文后,您将能够:
相关内容
订阅 TheNET,这是 Cloudflare 每月对互联网上最流行见解的总结!
复制文章链接
DMARC、DKIM 和 SPF 是三种电子邮件身份验证方法。它们共同帮助防止垃圾邮件发件人、网络钓鱼程序和其他未经授权的各方代表并非属于他们的域名*发送电子邮件。
DKIM 和 SPF 可以比作办公室墙上张贴的营业执照或医生的医学学位,帮助证明其合法合理性。
同时,DMARC 告诉邮件服务器在 DKIM 或 SPF 验证失败时该怎么做,无论是将验证失败的邮件标记为“垃圾邮件”,还是将电子邮件完全丢弃。
没有正确设置 SPF、DKIM 和 DMARC 的域名可能会发现,他们发送的电子邮件被隔离为垃圾邮件,或没有传送给收件人。他们还有被垃圾邮件制作者冒充的风险。
*域名,粗略地说就是一个网址,例如“example.com”。域名构成电子邮件地址的后半部分:例如 [email protected]。
发件人策略框架 (SPF) 是让域名列出他们发送电子邮件的所有服务器。可以把它想象成一个公开的员工名录,帮助确认某人是否为某组织的员工。
SPF 记录列出了允许使用该域名发送电子邮件的所有服务器的所有 IP 地址,就像员工名录列出了组织中所有员工的名字。收到电子邮件的邮件服务器可以对照 SPF 记录进行检查,确认后再将其传送至收件人的收件箱。
域名密钥识别邮件 (DKIM) 让域名所有者能够自动“签署”来自其域名的电子邮件,就像支票上的签名可帮助确认支票是谁开的。DKIM“签名”是一种数字签名,使用密码学技术从数学上验证电子邮件来自该域名。
具体而言,DKIM 使用的是公钥加密技术。
基于域名的邮件身份验证报告和一致性 (DMARC) 告诉接收电子邮件的服务器在检查 SPF 和 DKIM 之后,如何根据结果进行处理。一个域名的 DMARC 策略可以有多种设置方式——可以指示邮件服务器隔离、拒绝还是交付那些没有通过 SPF 和/或 DKIM 验证的电子邮件。
DMARC 策略存储在 DMARC 记录中。DMARC 记录还可以包含向域名管理员发送报告的指示,说明哪些电子邮件通过了检查,哪些没有通过。DMARC 报告给管理员提供了所需信息,帮助他们决定如何调整 DMARC 策略(例如,误将合法电子邮件标记为垃圾邮件时该如何处理)。
SPF、DKIM 和 DMARC 记录存储在可公开访问的域名系统 (DNS) 中。DNS 的主要用途是将网址与 IP 地址相匹配,以便计算机能够找到正确的服务器,通过互联网加载内容,而不需要人类用户记住一长串由字母和数字组成的地址。DNS 还可以存储与域名相关的各种记录,包括该域名的备用名称(CNAME 记录)、IPv6 地址(AAAA 记录)以及用于域名查找的反向 DNS 记录(PTR 记录)。
DKIM、SPF 和 DMARC 记录均存储为 DNS TXT 记录。DNS TXT 记录存储了域名所有者希望与该域名相关联的文本。该记录可以有多种使用方式,因为它可以包含任何任意文本。DNS TXT 记录有多种应用,DKIM、SPF 和 DMARC 只是其中三种。
大多数电子邮件客户端都提供一个标记为“显示详情”或“显示原始”的选项,显示原始即显示电子邮件的完整版本,包括其标头。标头通常是邮件正文上方的一长块文本,邮件服务器将 SPF、DKIM 和 DMARC 检查结果附加在此处。
完整阅读信息密集的标头会很困难。在浏览器上查看的用户可以按“Ctrl+F”或“Command+F”并输入“spf”“dkim”或“dmarc”来查找这些结果。
相关文本示例:
arc=pass (i=1 spf=pass spfdomain=example.com dkim=pass
dkdomain=example.com dmarc=pass fromdomain=example.com);
上面这段文字中有“pass”一词,表明该电子邮件通过了身份验证检查。例如,“spf=pass”意味着这封电子邮件通过了 SPF 检查;邮件来自授权的服务器,其 IP 地址在该域名的 SPF 记录中。
在本示例中,电子邮件通过了 SPF、DKIM 和 DMARC 所有三项检查,邮件服务器能够确认电子邮件确实是来自 example.com 而非假冒者。
值得注意的是,这些记录本身并不执行域名策略或验证电子邮件的真实性。邮件服务器必须检查并正确应用这些内容,记录才会产生作用。
同样重要的是,域名所有者需要自己正确配置他们的 SPF、DKIM 和 DMARC 记录——既为防止他人利用自其域名发送垃圾邮件,也为确保来自其域名的合法邮件不被标记为垃圾邮件。网络托管服务不一定会自动配置。即使是不发送电子邮件的域名,也至少应配置 DMARC 记录,让垃圾邮件制作者无法伪装从该域名发送电子邮件。
必须在域名的 DNS 设置中完成 DMARC、DKIM 和 SPF 设置。管理员可以联系他们的 DNS 提供商;其网络托管平台也可能会提供帮助他们上传和编辑 DNS 记录的工具。进一步了解这些记录的工作原理,请参阅我们的相关文章:
要在 Cloudflare 中设置这些记录,请使用电子邮件安全 DNS 向导。