今天在使用SSL Labs提供的ssl安全性测试工具时,提示没有配置DNS的CAA记录,如图

《关于DNS的CAA记录》

以下就记录一下DNS的CAA记录的用途以及配置方法

什么是CAA

CAA的全拼是(DNS) Certification Authority Authorization,即DNS证书颁发机构授权,是一项借助互联网的域名系统(DNS),使域持有人可以指定允许为其域签发证书的数字证书认证机构(CA)的技术。它会在 DNS 下发 IP 的同时,同时下发一条资源记录,标记该域名下使用的证书必须由某证书颁发机构颁发。从而限定了特定域名颁发的证书和CA(证书颁发机构)之间的联系。避免了任意CA可以为任意域名颁发证书的风险。(可以参考赛门铁克擅自颁发google相关域名证书的事件)

关于CAA,在RFC 6844中有定义,但由于种种原因配置该DNS资源记录的网站寥寥无几。同时,由于大多数域名服务商并不支持CAA类型记录的解析,因此,这项标准应用范围还不是很广。

CAA支持列表

CAA的使用,肯定需要DNS的支持,目前,CAA记录在下列软件中已获支持:BIND DNS服务器(自版本9.10.1B起)、NSD权威DNS服务器(自版本4.0.1起)、Knot DNS服务器(自2.2.0版本起以及PowerDNS(自4.0.0版本)。【摘自维基百科】

目前,国内的DNS服务商中,阿里云以及cloudxns已经支持CAA记录的解析,dnspod以及腾讯云暂时不支持,其他没有测试,具体的支持列表可以点击这里查看(国外的信息比较全,国内没收录几家)

启用DNS CAA

以下就以CloudXNS为例,大致说一下CAA的配置方法。

点击域名解析管理,添加CAA记录,记录值为 0 issue letsencrypt.org(我使用的证书是letsencrypt的免费证书,这里的值根据不同的CA签发机构来决定,如果不清楚,可以使用在线配置生成工具进行配置的生成,地址是 https://sslmate.com/caa/《关于DNS的CAA记录》

另外,可以再添加一条 0 iodef mailto:i@90.vc 的CAA记录,当发现违背 CAA 记录的情况给这个邮箱发邮件通知。

PS : CloudXNS的CAA记录不支持双引号,使用sslmate生成的配置需要去掉双引号

检测CAA

可以使用在线检测工具https://www.ssllabs.com/ssltest进行检查

更新

cloudxns已经废了,现在阿里云普通用户也可以使用CAA记录,可以考虑使用

最后修改:2020 年 03 月 20 日
如果觉得我的文章对你有用,请随意赞赏