我们在服务器上运行一个Discourse实例,但遇到一个问题,即任何人都可以使用我们的服务器公网IP,并在他们自己的域名上创建一个A记录,实际上将他们的域名指向我们的论坛。
我们希望确保只有我们授权的域名可以用来访问论坛,并阻止未授权的域名正常工作。
在Discourse中强制实施域名限制的推荐方法有哪些?是否有配置、Nginx设置或其他方法可以实现这个目标?
任何指导意见将不胜感激。
我们在服务器上运行一个Discourse实例,但遇到一个问题,即任何人都可以使用我们的服务器公网IP,并在他们自己的域名上创建一个A记录,实际上将他们的域名指向我们的论坛。
我们希望确保只有我们授权的域名可以用来访问论坛,并阻止未授权的域名正常工作。
在Discourse中强制实施域名限制的推荐方法有哪些?是否有配置、Nginx设置或其他方法可以实现这个目标?
任何指导意见将不胜感激。
您使用的是标准安装吗?默认情况下,Discourse 会重定向到主机名。
这有什么作用呢?OP 建议现在每个人都可以搞砸世界上几乎所有的网络服务。
算了。这就是为什么我们必须为网络服务配置主机。无论何时何地,包括 Discourse。
因此,这种劫持是无用的,因为正确的服务、网络服务器无论如何都会响应。
感谢 @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 会生成一个证书错误。
是的,但什么也没发生。与现在有人通过 SSH、机器人等进行攻击的情况完全一样。
如果你设置了这样的网站/论坛,是的,他们会发送访问者,他们会看到你使用该域名开始的任何内容。但他们无法劫持你的域名,因为你告诉全世界该域名使用哪个名称服务器以及它指向哪个 IP。并且有 Web 服务器允许访问者进入,如果他们请求你为该域名配置的网站。如果请求的域名什么也没得到,那么门就保持关闭。
我明白那只是一个例子,但那种特定情况是不可能的,因为你拥有 get.it 域名,而它的域名服务器不知道任何可以指向 hijack.get.it 的 DNS ![]()
是的,@Jagster 说得对。如果你拥有 get.it(顺便说一句,哇,$$$$$),别人就不能仅仅通过另一个子域名来使用你的域名。