CAA记录介绍
CAA,全称Certificate Authority Authorization,即证书颁发机构授权。它为了改善PKI(Public Key Infrastructure:公钥基础设施)生态系统强度、减少证书意外错误发布的风险,通过DNS机制创建CAA资源记录,从而限定了特定域名颁发的证书和CA(证书颁发机构)之间的联系。从此,再也不能是任意CA都可以为任意域名颁发证书了。文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
关于CAA记录,其实早在4年前便在RFC 6844中有定义,但由于种种原因配置该DNS资源记录的网站寥寥无几。如今,SSL证书在颁发之前对域名强制CAA检查,就对想要https访问的网站域名提出了解析配置的要求。文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
CAA记录详解
CAA记录可以控制单域名SSL证书的发行,也可以控制通配符证书。当域名存在CAA记录时,则只允许在记录中列出的CA颁发针对该域名(或子域名)的证书。文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
在域名解析配置中,咱们可以为整个域(如example.com)或者特定的子域(如subzone.example.com)设置CAA策略。当为整域设置CAA资源记录时,该CAA策略将同时应用于该域名下的任一子域,除非被已设置的子域策略覆盖。文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
CAA记录格式文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
根据规范(RFC 6844),CAA记录格式由以下元素组成:文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
CAA <flags> <tag> <value>文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
名词解释:文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
CAA:DNS资源记录类型文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
<flags>:认证机构限制标志文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
<tag>:证书属性标签文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
<value>:证书颁发机构、策略违规报告邮件地址等文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
<flags>定义为0~255无符号整型,取值:文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
Issuer Critical Flag:0文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
1~7为保留标记文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
<tag>定义为US-ASCII和0~9,取值:文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
CA授权任何类型的域名证书(Authorization Entry by Domain) : issue文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
CA授权通配符域名证书(Authorization Entry by Wildcard Domain) : issuewild文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
指定CA可报告策略违规(Report incident by IODEF report) : iodef文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
auth、path和policy为保留标签文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
<value>定义为八位字节序列的二进制编码字符串,一般填写格式为:文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
[domain] [";" * 参数]文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
CAA记录示例
当需要限制域名example.com及其子域名可由机构letsencrypt颁发不限类型的证书,同时可由Comodo颁发通配符证书,其他一律禁止,并且当违反配置规则时,发送通知邮件到example@example.com。文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
配置如下(为便于理解,二进制Value值已经过转码,下同):文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
example.com. CAA 0 issue "letsencrypt.org"文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
example.com. CAA 0 issuewild "comodoca.com"文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
example.com. CAA 0 iodef "mailto:example@example.com"文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
如果子域名有单独列出证书颁发要求,例如:文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
example.com. CAA 0 issue "letsencrypt.org"文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
alpha.example.com. CAA 0 issue "comodoca.com"文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
那么,因子域策略优先,所以只有Comodo可以为域名alpha.example.com.颁发证书。文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
CAA记录查询
CAA记录是一个相对较新的资源记录,目前很多工具并不支持。以dig为例,不能适用其标准语法。若需要查询CAA记录,dig时需要直接指定RR类型(type257)。文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
例如:文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
- $ dig google.com type257
- ; <<>> DiG 9.8.3-P1 <<>> google.com type257
- ;; global options: +cmd
- ;; Got answer:
- ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64266
- ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
- ;; QUESTION SECTION:
- ;google.com. IN TYPE257
- ;; ANSWER SECTION:
- google.com. 86399 IN TYPE257 \# 19 0005697373756573796D616E7465632E636F6D
- ;; Query time: 51 msec
- ;; SERVER: 8.8.8.8#53(8.8.8.8)
- ;; WHEN: Thu Dec 29 21:07:18 2016
- ;; MSG SIZE rcvd: 59
该查询的输出是二进制编码记录,需要转码才能知道具体CAA策略。文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
延伸阅读
2017年3月7日,CA|B Forum (一个全球证书颁发机构与浏览器的技术论坛)发起了一项关于对域名强制检查CAA的一项提议的投票,获得187票支持,投票有效,提议通过。文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
提议通过后,将于2017年9月8日根据Mozilla的Gervase Markham提出的检查CAA记录作为基准要求来实施。文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
详情参见:Ballot 187 – Make CAA Checking Mandatory文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
但令人尴尬的是,目前国内的DNS解析商(如阿里云、DNSPOD、Cloudxns)均不支持CAA记录解析。希望国内DNS解析商紧跟技术发展步伐,尽快完成系统改造,支持CAA记录解析。文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
原文链接:SSL证书颁发机构将对域名强制CAA检查,到底什么是CAA?CAA记录详解文章源自堕落的鱼-https://www.duoluodeyu.com/2457.html
2017年7月20日 21:31 1F
博主说说为什么你认为需要域名解析系统尽快支持CAA?
2017年7月21日 08:02 B1
@ 灰姑娘 主要还是防止证书被替换发起中间人攻击
2018年4月23日 11:54 B2
@ 堕落的鱼 转载来源被删了?
2018年4月23日 13:08 B3
@ 灰姑娘 实在抱歉,转载来源在文章内容下部的“版权声明”出,当时是从Cloudxns转载的,已在文章底部加上原文链接。望谅解
2017年9月20日 14:08 2F
https://www.nslookuptool.com/
这个网站可以查询CAA记录