DNS CAA记录详解
什么是CAA标准?
CAA(Certification Authority Authorization,即证书颁发机构授权)是一项防止HTTPS证书错误签发的安全措施,于2013年1月通过互联网工程任务组(IETF)的批准列为RFC6844,2017年3月,CA浏览器论坛投票通过187号提案,要求CA机构从2017年9月8日起执行CAA强制性检查。
CAA标准是指域名所有者在其域名DNS记录的CAA字段中,授权指定CA机构为其域名签发证书,CA机构在为域名签发证书时强制性检查CAA记录,如果未获得授权,将拒绝为该域名签发证书,从而防止未授权HTTPS证书错误签发。
CAA记录格式
CAA记录的格式为:[flag] [tag] [value]
,[flag]是一个标志字节,用于标志认证机构;[tag]和[value]组成一个属性对,可以添加多个CAA字段到域名的DNS记录中。
字段 | 说明 |
flag | 0255之间的无符号整数,用于标志认证机构,通常情况下填0,表示如果颁发证书机构无法识别本条信息,就忽略。 |
tag | 支持 issue、issuewild 和 iodef。 issue:CA授权单个证书颁发机构发布的任何类型域名证书。 issuewild:CA授权单个证书颁发机构发布主机名的通配符证书。 iodef:CA可以将违规的颁发记录URL发送给某个电子邮箱。 |
value | CA的域名或用于违规通知的电子邮箱。 |
如何设置CAA记录?
假设您想要只允许由symantec.com
来颁发域名midongd.xyz
的证书,并且发送违规通知到邮箱admin@midengd.xyz
,您可以按照以下方式配置CAA记录:
1、登录到云解析DNS产品控制台。
2、单击目标域名操作列下的解析设置。
3、添加如下两条解析记录:
主机记录 | 记录值 | |
@ | 0 issue “symantec.example.com” | |
@ | 0 iodef “mailto:admin@midengd.xyz” |
如何检查网站是否设置CAA记录?
您可以使用dig
命令来查询CAA记录解析情况,测试样例和返回结果如下所示:
sh3.2# dig midengd.xyz caa ; <<>> DiG 9.10.5rc1 <<>> midengd.xyz caa ;; global options: +cmd ;; Got answer: ;; >>HEADER<<opcode: QUERY, status: NOERROR, id: 26714 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS version: 0, flags:; udp: 4006 ;; QUESTION SECTION: ;midengd.xyz. IN CAA ;; ANSWER SECTION: midengd.xyz. 600 IN CAA 0 iodef "mailto:admin@midengd.xyz" midengd.xyz. 600 IN CAA 0 issue "symantec.com" ;; Query time: 577 msec ;; SERVER: 26.X.X.X#53(26.X.X.X) ;; MSG SIZE rcvd: 114
相关问题与解答
Q1:为什么需要强制CAA检查?
A1:全球约有上百个证书颁发机构(CA)有权发放HTTPS证书,CAA标准使得网站可以将指定CA机构列入白名单,仅授权指定CA机构为自己的域名颁发证书,防止HTTPS证书错误签发,设置CAA记录是提高网站安全性的方法之一。
Q2:如果没有设置CAA记录会怎样?
A2:如果域名所有者没有为其域名设置CAA记录,那么任何CA都可以为其域名颁发证书,这种情况下,存在HTTPS证书错误颁发的风险。
来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/96156.html