RIVALSA网络日志

CAA 记录

于2022-05-09发布

本文原本于2019年2月18日发布在 RIVALSA 知识分享板块中,由于 RIVALSA 知识分享板块已下线,于2022年5月9日将本文转移至 RIVALSA 网络日志中。

关于CAA

目前全球有非常多的证书颁发机构(CA)颁发的 SSL 证书被主流操作系统/浏览器所信任,但通常我们可能只会从少数证书颁发机构获得证书。证书颁发机构授权(CAA)允许声明您实际使用的证书颁发机构,禁止其他人为您的域名颁发证书。

我们可以利用 CAA 来达到如下目的:

  • 减少来自不安全证书颁发机构的风险。您可以使用 CAA 将您的域限制为您信任的证书颁发机构,而不是颁发未经授权的证书;
  • 您希望阻止员工从未经授权的供应商处获取证书。

配置 CAA 很容易,您可以在编辑好 CAA 记录后,在域名的 DNS 中发布。这需要您的域名使用支持 CAA 的 DNS 服务器来解析。

CAA 是由 RFC6844 定义的 IETF 标准。截至2017年9月8日,所有公共证书机构都必须遵守 CAA 记录。在为一个域名颁发证书之前,必须检查该域名是否有 CAA 记录,如果 CAA 记录没有授权,则拒绝颁发。(如果没有 CAA 记录,则允许发布。)

CAA 和子域名

如果某域名的子域没有自己的 CAA 记录时,这个域名的 CAA 记录也适用于它的所有子域。如果子域有自己的 CAA 记录,则优先使用子域自己的 CAA 记录。

例如,在证书颁发机构为 www.rivalsa.cn 颁发证书之前,它将按以下顺序查询 CAA 记录,并使用找到的第一个记录:

  1. www.rivalsa.cn
  2. rivalsa.cn

CAA 和 CNAME

如果一个域名是另一个域的 CNAME(也称为别名),则证书颁发机构还会在 CNAME 目标以及目标的所有父域中查找 CAA 记录。如果找不到 CAA 记录,证书颁发机构将继续搜索原始域名的父域。

例如,如果 www.example.com 的 CNAME 记录值为 blog.e.net ,则证书颁发机构按以下顺序查找 CAA 记录:

  1. blog.e.net
  2. e.net
  3. example.com

CAA 的局限性

无论如何配置 CAA,流氓或完全被破坏的证书颁发机构都可以为域名颁发证书。另外,一个强大的攻击者可以欺骗 DNS 记录,使证书颁发机构认为它是被授权的。

然而,在实践中,CAA 将保护域所有者免受证书颁发机构中出现的许多安全漏洞的影响。发布 CAA 政策是一项非常明智的安全措施,尽管有其局限性。

为了增加保护,可以使用证书透明度监视器(如 cert spotter)提醒您是否颁发了违反 CAA 策略的证书。

(正文完)

版权信息

本作品著作权归属 Rivalsa 所有,除非 Rivalsa 明确许可您使用,否则任何个人或组织不得以任何方式直接或间接的复制、伪造、转载、摘编、翻印、改编、演出或以其他方式使用本作品。

已获得0个赞0个差评

0条评论

发表评论(取消回复)