我在本地使用了mongodb,无需身份验证,方法是将mongod
作为服务器运行,并以用户身份mongo
连接它。 现在,在创建用户并按mongod --auth
运行服务器后,我可以使用我分配的用户 ID 和 pwd 进行连接。
问题是在连接回monmongod
go时,它再次连接到数据库并且整个数据库再次可见,这不应该发生,因为我启用了身份验证。
使用mongod
作为服务器应该会阻止用户获得访问权限。我的个人服务器也是如此。
是否有任何解决方案可以永久启用安全性,使mongod --auth
而不仅仅是mongod。
如果我理解正确,您担心的是,在未启用访问控制的情况下重新启动mongod
进程允许您无需身份验证即可访问数据。这是预期的结果:直接访问重新启动服务或复制MongoDB数据文件的用户具有比mongod
进程更大的权限。
身份验证仅验证远程客户端对mongod
服务的访问:如果用户具有直接本地读取访问权限,则不会加密或保护数据文件。如果您有一个允许远程和/或多用户访问的环境,则应采取措施适当地限制对数据文件和服务管理的访问。
如果您想保护数据文件免受直接访问,听起来您可能正在寻找静态加密或磁盘加密。这些安全措施可防止在没有适当凭据的情况下直接读取访问数据文件或文件系统,但您仍然必须适当地限制访问并保护这些凭据。
有关一般措施,请参阅MongoDB安全清单。