本篇写于tiansir.com 原创文章 2017-12-9
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记录格式
根据规范(RFC 6844),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记录示例
当需要限制域名tiansir.com及其子域名可由机构aliyun颁发不限类型的证书,同时可由symantec颁发通配符证书,其他一律禁止,并且当违反配置规则时,发送通知邮件到admin@tiansir.com。
配置如下:
0 issue “aliyun.com”
0 issuewild “symantec.com”
0 iodef “mailto:admin@tiansir.com”
如果子域名有单独列出证书颁发要求,例如:
0 issue “aliyun.com” 在主机记录添加@
0 issue “symantec.com” 在主机记录添加子域名down
那么,因子域策略优先,所以只有symantec可以为域名down.example.com.颁发证书。
tiansir网站是如何使用的呢?
0 issue “symantec.com” 注意主机记录是你的子域名或者通配符*或者@
0 iodef “mailto:admin@tiansir.com”
我如何验证使用CAA成功呢?
[root@iZ5797ngmexeexZ ~]# dig
-bash: dig: command not found
发现没有安装dig 那么我们先给服务器安装一下吧 我的使用环境是centos
[root@iZ5797ngmexeexZ ~]# yum install dig
安装成功后
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
[root@iZ5797ngmexeexZ ~]# dig www.tiansir.com caa
; <<>> DiG 9.9.4-RedHat-9.9.4-51.el7_4.1 <<>> www.tiansir.com caa ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63959 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;www.tiansir.com. IN CAA
;; AUTHORITY SECTION: tiansir.com. 600 IN SOA vip1.alidns.com. hostmaster.hichina.com. 2017020313 3600 1200 3600 360
;; Query time: 6 msec ;; SERVER: 100.100.2.136#53(100.100.2.136) ;; WHEN: Sat Dec 09 11:06:34 CST 2017 ;; MSG SIZE rcvd: 111 |
或者使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
[root@iZ5797ngmexeexZ ~]# dig www.tiansir.com type257
; <<>> DiG 9.9.4-RedHat-9.9.4-51.el7_4.1 <<>> www.tiansir.com type257 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48439 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;www.tiansir.com. IN CAA
;; AUTHORITY SECTION: tiansir.com. 600 IN SOA vip1.alidns.com. hostmaster.hichina.com. 2017020313 3600 1200 3600 360
;; Query time: 1 msec ;; SERVER: 100.100.2.136#53(100.100.2.136) ;; WHEN: Sat Dec 09 11:10:58 CST 2017 ;; MSG SIZE rcvd: 111 |
当然你还可以用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
[root@iZ5797ngmexeexZ ~]# dig www.tiansir.com
; <<>> DiG 9.9.4-RedHat-9.9.4-51.el7_4.1 <<>> www.tiansir.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23921 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 25
;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;www.tiansir.com. IN A
;; ANSWER SECTION: www.tiansir.com. 600 IN A 115.28.163.174
;; AUTHORITY SECTION: tiansir.com. 172800 IN NS vip1.alidns.com. tiansir.com. 172800 IN NS vip2.alidns.com.
;; ADDITIONAL SECTION: vip1.alidns.com. 344 IN A 116.211.173.151 vip1.alidns.com. 344 IN A 116.211.173.153 vip1.alidns.com. 344 IN A 121.29.51.151 vip1.alidns.com. 344 IN A 121.29.51.153 vip1.alidns.com. 344 IN A 140.205.29.113 vip1.alidns.com. 344 IN A 140.205.228.51 vip1.alidns.com. 344 IN A 140.205.228.53 vip1.alidns.com. 344 IN A 14.1.112.11 vip1.alidns.com. 344 IN A 14.1.112.13 vip1.alidns.com. 344 IN A 47.88.44.151 vip1.alidns.com. 344 IN A 106.11.30.113 vip1.alidns.com. 344 IN A 106.11.41.151 vip2.alidns.com. 127 IN A 116.211.173.152 vip2.alidns.com. 127 IN A 116.211.173.154 vip2.alidns.com. 127 IN A 121.29.51.152 vip2.alidns.com. 127 IN A 121.29.51.154 vip2.alidns.com. 127 IN A 140.205.29.114 vip2.alidns.com. 127 IN A 140.205.228.52 vip2.alidns.com. 127 IN A 140.205.228.54 vip2.alidns.com. 127 IN A 14.1.112.12 vip2.alidns.com. 127 IN A 14.1.112.14 vip2.alidns.com. 127 IN A 47.88.44.152 vip2.alidns.com. 127 IN A 106.11.30.114 vip2.alidns.com. 127 IN A 106.11.41.152
;; Query time: 6 msec ;; SERVER: 100.100.2.136#53(100.100.2.136) ;; WHEN: Sat Dec 09 11:09:06 CST 2017 ;; MSG SIZE rcvd: 489 |