防止对不受信任的域使用 CNAME 记录

防止对不受信任的域使用 CNAME 记录

我使用 Route53 作为 DNS,并希望防止使用不受信任的域的 CNAME 记录。

例如,我有三个域:

  • master.com
  • test1.com
  • test2.com

master.com有 A 记录:

  • test1.comCNAMEmaster.com
  • test2.comCNAMEmaster.com

我想保护master.com并防止为其他域名创建 CNAME(除test1.comtest2.com

我怎样才能做到这一点?

答案1

DNS 不支持此功能。无论您使用哪个 DNS 提供商,因为创建 CNAME 记录完全在“源”域中完成,并且根本不联系“目标”。因此,域可以发布任何DNS 记录任何数据。

您唯一能做的事情 - 处理 HTTP(S)、TLS-SNI 和其他支持虚拟主机的协议时 - 是确保您的服务器拒绝所有对未知虚拟主机的请求。

答案2

您无法阻止某人创建指向您域名的 CNAME 记录,就像您无法阻止某人告诉他们的朋友拨打您的电话号码一样。

CNAME 记录就像在答录机上留下一段录音,提示您拨打其他号码。例如,您拨打 555-1111,消息说“拨打 555-2222”。同样,的 CNAME 记录www.example.com可以指向www.yourdomain.com。当 DNS 客户端查找www.example.com并遇到 CNAME 记录时,它会重新启动 ... 的 DNS 查找过程,就像它一开始www.yourdomain.com就尝试查找一样。www.yourdomain.com

由于您无法控制创建 CNAME 记录的域,并且您无法区分由于 CNAME 记录而发起的域记录查找与本机查找,因此您无法阻止 CNAME 记录指向您,就像您无法阻止某人在自己的答录机上留言告诉呼叫者改为拨打您的号码一样。

相关内容