首页 > 运营 > 建站经验 > 正文

域名解析中到底什么是CAA记录?CAA记录详解

2020-09-09 23:14:38
字体:
来源:转载
供稿:网友

强制CAA检查的提议

2017年3月7日,CA|B Forum (一个全球证书颁发机构与浏览器的技术论坛)发起了一项关于对域名强制检查CAA的一项提议的投票,获得187票支持,投票有效,提议通过。

提议通过后,将于2017年9月8日根据Mozilla的Gervase Markham提出的检查CAA记录作为基准要求来实施。

什么是CAA记录?

CAA,全称Certificate Authority Authorization,即证书颁发机构授权。它为了改善PKI(Public Key Infrastructure:公钥基础设施)生态系统强度、减少证书意外错误发布的风险,通过DNS机制创建CAA资源记录,从而限定了特定域名颁发的证书和CA(证书颁发机构)之间的联系。从此,再也不能是任意CA都可以为任意域名颁发证书了。

关于CAA记录,其实早在4年前便在RFC 6844中有定义,但由于种种原因配置该DNS资源记录的网站寥寥无几。如今,SSL证书在颁发之前对域名强制CAA检查,就对想要https访问的网站域名提出了解析配置的要求。

CAA资源记录详解

CAA记录可以控制单域名SSL证书的发行,也可以控制通配符证书。当域名存在CAA记录时,则只允许在记录中列出的CA颁发针对该域名(或子域名)的证书。

在域名解析配置中,咱们可以为整个域(如example.com)或者特定的子域(如subzone.example.com)设置CAA策略。当为整域设置CAA资源记录时,该CAA策略将同时应用于该域名下的任一子域,除非被已设置的子域策略覆盖。

CAA记录格式

CAA记录格式由以下元素组成:

CAA <flags> <tag> <value>

释义:

元素 说明
CAA DNS资源记录类型
<flags> 认证机构限制标志
<tag> 证书属性标签
<value> 证书颁发机构、策略违规报告邮件地址等

 

<flags>定义为0~255无符号整型,取值:

Issuer Critical Flag:0

1~7为保留标记

<tag>定义为US-ASCII和0~9,取值:

CA授权任何类型的域名证书(Authorization Entry by Domain) : issue

CA授权通配符域名证书(Authorization Entry by Wildcard Domain) : issuewild

指定CA可报告策略违规(Report incident by IODEF report) : iodef

auth、path和policy为保留标签

<value>定义为八位字节序列的二进制编码字符串,一般填写格式为:

[domain] [";" * 参数]

CAA资源记录示例

当需要限制域名example.com及其子域名可由机构letsencrypt颁发不限类型的证书,同时可由Comodo颁发通配符证书,其他一律禁止,并且当违反配置规则时,发送通知邮件到example@example.com

配置如下(为便于理解,二进制Value值已经过转码,下同):

example.com.  CAA 0 issue "letsencrypt.org"example.com.  CAA 0 issuewild "comodoca.com"example.com.  CAA 0 iodef "mailto:example@example.com"

如果子域名有单独列出证书颁发要求,例如:

example.com.  CAA 0 issue "letsencrypt.org"alpha.example.com.  CAA 0 issue "comodoca.com"

那么,因子域策略优先,所以只有Comodo可以为域名alpha.example.com.颁发证书。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表