谷歌 Chrome 安全团队在 2026 年 10 月 6 日发文披露:上周发现 .gh(加纳)、.sl(塞拉利昂)、.as(美属萨摩亚)三个国家和地区顶级域发生了一系列域名劫持。谷歌强调自身系统没有被攻破,被攻破的是第三方的顶级域注册体系,所有以这三个后缀结尾的域名都暴露在风险中。攻击者在劫持期间修改了权威 DNS 记录,拿到了覆盖多个谷歌域名、以及其他机构域名的未经授权的 HTTPS 证书。谷歌表示,从攻击方式看,没有理由认为签发这些证书的 CA 做错了什么:攻击者控制了 DNS,域名验证自然能通过。
谷歌做了什么
- 通过 CRLSets 在 Chrome 里立即拦截了冒用谷歌域名的证书,并和签发 CA 一起把证书吊销,以保护 Chrome 以外的客户端。
- 证书透明度(CT)日志又显示,多个全球知名品牌和常用在线服务可能受到同一批攻击影响,谷歌也在 Chrome 里主动拦截了这些证书,并尽量通知了相关机构。
- Chrome 用户不需要做任何操作。但谷歌说得很直白:不能依赖浏览器端的干预,它没法保证找出了每一个受影响的域名,也保护不了不用 Chrome 的用户。
谷歌没有公布证书的数量和签发机构。我们在 10 月 12 日查询公开的 CT 日志,能看到 9 月 22 日至 27 日之间由 Let's Encrypt 为 youtube.com.gh、google.sl、youtube.sl、youtube.as 等域名签发、随后在 9 月 26 日至 10 月 1 日间被吊销的证书;我们查到的同一时期这些域名的其他证书,都由谷歌自己的 Google Trust Services 签发。这正说明了自动化域名验证的特点:谁控制了 DNS,谁就能「合规」地拿到证书。
站长能做的两件事
- 持续监控证书透明度日志。浏览器默认信任的证书都必须登记在公开的 CT 日志里,监控 CT 就能在有人为你的域名签发证书时几乎实时收到提醒。谷歌特别提醒,监控范围要覆盖你名下的全部域名,包括停放的、各地区的国家顶级域名。
- 发布严格的 CAA 记录,并绑定 ACME 账户。CAA 是一条 DNS 记录,声明哪些 CA 可以为你的域名签发证书。谷歌的说法很准确:CAA 挡不住劫持进行中的签发,但在你夺回 DNS 之后能起关键作用——CA 可以缓存并复用已完成的域名验证结果,如果 CAA 把签发限定在指定的账户和验证方式上,攻击者就没法在劫持结束后利用缓存的验证结果继续签新证书。
在自己的域名上怎么配
Let's Encrypt 的 CAA 文档(10 月 4 日更新)说明了两个参数:accounturi 限定只有某个 ACME 账户能申请,用文档的原话,它能确保「临时劫持了你的域名、但拿不到你 ACME 账户密钥的人」签不出恶意证书;validationmethods 限定验证方式(http-01、dns-01、tls-alpn-01)。一条只允许 Let's Encrypt、且只允许你自己账户签发的记录大致是这样:
example.com. CAA 0 issue "letsencrypt.org;accounturi=https://acme-v02.api.letsencrypt.org/acme/acct/YOUR_ACCOUNT_ID"
账户 URL 可以在 ACME 客户端的账户信息里找到(certbot 用 certbot show_account)。注意 CAA 记录是叠加生效的,只要有一条允许就能签发,所以要把旧的宽松记录清理掉。按 CA/浏览器论坛 SC098v2 投票通过的规定,从 2027 年 3 月 15 日起所有 CA 都必须处理这两个参数。DNS 记录的添加方法见把域名解析到 VPS:DNS 配置入门,DNS 托管在 Cloudflare 的见用 Cloudflare 给 VPS 网站加速与防护;证书有效期的变化见 Let's Encrypt 64 天证书那篇。