DNS CAA 资源记录检查

证书颁发机构在颁发证书之前检查 CAA 资源记录

证书颁发机构 (CA) 必须检查、处理和遵守域的 DNS 证书颁发机构 (CAA) 资源记录 (RR),才能为您的域颁发 SSL/TLS 证书。(请参阅投票 125 - CAA 记录[已通过],RFC 6844,和投票 219:澄清关于不含 "issue"/"issuewild" 属性标记的 CAA 记录集的处理。)

DigiCert 为您的域颁发 SSL/TLS 证书不需要使用 CAA 资源记录。只有当您符合以下情况之一时,这里提供的信息才重要:

  • 您已经为域设置 CAA 资源记录。
  • 您希望为域添加 CAA 资源记录。

有关 CAA 的好处的信息,请参阅 CAA 的安全优势

CAA RR 流程的运作方式

在颁发域的 SSL/TLS 证书前,CA(例如,DigiCert)检查 CAA RR,以确定他们是否可以为域颁发证书。如果满足以下其中一项条件,CA 可为域颁发证书。

  • 找不到域的 CAA RR。
  • 找到域的 CAA RR,授权他们为它颁发该类型的证书。
  • 仅为域找到不含 "issue" 或 "issuewild" 属性标记的 CAA RR。

单一 CAA RR 的好处

创建 CAA 资源记录 (RR) 以授权 DigiCert 为域颁发 SSL/TLS 证书后,您可以基本上排除所有其他证书颁发机构 (CA) 为该域颁发证书。授权其他 CA 为该域颁发证书的唯一方法是为该 CA 创建另一个 CAA RR。

如果该域没有 CAA RR,这意味着任何 CA 都可以为该域颁发所有类型的 SSL/TLS 证书。

如果您有该域的一个 CAA RR,这意味着 CA 必须找到授权他们为该域颁发 SSL/TLS 证书的 CAA RR。当您为域创建首个 CAA RR 时,务必要了解,您现在必须为该域创建足够的策略,以支持组织的 SSL/TLS 证书要求。

这样一来,CAA 资源记录能实现对该域的证书颁发的精准控制。该控制可用于防止未经授权的证书颁发机构为您的域颁发证书。

DigiCert、Symantec、Thawte、GeoTrust、RapidSSL 品牌证书的 CA 授权

收购 Symantec 的 Website Security 及相关 PKI 解决方案后,,DigiCert 将业内领先的证书品牌都整合到一个证书颁发机构下,即 DigiCert。当您为 yourdoman.com 创建 CAA RR 并授权 DigiCert 为它颁发 SSL/TLS 证书 (yourdomain CAA 0 issue "digicert.com") 时,您授权 DigiCert 为该域颁发 DigiCert、Symantec、Thawte、GeoTrust 和 RapidSSL 品牌 SSL/TLS 证书。

当您创建 CAA RR 并授权 Symantec 为 yourdomain.com 颁发 SSL/TLS 证书 (yourdomain CAA 0 issue "symantec.com") 时也是一样。该单一记录便于 DigiCert 为该域颁发 DigiCert、Symantec、Thawte、GeoTrust 和 RapidSSL 品牌 SSL/TLS 证书。

有效的 CAA 资源记录值

您当前可以在 CAA 记录中使用下面的这些有效 CAA RR 值授权 DigiCert 颁发 SSL/TLS 证书。

  • digicert.com
  • www.digicert.com
  • digicert.ne.jp
  • cybertrust.ne.jp
  • symantec.com
  • thawte.com
  • geotrust.com
  • rapidssl.com

列出的所有值都等效。换言之,您可以使用其中任意值允许 DigiCert 为所有 DigiCert 证书品牌、门户、产品等颁发 SSL/TLS 证书。

验证 CAA RR 配置正确

您是否有或是否计划为域创建 DNS CAA RR?务必要确保记录最新且准确。

在 DigiCert,我们建议在您为域订购 SSL/TLS 证书之前,检查域的现有 DNS CAA RR。验证每个授权为域颁发 SSL/TLS 证书的 CA 有必要的记录。我们还建议那些创建新 DNS CAA RR 的用户了解该流程的运作方式。不要因为错误配置的 CAA RR 而意外阻止 CA 尽快颁发需要的证书。

请参阅如何编辑域的 DNS CAA RR 以获取 DigiCert 证书品牌

什么是 DNS CAA 资源记录?

证书颁发机构授权 (CAA) 资源记录 (RR) 允许域所有者创建策略,以授权特定的证书颁发机构 (CA) 为其关联的域颁发 SSL 证书。域所有者可以使用 CAA RR 为整个域(例如,example.com)或特定的主机名(例如,mail.example.com)创建安全策略。

