本文概述
利用CAA DNS记录授权CA颁发TLS证书。
什么是DNS CAA?
CAA是指示CA是否应颁发证书的DNS记录类型之一。换句话说, 你是在让世界知道谁应该发布你的域SSL / TLS证书。 CAA实施是在2017年末强制实施的, 因此它相对较新, 只有不到5%的热门网站实施了CAA。
让我们举个例子-Geekflare拥有一个名为” gf.dev”的网站, 该网站具有以下CAA记录。
gf.dev. 3586 IN CAA 0 issue "digicert.com; cansignhttpexchanges=yes"
gf.dev. 3586 IN CAA 0 issuewild "comodoca.com"
gf.dev. 3586 IN CAA 0 issue "comodoca.com"
gf.dev. 3586 IN CAA 0 issuewild "digicert.com; cansignhttpexchanges=yes"
gf.dev. 3586 IN CAA 0 issuewild "letsencrypt.org"
gf.dev. 3586 IN CAA 0 issue "letsencrypt.org"
通过查看以上结果, 我可以获得仅由DigiCert, Comodo和Let’s crypto颁发的证书。如果我要求Thawte或其他CA为gf.dev颁发证书, 那么他们将无法这样做。另外, 如果你注意的话, 你会发现有些条目有问题, 有些则是野生的。让我们找出它们是什么。
- 颁发–指示CA仅为该域颁发证书。
- issuewild – CA可以颁发通配符证书, 以便可以在域或子域中使用它。
CAA记录还支持iodef(事件对象描述交换格式), 它允许CA将违规报告发送到指定的电子邮件或联系方式。
没有找到CAA记录会怎样?
如果某个域没有CAA记录, 那么任何人都可以为该域生成CSR并获取由任何CA签名的证书。这是安全隐患。
现在清楚了吗?
我在上面使用了一些缩写。让我们看看它们是什么。
- DNS –域名系统
- CA –证书颁发机构
- CAA –证书颁发机构授权
- TLS –传输层安全
- SSL –安全套接字层
如何查看DNS CAA记录?
有多种验证CAA记录的方法。如果你不想离开终端机, 则可以使用dig命令进行检查。
dig caa $YOURWEBSITE.COM
geekflare.com的示例
[email protected]:~# dig caa geekflare.com
; <<>> DiG 9.11.3-1ubuntu1.8-Ubuntu <<>> caa geekflare.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54430
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;geekflare.com. IN CAA
;; ANSWER SECTION:
geekflare.com. 3600 IN CAA 0 issuewild "comodoca.com"
geekflare.com. 3600 IN CAA 0 issuewild "letsencrypt.org"
geekflare.com. 3600 IN CAA 0 issue "comodoca.com"
geekflare.com. 3600 IN CAA 0 issue "digicert.com; cansignhttpexchanges=yes"
geekflare.com. 3600 IN CAA 0 issue "letsencrypt.org"
geekflare.com. 3600 IN CAA 0 issuewild "digicert.com; cansignhttpexchanges=yes"
;; Query time: 7 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Tue Oct 08 07:12:21 UTC 2019
;; MSG SIZE rcvd: 298
[email protected]:~#
如果你想进行远程测试, 则可以使用DNS CAA Tester联机工具。
如何添加CAA记录?
从技术上讲, 这与添加其他DNS记录(例如A, NS, CNAME等)的方式相同。
如果你使用的是Cloudflare, 请转到DNS标签>>添加一条记录, 然后选择CAA作为类型。
对于GoDaddy, 请转到DNS管理并添加一条记录
如果不确定如何添加, 则可以与DNS /主机提供商联系以寻求帮助。
总结
如果尚未, 则应利用CAA记录来添加域安全性层。添加CAA记录无需花钱。
评论前必须登录!
注册