Defaults.Exposed

Defaults.Exposed修复 › CAA 记录

如何修复 CAA 记录

CAA 记录是你域名设置里的一条简短指令,指定哪些证书公司被允许为你的网站签发那张小锁安全证书。开启它之后,再没有别的公司能悄悄以你的名义创建一张有效证书。

对您业务的关键影响: 没有 CAA 记录,全球数百家证书公司里几乎任何一家都能为你的域名签发一张真实、被完全信任的小锁证书——让骗子能立起一个外观完美、看上去完全安全的你网站克隆版,去收割你客户的登录信息和卡号,而屏幕上没有任何东西会警示他们。

这会让您付出什么代价

为什么它重要。 眼下大门是敞开的:地球上任何证书公司都能为一个声称是你的网站背书,无论你是否与它打过交道。一条 CAA 记录锁上那扇门,只让你选定的提供商能签发证书——它是对抗有人在网上冒充你这家企业最简单、最便宜的防御。

一句话说清 CAA 记录

每个安全网站都有一张证书——就是浏览器里小锁背后、以及你地址前面那个 https 所代表的东西。这些证书由叫证书颁发机构(CA)的专业机构发放:诸如 Let’s Encrypt、DigiCert、Sectigo、Google Trust Services 这些名字。当你的浏览器看到一张有效证书时,它会显示小锁,并告诉你的客户这个连接真实且安全。

下面这一点,大多数业主从没被告知过:默认情况下,全球数百家这样的证书颁发机构,每一家都被允许为你的域名签发证书——无论你是否听说过它们。一条 CAA 记录(证书颁发机构授权,Certification Authority Authorization)是你加进域名 DNS 设置里的一行说明,大意是只有这些提供商被允许为我签发证书。按行业规则,每一家正规的证书颁发机构在签发前都必须查验那行说明——若它不在你的名单上,就必须拒绝。

这就是一扇任何人都能走进来的没上锁的前门,和一扇只有你选定的人持有钥匙的门之间的区别。而加上它不花一分钱。

这会让你付出什么代价

CAA 记录所封堵的风险,是足以乱真的冒充。当骗子能为你网站的一份副本拿到一张真实证书时,通常的警示信号就消失了——没有破损的小锁,没有不安全的横幅,没有证书错误。一切看上去都对,而这正是它危险的原因。

这些都不需要对你服务器发动高深的攻击。它们利用的是这样一个事实:没有 CAA 记录,更广泛的证书系统在替你做事时实在太轻信了。

它实际上是什么,以及良好的状态长什么样

CAA 记录存在于你域名的 DNS 里——就是把你域名指向网站和邮箱的那套设置。每条记录有三部分:一个标志位、一个标签和一个。要紧的标签有:

**良好的状态长什么样:**至少存在一条 issue(或 issuewild)记录,指定了你实际使用的提供商,并且通配符要么被限制给某个指定提供商、要么被封禁。这就是本检查衡量的标准——它跨多个独立的解析器查询你域名的 CAA 记录,当发现一条真实的 issueissuewild 策略到位时通过。一个完全没有 CAA 记录的域名,被当作它本来的样子:一扇敞开的门。

这会影响我的评分吗?会。缺失的 CAA 记录是一个计分项,标为中等严重级——它是一个真实的漏洞,而不只是锦上添花,因为它留着一条真实的冒充通道。加上这条记录就堵住漏洞、清除该发现项。

如何修复(免费,约 5 分钟)

**把这一节交给管理你域名或网站的人——修复是免费的。**它是一个小的 DNS 改动,不是重建。只有当你之后想让我们持续盯着这条记录是否在位时,我们才收费;加上它不花一分钱。

**第一步——弄清你实际使用的是哪家证书颁发机构。**这是唯一值得做对的一步,因为列错提供商会挡住你下一次续期。常见情形:

如果不确定,在浏览器里查看你当前的证书(点小锁 → 证书详情 → 颁发者)就能看到是谁签发的。

**第二步——登录你的 DNS 提供商。**这是你域名记录所在的地方——通常是你的注册商、你的 Web 主机,或 Cloudflare。找到 DNS 记录区域,选择添加一条类型为 CAA 的新记录(有些界面把它标为类型 257)。

**第三步——为你使用的每个提供商添加一条 issue 记录。**以 Let’s Encrypt 为例:

example.com.   CAA   0 issue "letsencrypt.org"

