javascript - MongoDB 安全问题

标签 javascript java mongodb security database

我对 MongoDB 安全性的信心动摇了,我希望它能在我做错事的解释下恢复......

我已经像这样创建了 MongoDB 的 Windows 服务:

mongod --logpath "C:\mongoDB\logs" --logappend --dbpath "C:\mongoDB\data\db" --serviceName MongoDB --serviceDisplayName "Mongo DB" --port 27017 --auth --install

然后我创建了一个数据库并将管理用户添加到该数据库的 system.users 集合中。

然后我在该数据库中填充了一些随机信息到我创建的测试集合中。

到目前为止,一切都很好,只有我拥有管理员凭据才能访问数据库...

现在是重要的部分......

我删除了这样的服务:

mongod --remove --serviceName "MongoDB"

然后我重新创建了服务,但没有像这样的身份验证:

mongod --logpath "C:\mongoDB\logs" --logappend --dbpath "C:\mongoDB\data\db" --serviceName MongoDB --serviceDisplayName "Mongo DB" --port 27017 --noauth --install

令我惊讶的是,我现在可以访问我创建的数据库,现在需要身份验证...

请告诉我我应该做些不同的事情。

最佳答案

身份验证发生在守护程序级别,而不是数据库级别。数据本身未加密或以其他方式受访问控制。如果您在不需要凭据的情况下运行该服务,那么正如预期的那样,连接和使用它不需要凭据。

这通常不被认为是有问题的,就好像您可以访问服务器并可以修改守护进程一样,根据定义,您无论如何都可以访问数据文件。

关于javascript - MongoDB 安全问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13276329/

相关文章:

java - 使用 ArrayList 对象时,Windows 上的 Netbeans 6.9.1 无法运行并出现以下错误

mongodb - 将 wikidata json 转储导入 mongodb

javascript - 以编程方式停止 html/javascript/css 中的特定代码块

javascript - 如何使用 javascript 使用来自 asp.net webservice 的 Json 数据

javascript - 在 .replace() 之后恢复光标位置

Javascript:10秒后调用函数,然后每1分钟调用一次

java - Java 有向图中循环检测的代码简化

java - 仅在方法期间激活 JProgressBar

C# 官方 MongoDB 驱动程序代码,用于更新(替换)MongoDB 文档中的内部数组

mongodb - "Structured"MongoDB分组查询