什么是DNS CAA(如何验证和实施?)

本文概述

  • 什么是DNS CAA?
  • 没有找到CAA记录会怎样?
  • 如何查看DNS CAA记录?
  • 如何添加CAA记录?
利用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 SIZErcvd: 298[email  protected]:~#

如果你想进行远程测试, 则可以使用DNS CAA Tester联机工具。
如何添加CAA记录? 从技术上讲, 这与添加其他DNS记录(例如A, NS, CNAME等)的方式相同。
如果你使用的是Cloudflare, 请转到DNS标签> > 添加一条记录, 然后选择CAA作为类型。
什么是DNS CAA(如何验证和实施?)

文章图片
对于GoDaddy, 请转到DNS管理并添加一条记录
什么是DNS CAA(如何验证和实施?)

文章图片
如果不确定如何添加, 则可以与DNS /主机提供商联系以寻求帮助。
总结
【什么是DNS CAA(如何验证和实施?)】如果尚未, 则应利用CAA记录来添加域安全性层。添加CAA记录无需花钱。

    推荐阅读