防止未授权域名指向我们的Discourse实例

我们在服务器上运行一个Discourse实例,但遇到一个问题,即任何人都可以使用我们的服务器公网IP,并在他们自己的域名上创建一个A记录,实际上将他们的域名指向我们的论坛。

我们希望确保只有我们授权的域名可以用来访问论坛,并阻止未授权的域名正常工作。

在Discourse中强制实施域名限制的推荐方法有哪些?是否有配置、Nginx设置或其他方法可以实现这个目标?

任何指导意见将不胜感激。

1 个赞

您使用的是标准安装吗?默认情况下,Discourse 会重定向到主机名。

4 个赞

这有什么作用呢?OP 建议现在每个人都可以搞砸世界上几乎所有的网络服务。

算了。这就是为什么我们必须为网络服务配置主机。无论何时何地,包括 Discourse。

因此,这种劫持是无用的,因为正确的服务、网络服务器无论如何都会响应。

1 个赞

感谢 @Jagster@pfaffman - 我正在与 @Abdelrahman_MoHamed 一起处理这个问题。

为了我自己理解,如果这是我们的 discourse 域:

forum.get.it 指向 --》 34.170.141.119

有人设置了,比如说……

hijack.get.it 并指向 --》 34.170.141.119

预期的行为是,当有人输入:

hijack.get.it 时,它将重定向到 forum.get.it

这是正确的吗?

是的。这就是预期的行为,而且似乎也是实际的行为。据我所知,你没有问题。而且大多数浏览器会默认使用 https:,而 https://hijackeddomain.com 会生成一个证书错误。

1 个赞

是的,但什么也没发生。与现在有人通过 SSH、机器人等进行攻击的情况完全一样。

如果你设置了这样的网站/论坛,是的,他们会发送访问者,他们会看到你使用该域名开始的任何内容。但他们无法劫持你的域名,因为你告诉全世界该域名使用哪个名称服务器以及它指向哪个 IP。并且有 Web 服务器允许访问者进入,如果他们请求你为该域名配置的网站。如果请求的域名什么也没得到,那么门就保持关闭。

1 个赞

我明白那只是一个例子,但那种特定情况是不可能的,因为你拥有 get.it 域名,而它的域名服务器不知道任何可以指向 hijack.get.it 的 DNS :smirking_face:

1 个赞

是的,@Jagster 说得对。如果你拥有 get.it(顺便说一句,哇,$$$$$),别人就不能仅仅通过另一个子域名来使用你的域名。

1 个赞