每个正当的提供商加一行 issue。大多数 DNS 仪表盘会给你分开的输入框来填标志位(0)、标签(issue)和值(CA 的域名),这样你就不必手敲整行。

**第四步——管控通配符证书。**如果你用通配符,就干脆封禁它们,免得有人悄悄弄到一张:

example.com.   CAA   0 issuewild ";"

如果你确实用通配符,就改为指定提供商:0 issuewild "letsencrypt.org"

**第五步——(推荐)添加一个通知地址。**这样每当一家 CA 拒绝一次尝试时你都会被告知——这是有人尝试过的早期预警:

example.com.   CAA   0 iodef "mailto:[email protected]"

**第六步——保存并验证。**运行 dig CAA example.com(或用任意在线 DNS 查询工具),确认你的记录出现。改动在互联网上铺开可能要几分钟到几小时不等。你现有的证书和所有续期全程照常工作——CAA 只管的签发。

平台速记:Cloudflare 上,DNS → Records → Add record → 类型 CAA。在 Google Workspace 上,你在注册商处管理 DNS(如果用了 Cloud DNS 则在那里)——在那里添加带 pki.goog 的 CAA 记录。在 Microsoft 365 上,CAA 不在 M365 管理中心设置;在你域名 DNS 所托管的地方添加它,并列上你的托管证书 CA(通常是 DigiCert)。在常见主机(GoDaddy、Namecheap 等)上,它就在你 A 记录和 MX 记录所在的同一个 DNS 面板里。

常见错误

技术层(把这一段交给你的 IT 人员)

CAA 定义于 RFC 8659,并在 CA/Browser Forum 基线要求下强制执行——每家公开受信的 CA 都必须在签发时查验 CAA。记录形如 <flags> <tag> <value>,标签有 issueissuewildiodef。满足本检查的是一条非空的 issueissuewild 策略;仅有 iodef 不行(它是上报,不是授权)。

顶点处一个稳妥的基线:

example.com.   CAA   0 issue "letsencrypt.org"
example.com.   CAA   0 issuewild ";"
example.com.   CAA   0 iodef "mailto:[email protected]"

给实施者的说明:

在您的托管服务商上完成设置

热门服务商的分步指引:

常见问题

我不懂技术——我自己能处理吗?

你不需要懂其中细节,但修复是在你域名的 DNS 设置里做一个小改动,所以最好交给管理你网站或域名的人。把下面的如何修复一节发给他们——这是一个五分钟、零成本的改动。只有当你之后想让我们持续盯着这条记录是否一直在位时,我们才收费;修复本身永远免费。

加上这个会弄坏我的网站或我的证书吗?

不会——只要你列出了你实际使用的证书提供商,一切都照旧运作。CAA 记录不触碰也不替换你现有的证书;它只管谁被允许创建新证书。唯一会惹麻烦的情况,是把你真实的提供商漏在名单之外,那可能挡住你下一次自动续期——下面的步骤正是为避免这一点而写。

既然如今证书都是自动签发的,为什么我还需要这个?

自动证书很好也很方便——问题在于该系统默认对所有人开放,包括冒充你的人。CAA 记录只是指明谁被允许,把一扇敞开的门变成一扇上着你自己锁的门。它与自动签发协同工作,而非对立。

这会影响我的 Google 排名或我在本报告里的评分吗?

它会影响你在这里的安全评分——缺失的 CAA 记录是一个计分项,标为中等严重级的漏洞,因为它留着一条真实的冒充通道。它不是 Google 的直接排名因素,但它所防范的冒充和钓鱼,恰恰是那种确实会损害信任与流量的事件。无论如何,它都是一个又快又免费的收益。

issue 和 issuewild 有什么区别?

issue 记录管的是你域名及其子域名的普通证书。issuewild 记录管的是通配符证书——一张同时覆盖所有可能子域名的证书(如 *.example.com)。通配符更强大,因而落入坏人之手时也更危险,所以好的做法是单独管控它们:如果你不用通配符,就干脆全部封禁。

我们用 Cloudflare / Google Workspace / Microsoft 365——这些是不是已经覆盖了?

并非自动覆盖。这些平台替你管理证书,但除非你已显式添加了 CAA 记录,你的域名仍在向全世界宣告任何机构均可签发。好消息是,在它们上面修复都是同一个简单的 DNS 改动,凡是 Cloudflare 或你的主机签发证书的地方,你只需把那个提供商列上即可。下面修复一节的平台说明覆盖了常见情形。