Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
被未经授权的IP访问的MongoDB_Mongodb_Security - Fatal编程技术网

被未经授权的IP访问的MongoDB

被未经授权的IP访问的MongoDB,mongodb,security,Mongodb,Security,我最近刚刚在我的一个开发服务器上玩MongoDB,没有做任何太严肃的事情,尽管我知道我允许从任何IP进行远程连接。几天之内,数据库遭到了勒索企图的“黑客”攻击。我对此不屑一顾,决定继续将IP绑定到我的个人公共IP和本地服务器上,并认为这样可以关闭漏洞 没有。数据库再次被破坏,所以我决定查看一下日志,很明显,day显示连接是从一个未包含在我的配置中的IP完成的。这怎么可能还在发生 此外,在进行ipbind更改后,我确实执行了服务mongodb重启 这是我的配置文件的网络接口部分 # network

我最近刚刚在我的一个开发服务器上玩MongoDB,没有做任何太严肃的事情,尽管我知道我允许从任何IP进行远程连接。几天之内,数据库遭到了勒索企图的“黑客”攻击。我对此不屑一顾,决定继续将IP绑定到我的个人公共IP和本地服务器上,并认为这样可以关闭漏洞

没有。数据库再次被破坏,所以我决定查看一下日志,很明显,day显示连接是从一个未包含在我的配置中的IP完成的。这怎么可能还在发生

此外,在进行ipbind更改后,我确实执行了
服务mongodb重启

这是我的配置文件的网络接口部分

# network interfaces
net:
  port: 27017
  bindIp: [127.0.0.1,90.207.xxx.xxx,76.94.xxx.xxx,23.23.xxx.xxx]
试一试

然后您就会知道mongo服务绑定在哪个ip上…

试试看


然后你就会知道mongo服务绑定在哪个ip上…

我发现了问题。[xxx.xxx.xxx.xxx,xxx.xxx.xxx.xxx]不能是IP绑定的正确语法。为了进行测试,我将IP绑定改回

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1
这实际上阻止了我的连接尝试,所以我尝试了

# network interfaces
net:
  port: 27017
  bindIp: [127.0.0.1,1.1.1.1]

这是一个明显错误的IP,它让我连接没有问题。我从上一个stackoverflow问题中复制了这个语法。现在,我只需要找到适当的方法来实现这一点。

我发现了问题所在。[xxx.xxx.xxx.xxx,xxx.xxx.xxx.xxx]不能是IP绑定的正确语法。为了进行测试,我将IP绑定改回

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1
这实际上阻止了我的连接尝试,所以我尝试了

# network interfaces
net:
  port: 27017
  bindIp: [127.0.0.1,1.1.1.1]
这是一个明显错误的IP,它让我连接没有问题。我从上一个stackoverflow问题中复制了这个语法。现在,我只需要找到合适的方法来实现这一点。

是MongoDB服务器侦听的IP地址列表,而不是限制远程访问的防火墙。如果您的服务器有一个私有IP和一个公共IP,那么
bindIp
列表最多应该有三个条目:127.0.0.1(本地主机)、私有IP和公共IP

理想情况下,您应该将MongoDB部署限制为仅侦听本地主机或专用IP,并通过SSH或VPN进行远程连接

深入的安全性需要多种措施,如中所述

例如,除了更正
bindIp
设置外,您还应该:

  • 确保您正在运行受支持的MongoDB版本(如2017年1月的MongoDB 3.0或更新版本)
  • 确保您已更新到MongoDB生产系列的最新次要版本(即,如果您使用的是MongoDB 3.2,则为最新的3.2.x)
  • 确保已应用最新的O/S安全更新
是MongoDB服务器侦听的IP地址列表,而不是限制远程访问的防火墙。如果您的服务器有一个私有IP和一个公共IP,那么
bindIp
列表最多应该有三个条目:127.0.0.1(本地主机)、私有IP和公共IP

理想情况下,您应该将MongoDB部署限制为仅侦听本地主机或专用IP,并通过SSH或VPN进行远程连接

深入的安全性需要多种措施,如中所述

例如,除了更正
bindIp
设置外,您还应该:

  • 确保您正在运行受支持的MongoDB版本(如2017年1月的MongoDB 3.0或更新版本)
  • 确保您已更新到MongoDB生产系列的最新次要版本(即,如果您使用的是MongoDB 3.2,则为最新的3.2.x)
  • 确保已应用最新的O/S安全更新

试试这个问题,你可能会找到一些答案哦!很好,抱歉。您只能允许这些来自服务器的有限IP连接到您的数据库。我想你现在可能已经将它们设置为0.0.0.0。你是什么意思?我已经包括了我的bindIp设置。我目前将其设置为4个可能的IP,包括127.0.0.1。我在我的日志中看到的连接都不是这些。在上尝试这个问题,你可能会找到一些答案哦!很好,抱歉。您只能允许这些来自服务器的有限IP连接到您的数据库。我想你现在可能已经将它们设置为0.0.0.0。你是什么意思?我已经包括了我的bindIp设置。我目前将其设置为4个可能的IP,包括127.0.0.1。我在日志中看到的连接都不是这些。我只是按照安全检查表结束,从那以后就没有问题了。将此标记为正确答案。我只是按照安全检查表进行操作,从那以后就没有出现问题。将此标记为正确答案。不正确。这不是找到合适的方法来做这件事的问题。bindIp不是防火墙。它只定义mongodb绑定到的IP地址列表。您只能放置当前托管mongodb服务器的机器M的IP地址。要允许远程访问,您需要将公共IP设置为M。要允许LAN连接,您需要将本地专用IP设置为M。最后,要仅允许来自当前托管mongodb服务器的同一台机器的连接,您需要编写127.0.0.1(请注意,多个IP的语法各不相同)。错误。这不是找到合适的方法来做这件事的问题。bindIp不是防火墙。它只定义mongodb绑定到的IP地址列表。您只能放置当前托管mongodb服务器的机器M的IP地址。要允许远程访问,您需要将公共IP设置为M。要允许LAN连接,您需要将本地专用IP设置为M。最后,要仅允许来自当前托管mongodb服务器的同一台机器的连接,您需要编写127.0.0.1(请注意,多个IP的语法各不相同)。