跳转至

为什么要设置域名 CAA记录?


2017-12-19 by dongnan

开始之前

引子是 2015年发生过一起著名的沃通wosign误签发 GitHub域名SSL证书事件,用户在使用 schrauger.github.com以及schrauger.github.io的个人子页面权限,获取沃通信任后,成功拿到了 github.com、github.io、www.github.io这几个域名的证书。

此时,如果把用户的访问流量劫持到本地服务器,那么浏览器就能访问位于本地的伪造 GitHub钓鱼网站,HTTPS安全加密通信将没有任何作用。

所以,2017年3月,CA浏览器论坛投票通过 187号提案,要求CA机构从2017年9月8日起执行CAA强制性检查

CAA标准使得网站所有者,仅授权指定 CA机构为自己的域名颁发证书,以防止 HTTPS证书错误签发,为网站域名设置 CAA记录也成为了提高网站安全性方法之一。

什么是域名CAA记录?

平时使用的 SSL证书是由某些 "颁发机构"(CA)颁发的,例如著名的赛门铁克,以及一些小的机构, 但是证书颁发机构由于某些原因,往往会有些不规范行为,例如 wosign 事件。

CAA (Certification Authority Authorization,即证书颁发机构授权) 就是为了防止 HTTPS证书错误签发的安全措施。

如何设置CAA记录?

目前国内的域名服务商,只有部分能够支持 CAA记录功能,以阿里云云解析为例。 登录阿里云控制台,添加如下两条解析记录,如下所示:

@ 0 issue "symantec.com"
@ 0 iodef "mailto:admin@midengd.xyz"

如何查询CAA记录?

ubuntu 14.04 操作系统下的 dig 命令为例。

dig +nocmd +nocomment midengd.xyz caa | head -n5
;midengd.xyz.            IN    CAA
midengd.xyz.        600    IN    CAA    0 issue "symantec.com"
midengd.xyz.        600    IN    CAA    0 iodef "mailto:admin@midengd.xyz"
midengd.xyz.        3600    IN    NS    vip1.alidns.com.
midengd.xyz.        3600    IN    NS    vip2.alidns.com.

欢迎关注微信公众号: 运维录

Back to top