MongoDB - 防止未经授权的用户打开控制台

时间:2014-12-14 06:39:43

标签: mongodb

尝试在我的开发群集中设置授权,我无法阻止用户打开我的mongods控制台。

我在配置文件中启用了授权:

secutiry:
  authorization: enabled

并创建了一个具有userAdminAnyDatabase角色的管理员用户。

然而,当从另一台机器连接未经授权的服务器时,我可以进入控制台。

我在尝试发出命令时遇到权限错误,但我想知道是否有任何阻止控制台打开的方法 - 提前获取权限错误。

1 个答案:

答案 0 :(得分:0)

如果您只需要从运行在同一服务器上的应用程序访问MongoDB部署,则可以使用bind_ip configuration option来控制MongoDB进程监听的网络接口。默认情况下,这应该已经在MongoDB 2.6 +的打包版本中设置为“127.0.0.1”(localhost)。

如果您希望服务器侦听更多公共网络接口(例如本地LAN)并希望完全阻止远程连接,则可以通过防火墙配置限制源IP访问。

MongoDB手册中的Network Security Tutorials包含了一些有用的示例:

如果用户/应用程序可能从这些远程IP进行身份验证,则无法阻止他们打开控制台连接(没有权限)。这与其他服务(sshd,apache等)如何使用身份验证类似:第1步是建立连接,第2步进行身份验证。

有关MongoDB最佳做法的详细信息,请参阅手册中的Security部分。