尝试在我的开发群集中设置授权,我无法阻止用户打开我的mongods控制台。
我在配置文件中启用了授权:
secutiry:
authorization: enabled
并创建了一个具有userAdminAnyDatabase角色的管理员用户。
然而,当从另一台机器连接未经授权的服务器时,我可以进入控制台。
我在尝试发出命令时遇到权限错误,但我想知道是否有任何阻止控制台打开的方法 - 提前获取权限错误。
答案 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部分。