CAA 指南
CAA(Certification Authority Authorization,证书颁发机构授权)是一项防止 HTTPS 证书错误颁发的安全措施,遵从 IETF RFC6844。CA 浏览器论坛投票通过的187号提案要求,从2017年9月8日起,CA 机构执行 CAA 强制性检查。
CAA 标准
CAA 标准是指域名所有者在其域名 DNS 记录的 CAA 字段中,授权指定的 CA 机构为其域名颁发证书。 全球约有上百个 CA 机构有权发放 HTTPS 证书,证明您网站的身份。但部分证书颁发机构由于某些原因,往往会被浏览器列入”黑名单”,并被公开宣布将不再信任其签发的 HTTPS 证书。CAA 标准可以使网站将指定 CA 机构列入白名单,仅授权指定 CA 机构为网站的域名颁发证书,防止 HTTPS 证书错误颁发。设置 CAA 记录是提高网站安全性的方法之一。
CA 机构在为域名签发证书时执行 CAA 强制性检查:
- 如果检查域名的 DNS 记录,发现未设置 CAA 字段,则为该域名颁发证书。这种情况下,任何 CA 机构均可为该域名签发证书,存在HTTPS证书错误颁发的风险。
- 如果检查域名的 DNS 记录,在 CAA 字段发现获得授权,则为该域名颁发证书。
- 如果检查域名的 DNS 记录,在 CAA 字段发现未获得授权,则拒绝为该域名颁发证书,防止未授权 HTTPS 证书错误颁发。
- 为域名颁发证书时,仅检查域名本身的 CAA 字段,不受主域 CAA 字段的授权影响。
CAA 记录格式
CAA记录的格式为:[flag] [tag] [value],是由一个标志字节的 [flag] 和一个被称为属性的[tag]-[value](标签-值)对组成。您可以将多个 CAA 字段添加到域名的DNS记录中。
字段说明
字段 | 说明 |
---|---|
flag | 0-255之间的无符号整数,用于标志认证机构。通常情况下填0,表示如果颁发证书机构无法识别本条信息,就忽略。 |
tag | 支持 issue、issuewild 和 iodef。 issue:CA 授权单个证书颁发机构发布的 任何类型 域名证书。 issuewild:CA授权单个证书颁发机构发布主机名的 通配符 证书。 iodef:CA可以将违规的颁发记录URL发送给某个电子邮箱。 |
value | CA的域名或用于违规通知的电子邮箱。 |
配置样例
目的 | 样例 | 描述 |
---|---|---|
设置单域名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: - 授权CA机构ca.abc.com颁发不限类型的证书。 - 授权CA机构ca.def.com颁发通配符证书。 - 禁止其他CA机构颁发证书。 - 当有违反设置规则的情况发生,CA机构发送通知邮件到admin@domain.com。 |
CAA 配置步骤
- 复制 Certcloud 平台的CAA检测记录值
- 登录异常域名的托管商平台,找到对应主域的记录添加入口;
- 添加解析记录,提交并等待解析生效
- 返回Certcloud平台, 确保异常域名的CAA记录都已配置完成, 点击“重新检测”;
- 看到页面提示检测通过即可。
CAA 记录查看
可通过 dig 域名 记录类型 命令来查询CAA记录解析情况
May 24, 2023