当您为基域创建 CAA RR 时,您实际上是在为该策略中的子域创建整体策略,除非您为特定子域创建单独的 CAA RR。您是否有 example.com 的 CAA RR 记录,但希望为 mail.example.com 创建不同的安全策略?为邮件子域专门创建另外的 CAA RR。

创建该记录后,当您为 mail.example.com 订购 SSL/TLS 证书时,CA 会查询该子域的 CAA RR 的 DNS。如果 CA 找到 mail.example.com 的记录,则停止搜索,并且将该策略应用于该证书订单。如果 CA 找不到 mail.example.com 的记录,则继续在其父域 example.com 进行 CAA RR 的 DNS 查询。如果 CA 找到 example.com 的记录,则将该父域的策略应用于 mail.example.com 的证书订单。

DNS CAA 资源记录句法

证书颁发机构授权 (CAA) 资源记录 (RR) 包含单字节标志标记值对,称为属性(RFC 6844 第 3 节和 5.1 节)。标志是 0 至 255 之间的未分配整数。标记值对中的标记可以包含 US-ASCII 字母和数字,而值是表示标记值属性值的 8 字节字符串。

CAA RR 属性标记

可以通过为域名发布多个 CAA RR 的方式将多个属性关联到同一个域。但是,每个 CAA RR 仅可授权一个 CA 为域颁发证书(或在有些情况下,一类证书)。

要允许多个 CA 为域颁发证书,需至少为每个 CA 创建一个 CAA RR(在有些情况下,创建两个 CAA RR)。有关设置 CAA RR 的帮助,请访问 CAA 记录帮助程序

"issue"属性标记

使用该属性标记授权 CA(例如,DigiCert)仅为域颁发通配符证书。在处理 *.yourdomain 的通配符证书时,CA 在该域的 DNS 中查询含有 "issuewild" 属性标记的 CAA RR。如果 CA 找到 "issuewild" 属性标记,则该域的所有含有 "issue" 属性标记的 CAA RR 将被忽略。要授权其他 CA 仅为相同域颁发通配符证书,需为每个 CA 创建唯一的 CAA RR。

generic
yourdomain CAA 0 issuewild "digicert.com"

属性标记"issuewild"的运作方式

"issuewild" 属性标记授权 CA 仅颁发域的通配符证书(*.domain.com、*.sub.domain.com、*.sub.sub.domain.com,等等)。它不允许 CA 颁发域的非通配符证书(domain.com、sub.domain.com、sub.sub.domain.com,等等)

使用"issuewild"属性标记

如果使用得当,"issuewild" 属性可以成为创建通配符证书颁发策略的有效工具。

例如,您为域创建三个 "issue" CAA RR。后来,您决定只要其中一个 CA 为域颁发通配符证书。因此,您创建了 "issuewild" CAA RR,授权该 CA 颁发 *.yourdomain 通配符证书。所有三个 CA 可以继续为域颁发非通配符证书,但现在只有一个 CA 可以为它颁发通配符证书。

授权 DigiCert 为域颁发通配符证书

当您为 *.yourdomain 订购通配符证书时,DigiCert 将您的域包括在证书中,不额外收费。这样一来,当您创建 "issuewild" CAA RR (yourdomain CAA 0 issuewild "digicert.com") 以授权 DigiCert 仅为基域和子域颁发通配符证书时,就会出现问题。

由于我们在 *.yourdomain(或 *.mail.yourdomain)的通配符证书订单中包括了 yourdomain(或 mail.yourdomain),因此您必须使用下面的其中一个选项,我们才能向您颁发通配符证书。

  1. 为 DigiCert 创建 “issue” CAA RR

    除非您有特定的原因为 yourdomain 创建 "issuewild" CAA RR,否则不要创建。仅管理 "issue" CAA RR 要简单得多:

generic
yourdomain CAA 0 issue "digicert.com"
  1. 为 DigiCert 创建一个 “issue” CAA RR 和一个 “issuewild”

    如果您的组织策略允许,您必须为 you domain.com 创建 “issuewild” CAA RR,然后创建两条规则:

generic
yourdomain CAA 0 issue "digicert.com"
yourdomain CAA 0 issuewild "digicert.com"
  1. 联系我们

    如果您的组织策略阻止您授权 DigiCert 为您的域颁发非通配符证书,请联系我们,,我们将和您共同找出问题解决方案,以便我们向您颁发通配符证书。

不当使用"issuewild"属性

