gpt4 book ai didi

mongodb - 如何拒绝未经身份验证的 mongodb 连接

转载 作者:可可西里 更新时间:2023-11-01 09:31:11 26 4
gpt4 key购买 nike

所以我已经成功启动并运行了 mongodb,在 admin 数据库中添加了一个 super 管理员用户,在我的测试表中添加了一个本地管理员用户。我用

开始了 mongod
mongod --dbpath ./ --auth

但是如果我运行

mongo 

在终端上,我无法执行任何修改或读取,但我似乎仍然能够使用

嗅探数据库
use <DBNAME>

如果没有提供用户名和密码,有没有一种方法可以完全拒绝与 mongod 实例的连接?

最佳答案

这里有一个误解,use <dbname>无论数据库是否存在都将工作,没有信息泄漏,因为它们无法运行 show databasesshow collections确认某些东西确实存在(因为他们没有足够的权限)。未经身份验证的 session 并不比原始 TCP 套接字好,只是看起来更像,因为您使用的是 mongo shell作为客户端(您也可以运行 mongo --nodb 并做一些事情,但这并不意味着任何东西都受到损害,在这种情况下甚至没有与数据库的连接)。

因此,您所要求的是一种在建立 TCP 连接之前拒绝连接的方法。但是,您必须先建立 TCP 连接才能真正进行身份验证(否则您如何与数据库对话以进行身份​​验证?),因此当您考虑分布式数据库的工作方式时,这真的没有多大意义。

如果您想拒绝来自可信 IP 地址以外的连接并锁定内容等,那么这通常是个好主意,但它是在数据库外部完成的,在 iptables 中。或您选择的防火墙。

关于mongodb - 如何拒绝未经身份验证的 mongodb 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26025380/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com