AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 749239
Accepted
Paulo Coghi
Paulo Coghi
Asked: 2016-01-15 14:28:42 +0800 CST2016-01-15 14:28:42 +0800 CST 2016-01-15 14:28:42 +0800 CST

如何管理尝试将同一域添加到我的 DNS 服务器的多个用户

  • 772

我正在开发免费的 DNS 服务,当两个或多个客户尝试添加同一个域(几乎同时)时,我无法完全解决这种情况。

以下是处理这种情况的一些解决方案,但它们似乎都不是好的或可行的。


解决方案1:

为每个客户使用不同的名称服务器对

创建多个不同的 ns(如 ns1、ns2.. ns49、ns50、ns51..)允许我使用不同的服务器对,不同的客户尝试添加相同的域。

真正的所有者将仅在域注册商中使用他的一对(即:ns8 和 ns9),因此只有他的记录将被接受并传播到整个互联网。

解决方案1的问题:

它容易受到大规模攻击

如果恶意人员创建了非常多的帐户,那么如果所有这些帐户都尝试添加相同的域,那么就不可能拥有相同数量的对。


解决方案2:

只允许一个用户帐户使用域

如果一个用户已经添加了一个特定的域并在他的域注册器中正确配置了它,那么其他帐户将无法添加相同的域。

解决方案2的问题:

宽限期

验证添加的域可能需要数小时(如果我错了,请纠正我)。这将需要我给一个“宽限时间”,以允许每个最近添加的域保持“未经验证”,直到我们可以通过相应的域注册商对其进行验证。

此外,在此宽限期内,除非我们使用解决方案 1(但请记住#1 存在漏洞),否则没有其他帐户能够添加相同的域。


免费(或付费)DSN 服务如何解决这个问题?他们的方法是什么(因为任何用户显然都可以不受限制地添加它想要的任何域)?

编辑:关于重复

我的问题和Era 的问题略有不同。我是供应商而不是客户。而Era的问题,也只是从客户的眼中指向了问题所在。

此外,甚至来自 DigitalOcean 的@Jacob 也表示他们采用“先到先得”的方法,我试图避免这种方法,这也是我的问题存在的原因。

domain-name-system
  • 1 1 个回答
  • 531 Views

1 个回答

  • Voted
  1. Best Answer
    kasperd
    2016-01-15T16:52:59+08:002016-01-15T16:52:59+08:00

    解决方案 1 可用于对域的用户控制进行身份验证。在您的问题中,您似乎对自己施加了一些限制,可能是由于一些误解,或者可能是因为您希望它在不验证域的用户控制权的情况下工作。

    • 您不应该只使用两个 DNS 服务器。两个是最低要求,但我会更高。要使用的 DNS 服务器的确切数量是一个见仁见智的问题。我觉得四个是一个不错的选择。每个域使用的 DNS 服务器数量越多,您就有更多可能的组合。
    • 正如您已经观察到的那样,NS 记录指向名称。可能有多个名称指向相同的 IP 地址,这意味着您不会缺少名称。
    • 您的服务需要 IPv4 和 IPv6。使用 IPv6,您也不会缺少 IP 地址。完全有可能让每台服务器监听足够多的 IPv6 地址,这样您就可以为每个用户拥有一个唯一的 IP 地址。

    假设您确实验证了用户对域的控制权,上述三个观察结果中的任何一个都应该填补您提出的解决方案 1 中的空白以使其工作。

    如果您想要一个无需用户首先验证他们对域的控制权的解决方案,我只能建议您依赖 IPv6。

    混合解决方案可能会为用户提供顺畅的流程。我会设计如下:

    • 为每个 DNS 服务器分配 /64 地址空间。
    • 为每个用户分配一个 64 位的接口标识符。
    • 为每个 DNS 服务器和用户组合分配 3 个主机名(一个仅 v4、一个仅 v6 和一个双栈)。例如,主机名可能看起来像kasperd-ns1-ds.example.com.

    用户可以创建他们喜欢的任何区域名称。它将立即在该用户的 IPv6 地址上可用。

    在 IPv4 地址(必须在用户之间共享)上为特定区域提供服务将采用先到先得的方式。但是任何后来的用户都可以通过将域的 NS 记录指向您分配给该用户的任何主机名来验证对域的控制。域的认证控制优于先到原则。

    • 1

相关问题

  • Solaris DNS

  • resolv.conf 在经过一段时间后被更改

  • 为什么有些网站的网址中没有“www”就无法显示?[关闭]

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve