Defaults.Exposed

Defaults.Exposed › 设置 › CAA

如何在 AWS Route 53 上设置 CAA 记录

在 AWS Route 53 中添加 CAA 记录,控制哪些证书颁发机构可以为你的域名签发 SSL 证书。

这对你的业务意味着什么

CAA(Certification Authority Authorization,证书颁发机构授权)记录指定了哪些证书颁发机构(即签发浏览器地址栏挂锁背后 SSL/TLS 证书的公司)可以为你的域名签发证书。任何守规矩的机构都必须先检查这条记录,如果自己不在名单上,就必须拒绝签发请求。

说得直白一点:没有 CAA 记录,全球数百家证书颁发机构中的任何一家都可能被骗或因失误而向他人签发一张针对你域名的有效证书——攻击者可以借此惟妙惟肖地冒充你的网站。CAA 记录把这扇门关上,等于宣布:只有这几家机构,其他一概不行。 它免费,几分钟就能搞定。

先确认 Route 53 在为你解析 DNS

这只有在 Route 53 负责回应你域名的 DNS 时才有效。在 Route 53 中,你的记录存放在该域名的**托管区域(hosted zone)里,而该区域只有在你域名的域名服务器(nameservers)**指向区域中列出的四个 Route 53 域名服务器时才会生效。打开托管区域,查看它的 NS 记录,确认这些域名服务器已在你的注册商处设置好。如果你的域名服务器指向别处,请到真正负责你 DNS 的服务商那里添加 CAA 记录。

先弄清楚你的证书颁发机构

动手添加之前,先弄清楚是哪家机构在签发你的证书,否则你可能会把自己的服务商也挡在门外。常见取值:

如果你使用 AWS Certificate Manager 来配置证书,就必须允许 amazon.com,否则 ACM 将无法签发。如果不确定,可以问搭建你主机环境的人,或在浏览器里查看证书(点击挂锁,再查看证书的颁发者)。

Route 53 上的操作步骤

  1. 登录 AWS 管理控制台,打开 Route 53
  2. 在左侧菜单中选择 Hosted zones,再选择你的域名。
  3. 点击 Create record
  4. Record name 字段留空,使记录应用于域名的根(即顶点 apex)。不要在这里填写你的域名。
  5. Record type 设为 CAA
  6. Value 框中,按 Route 53 的三段式格式在一行内输入: 0 issue "letsencrypt.org" 即标志位(0)、标签(issue),再加上用双引号括起来的证书颁发机构。
  7. TTL 保持默认(300 秒即可)。
  8. 如有提示选择 Simple routing,然后点击 Create records

允许多家证书颁发机构

大多数域名随着时间会用到不止一家机构——比如一项服务用 AWS Certificate Manager、另一项用 Let’s Encrypt。在 Route 53 中,你把额外的机构作为同一条 CAA 记录 Value 框里的更多行添加,每行一条:

0 issue "amazon.com"
0 issue "letsencrypt.org"

这两行合起来表示:这两家机构都允许,其他都不行。 每一行都是一条独立的 issue 条目;你不要把两家机构放在同一行。

Route 53 上人们常踩的坑

验证是否生效

保存并传播完成后,运行本站的免费检测。它会用通俗的语言告诉你 CAA 记录是否已就位、你允许了哪些机构。

完成了? 免费检查您的域名 以确认设置已生效——并查看您在全部 34 项检查中的完整评级。