名称服务器提供商是否可以劫持 MX 记录?

信息安全 电子邮件 中间人 dns
2021-08-21 00:15:59

比方说:

  1. 我们从http://cheap-unsecure-domains.example购买域名。
  2. 然后在我们的控制面板中,cp.cheap-unsecure-domains.example我们将其配置为使用Cloudflare服务。
  3. 例如,我们在 Cloudflare 设置了一些 MX 记录并将它们指向 Google。

  • 从理论上讲,应该有可能cheap-unsecure-domains劫持我们的MX 记录,而不是参考 Cloudflare 来自行回答它们。这个对吗?
  • 如果是,是否有针对此类攻击的任何类型的保护?除了使用GPG 之类的东西

我正在考虑可能对接收方的攻击。

4个回答

是的,您的注册商不仅可以劫持您的MX记录,还可以劫持您的整个 DNS。

不仅如此,他们还可以继续拦截发送到您域的邮件,为您的域获取有效的 CA 签名 SSL 证书,并使用受信任的 SSL 证书为您的域托管一个站点。DNSSEC 不会阻止这一切。

注册商的主要功能之一是为您的域注册名称服务器。例如,如果您对 进行 whois 查找stackexchange.com,您将看到其注册商stackexchange.com是 eNom, LLC.,并且其名称服务器stackexchange.com由 Google Cloud 和 Amazon AWS 托管。因此,DNSstackexchange.com由 Google Cloud 和 Amazon AWS 处理。

在您在问题中给出的示例中,cheap-unsecure-domains 是yourdomain.example. 使用便宜的不安全域,您将 Cloudflare 的名称服务器指定为yourdomain.example. 因此,DNSyourdomain.example由 Cloudflare 的名称服务器处理。然后,在 Cloudflare 的控制面板中,设置您的 DNS 记录yourdomain.example,包括您的A记录、MX记录等。

因此,如果廉价的不安全域想要拦截您的邮件 - 他们不需要侵入您在 Cloudflare 的帐户来更改您的 DNS 记录。他们只需将名称服务器更改为yourdomain.example他们自己的,然后yourdomain.example在他们的名称服务器中创建 MX 记录以指向他们自己的邮件服务器。然后,他们将开始接收发送到您的域的邮件。

有趣的是,他们可以开始yourdomain.example使用 SMTP STARTTLS 安全地接收邮件,甚至无需获得yourdomain.example. 他们可以只使用自己的证书。请参阅https://blog.filippo.io/the-sad-state-of-smtp-encryption/

现在,事情变得更加阴险。他们可以开始接收hostmaster@yourdomain.example(或admin@yourdomain.example,或用于 SSL 域验证的任何其他指定的已批准电子邮件地址)的邮件。然后,他们可以向受信任的 CA 请求 SSL 证书yourdomain.example,当 CA 将验证链接发送到时hostmaster@yourdomain.example,他们会收到它,然后 CA 将颁发证书。现在,他们可以为 设置A记录www.yourdomain.example,并使用有效证书运行一个站点www.yourdomain.example

此时,您可能想知道 - 使用 DNSSEC 不能防止这种类型的攻击吗?答案是不。DNSSEC 记录存储在域的 DNS 中。当注册商将其域名服务器更改为yourdomain.example他们自己的域名服务器时,您为其创建的 DNSSEC 记录以及您创建的yourdomain.example所有其他 DNS 记录都将消失。有关更多信息,请参阅https://moxie.org/blog/ssl-and-the-future-of-authenticity/

理论上,便宜的不安全域应该有可能劫持我们的 MX 记录,而不是参考 Cloudflare 来自行回答它们。这个对吗?

是的,他们有可能做到这一点。虽然他们不能没有你注意到。所以你可以监控这个。

如果是,是否有针对此类攻击的任何类型的保护?除了使用像 GPG 这样的东西。

使用信誉良好的域名注册商,不一定是便宜的。监控您的 DNS。

“理论上应该可以cheap-unsecure-domains劫持我们的MX记录。这样说对吗?”

这对于信誉不佳的域名注册商公司来说是正确的,而且安全性被认为是乏善可陈的!好的公司为他们的客户提供安全服务和套件,但这通常是有代价的,因此有些用户经常使用其他替代品,比如这些“cheap-unsecure-domains 公司”。

阻止此类攻击(劫持/社会工程/身份盗窃)的最常见做法是,

  • 标准良好的网络卫生(强密码、“域控制面板”和域所有者电子邮件帐户上的双重身份验证(2FA))
  • 避免信誉不佳的域名托管服务提供商(很大一部分劫持来自利用域名注册商系统中的漏洞)
  • 使您的域详细信息和联系信息保持最新,并在进行更改时设置通知(更多的是恢复实践)。

您已经提到使用 Cloudflare 作为您的控制面板。他们确实提供了一套安全服务供您使用。他们的DNSSEC可能适合您。

他们必须将域的上游名称服务器更改回他们自己的 DNS 服务器,在那里他们可以托管您的 DNS 记录的副本,而只更改 MX 记录。只要上游 NS 记录仍然指向 Cloudflare,它们就不能仅覆盖 MX 记录。

因此,您可以监控上游注册表中您域的 NS 记录是否仍指向 cloudflare,并在它们发生更改时发出警报。