我的服务器上运行着一个 mongodb,对于到数据库的本地连接,我不需要任何密码来保护它(即在同一台物理机器内,这意味着通过 127.0.0.1 ip 地址连接到服务器)。
但是我不希望网络中的其他人能够在没有密码的情况下连接到我的数据库,只有授权用户才能连接到我的数据库。所以我想为远程用户做密码保护。
怎么做?
我的服务器上运行着一个 mongodb,对于到数据库的本地连接,我不需要任何密码来保护它(即在同一台物理机器内,这意味着通过 127.0.0.1 ip 地址连接到服务器)。
但是我不希望网络中的其他人能够在没有密码的情况下连接到我的数据库,只有授权用户才能连接到我的数据库。所以我想为远程用户做密码保护。
怎么做?
目前monogdb不支持基于用户位置的身份验证模式。所以这意味着如果你运行mongod
它--auth
,它将适用于每个人。
(还没有)高级身份验证模式,如 IP、协议源等。现在您只能定义用户是否对数据库具有只读或写权限。所以基本上mongodb唯一关心的是你是否为正确的用户输入了正确的密码。
我个人建议在所有生产环境中使用安全模式,因为即使您只允许来自本地主机的连接,任何有权访问本地服务器的用户或主机上的任何恶意脚本都可以轻松擦除您的所有数据。
MongoDB安全和身份验证页面包含有关配置用户身份验证和防火墙设置的信息。
请注意,当您为数据库启用密码身份验证时,身份验证要求将适用于本地和远程用户(因此您还需要通过本地 IP 使用密码进行连接)。
MongoDb 没有提供一种简单的方法来保护数据库。我认为这就是为什么网络上有成千上万的 mongodb 实例不受黑客保护的原因