什么是CAA?
CAA(Certification Authority Authorization,证书颁发机构授权)是一项防止HTTPS证书错误颁发的安全措施,遵从IETF RFC6844。从2017年9月8日起,要求CA(Certification Authority,证书颁发)机构执行CAA强制性检查。
CAA标准
CAA标准是指域名所有者在其域名DNS记录的CAA字段中,授权指定的CA机构为其域名颁发证书。
全球约有上百个CA机构有权发放HTTPS证书,证明您网站的身份。CAA标准可以使网站将指定CA机构列入白名单,仅授权指定CA机构为网站的域名颁发证书,防止HTTPS证书错误颁发。设置CAA记录是提高网站安全性的方法之一。
CA机构在为域名签发证书时执行CAA强制性检查:
CAA记录
CAA记录由一个[flag]标志字节和一个被称为属性的[tag]-[value]标(标签-值)对组成,可以将多个CAA字段添加到域名的DNS记录中。
目的 |
样例 |
描述 |
---|---|---|
设置单域名CAA记录 |
0 issue "ca.example.com" |
该字段表示只有ca.example.com可以为域名domain.com颁发证书,未经授权的第三方CA机构申请域名domain.com的HTTP证书将被拒绝。 |
0 issue ";" |
该字段表示拒绝任何CA机构为域名domain.com颁发证书。 |
|
设置发送警报通知 |
0 iodef "mailto:admin@domain.com" |
该字段用于当第三方尝试为一个未获得授权的域名申请证书时,通知CA机构向网站所有者发送警报邮件。 |
0 iodef "http:// domain.com/log/" 0 iodef "https:// domain.com/log/" |
该字段用于记录尝试在其他CA申请HTTPS证书的行为。 |
|
设置颁发通配符域名证书 |
0 issuewild "ca.example.com" |
该字段用于将通配符证书的颁发权限指定CA机构ca.example.com。 |
综合配置样例 |
0 issue "ca.abc.com" 0 issuewild "ca.def.com" 0 iodef "mailto:admin@domain.com" |
该字段表示域名domain.com:
|
验证CAA解析记录是否生效?
CAA解析记录可以通过dig+trace命令查看域名是否生效以及具体的解析过程。如果操作系统没有自带dig命令,需要手动安装后才能使用。
命令格式为:dig [类型] [域名] +trace。
示例如下:
dig caa www.example.com +trace