什么是 CAA 记录?
CAA(证书颁发机构授权,Certification Authority Authorization)记录让一个域名声明哪些证书颁发机构可以为它颁发证书。CA/浏览器论坛要求各 CA 遵守这些记录,因此它们降低了误颁发的风险——即某个 CA 错误地为你的域名颁发证书。CAA 是为你的 TLS 证书提供的一道简单而强大的护栏。
CAA 记录如何工作
CAA 记录以域名指明一个被允许的证书颁发机构。在颁发之前,合规的 CA 会检查你域名的 CAA 记录;如果记录存在且没有一条列出该 CA,它就必须拒绝。该记录有三部分:标志位、标签和值。常见标签有 issue(授权某 CA 颁发标准证书)、issuewild(专门控制通配符证书),以及 iodef(一个 URL 或 mailto,供 CA 报告策略违规)。例如,issue "letsencrypt.org" 仅允许 Let's Encrypt 颁发。
如何解读你的 CAA 查询结果
IPeek 列出域名上的各条 CAA 记录,每条带其标签和值。读取 issue 标签以查看哪些 CA 被授权——像 "letsencrypt.org" 或 "digicert.com" 这样的值指明被许可的机构。issuewild 标签限制谁可以颁发通配符证书。issue 值为 ";"(分号)表示根本不授权任何 CA。如果域名没有 CAA 记录,任何公共 CA 都可颁发,这是宽松的默认。请检查所列 CA 是否与你实际用于证书的提供商一致。
为什么 CAA 记录能提升证书安全
没有 CAA 时,数十家公共证书颁发机构中的任何一家都能为你的域名颁发证书,因此单个被攻破或被欺骗的 CA 就足以让攻击者获得有效证书。CAA 把这个攻击面收窄到只剩你指名的 CA。由于 CA/浏览器论坛强制要求 CA 在颁发前检查 CAA,这层保护在全行业范围内得到执行。添加 iodef 标签后,被授权的 CA 可在有人试图违反策略时通知你,从而对有人试图获取本不该获取的证书提供预警。