堕落的鱼前段时间介绍过CAA记录,具体可查看CAA记录(证书颁发机构授权记录)详解。
2017年3月7日,CA|B Forum (一个全球证书颁发机构与浏览器的技术论坛)发起了一项关于对域名强制检查CAA的一项提议的投票,获得187票支持,投票有效,提议通过。
提议通过后,将于2017年9月8日根据Mozilla的Gervase Markham提出的检查CAA记录作为基准要求来实施。
详情参见:Ballot 187 – Make CAA Checking Mandatory
为什么需要CAA强制性检查
根据CA|B Forum批准的新的CAA检查程序,CA必须检查客户申请证书的域名DNS记录中的CAA字段。域名所有者可以在CAA字段中留下指令,以防止钓鱼攻击者使用其域名申请SSL/TLS证书。例如:
domain.com. CAA 0 issue "wosign.com"
这个CAA字段告知证书颁发机构,只有wosign可以为该特定域名颁发证书。未经授权的第三方尝试通过其他CA注册获取用于该域名的SSL/TLS证书将被拒绝。
如何设置CAA字段
可以将多个CAA字段添加到域名的DNS记录中,例如,如果第三方尝试为一个未获得授权的域名申请证书,以下CAA字段会告诉CA向网站所有者发送一封邮件。这样的邮件表示有人正尝试为未经授权的网站申请HTTPS证书,网站所有者应该开始调查并深入检查该问题。
Iodef属性还支持URL端点,可以记录尝试在其他CA申请HTTPS证书的行为。
domain.com. CAA 0 iodef "http:// domain.com/fraud-log/"
如果站点使用多个子域,则CAA记录也可以限制钓鱼攻击者对其中任何一个域名申请HTTPS证书。
downloads. domain.com. CAA 0 issue "wosign.com"
news. domain.com. CAA 0 issue "certum.eu"
forum. domain.com. CAA 0 issue "startcom.org"
此外,CAA记录也可用于将通配符证书的颁发权限指定仅限一家CA。
domain.com. CAA 0 issuewild " wosign.com"
CAA强制性检查,需要网站所有者参与
CA|B Forum的187号提案强制证书颁发机构在颁发新的HTTPS证书之前验证CAA DNS记录,但不强制域名所有者创建DNS记录。如果网站所有者没有为其网站DNS记录设置CAA详细信息,这就意味着任何CA都可以为其域名颁发证书。因此,建议网站所有者在2017年9月8日之前,将CAA字段添加到DNS记录中,这样可以阻止钓鱼攻击者申请你的网站HTTPS证书,用来仿冒你的网站。
如果你的域名已经托管到了CloudXNS,恭喜你,CloudXNS已经开始免费支持创建CAA记录了,只需在CloudXNS域名管理页面按照如下图所示即可完成CAA记录添加。

目前来看CloudXNS是国内首家免费支持添加CAA记录的DNS解析服务提供商,希望国内的阿里云、腾讯云也尽快跟进。