如果使用不当,"issuewild" 属性实际上可以阻止 CA 为域颁发所需证书。在处理证书订单时,CA 忽略含有 "issuewild" 属性标记的所有 CAA RR,除非 (1) CA 处理的是通配符证书订单,或 (2) "issuewild" 标记是该域唯一的 CAA RR。

  1. CA 处理通配符证书订单

    当您为域 (yourdomain CAA 0 issuewild "digicert.com") 创建单个 "issuewild" 记录时,您实际上是在排除所有其他没有 "issuewild" 记录的 CA 为该域颁发通配符证书。如果这不是您的本意,则在创建记录时,您需为需要授权为 yourdomain 颁发通配符证书的每个 CA 创建额外的 "issuewild" 记录。

  2. "issuewild" CAA RR – 仅为该域创建的记录类型

    当您为 yourdomain 订购非通配符证书时,CA 将忽略该域的任何 "issuewild" CAA RR,除非 "issuewild" CAA RR 是唯一找到的记录类型。出现这种情况时,CA 不能为 yourdomain 颁发非通配符证书。

    使用 CAA RR 的基本原因是为域创建证书颁发策略。当您为域 (yourdomain CAA 0 issuewild "digicert.com") 创建单个 "issuewild" 记录,而不伴随任何 "issue" 记录时,您是在做两件事:

    1. 授权此 CA(且仅此 CA)为 yourdomain 颁发通配符证书。
    2. 您不希望任何 CA 为 yourdomain 颁发非通配符证书。
      这是 CAA RR 的运作方式,应该是您在为 yourdomain.com 创建仅 "issuewild" CAA RR 时的意图。

    当您为域创建首个 "issuewild" CAA RR 时,务必要了解,您以后必须为两种类型的 SSL/TLS 证书授权(非通配符和通配符)创建策略 (CAA RR)。

CAA RR 和 CNAME 的综合运用方式

当您为含有指向其他域(例如,my.blog.example.net)的 CNAME 记录的域(例如,my.blog.example.com)申请 SSL/TLS 证书时,证书颁发机构 (CA) 遵循特定的流程(在基本要求[BR]中进行了阐述)查找授权的 CAA RR 以颁发证书。

CNAME 目标

作为预防资源耗竭攻击的防范手段,CA 只需跟进 8 个 CNAME 目标(8 个或以下 CNAME 记录:blog.example.com 是 blog.example.net 的 CNAME,而后者是 blog.example.org 的 CNAME,以此类推,深度总共 8 层)。

该过程从证书请求上的域名开始,一直持续到顶级域。一旦找到 CAA RR,该过程立即停止。CAA RR 再确定该 CA 是否已获得授权颁发您的证书。

存在 CNAME 的 CAA RR 检查工作流示例

要查看大图形版本,请单击此处

第 1 步:CA 检查证书请求上的域名 - my.blog.example.com - 的 CAA RR。

如果 CA 找到证书请求上的域的 CAA 记录,则停止搜索。CA 检查是否有 CAA 记录授权他们颁发您的证书。如果找到记录,则 CA 颁发证书。如果找不到记录,则 CA 不能颁发证书。

如果 CA 找不到证书请求上的域的 CAA 记录,则继续搜索 CAA 记录

第 2 步:CA 检查 CNAME 目标域 - my.blog.example.net - 的 CAA RR。

如果 CA 找到 CNAME 目标域的 CAA 记录,则停止搜索。CA 检查是否有 CAA 记录授权他们颁发您的证书。如果找到记录,则 CA 颁发证书。如果找不到记录,则 CA 不能颁发证书。

如果 CA 找不到 CNAME 目标域的 CAA 记录,则继续搜索 CAA 记录

第 3 步:CA 检查原始域的父域 - blog.example.com - 的 CAA RR。

如果 CA 找到原始域的父域的 CAA 记录,则停止搜索。CA 检查是否有 CAA 记录授权他们颁发您的证书。如果找到记录,则 CA 颁发证书。如果找不到记录,则 CA 不能颁发证书。

如果 CA 找不到原始域的父域的 CAA 记录,则继续搜索 CAA 记录

第 4 步:CA 检查原始域的基域 - example.com - 的 CAA RR。

如果 CA 找到原始域的基域的 CAA 记录,则停止搜索。CA 检查是否有 CAA 记录授权他们颁发您的证书。如果找到记录,则 CA 颁发证书。如果找不到记录,则 CA 不能颁发证书。

如果 CA 找不到原始域的基域的 CAA 记录,则继续搜索 CAA 记录

第 5 步:CA 检查原始域的顶级域 - com - 的 CAA RR。

如果 CA 找到原始域的顶级域的 CAA 记录,则停止搜索。CA 检查是否有 CAA 记录授权他们颁发您的证书。如果找到记录,则 CA 颁发证书。如果找不到记录,则 CA 不能颁发证书。

如果 CA 找不到原始域的顶级域的 CAA 记录,则 CAA 颁发证书

其他信息: