【问题标题】:mongodb - Prevent access to mongodb without authenticationmongodb - 防止未经身份验证访问 mongodb
【发布时间】:2016-07-02 02:37:52
【问题描述】:

我是 MEAN STACK 网络应用程序的新手。而且我无法在 mongodb 中进行正确的身份验证。 我想阻止没有用户名和密码的 mongodb 数据库访问。

依赖
"mongodb" => "版本": "2.4.9",
"OS" => "Ubuntu 14.04 lts 32bit",

【问题讨论】:

标签: node.js mongodb mongoose


【解决方案1】:

简单明了:你不能可靠。这有点像说

我希望我的房子安全,但我不想使用锁和钥匙。

为了保持在示例中,您可以雇用门卫(防火墙),但他无法可靠地告诉您除了整形手术看起来像您的人(IP 欺骗、劫持电脑,...)。

这甚至不包括授权。

想象一下所有公寓都没有门锁的公寓楼。现在,我们的门卫让您和居住在该建筑物中的所有其他人进入。但是,由于门卫被绑定到它的位置,任何可以合法进入建筑物的人都可以进入任何公寓并偷东西。或者在你的公寓里放法医证据,诬陷你没有犯下的罪行,然后直接告诉警察。

我想你明白了:如果你的 MongoDB 实例是可公开访问的,请添加身份验证和授权。即使您认为它是不可公开访问的,最好还是确定一下。

【讨论】:

    【解决方案2】:

    身份验证在 mongo 数据库中完成。在 mongo 控制台中尝试此操作以在数据库中创建用户

    use data_base_name
    db.createUser(
    {
    user: "myUserAdmin",
    pwd: "abc123",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
    }
    )
    

    现在像这样使用数据库 url

    mongodb://user:password@host:port/database_name
    

    连接数据库

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-13
      • 1970-01-01
      • 2019-08-02
      • 2017-04-30
      • 1970-01-01
      • 1970-01-01
      • 2014-04-27
      • 2015-05-22
      相关资源
      最近更新 更多