怎样提高mongodb数据库安全?教你两个办法
Admin 2021-05-14 群英技术资讯 1014 次浏览
mongodb数据库安全怎样提高?做好数据的安全防护是很重要的,因此下面给大家介绍两个提高mongodb数据库安全系数的办法,分别是禁止外网访问和为数据库设置账号密码登录权限。
1.设置mongodb外网禁止访问
启动数据库时,额外添加--bind_ip 127.0.0.1即可
./mongod --bind_ip 127.0.0.1 --dbpath /data/db --auth
也可以通过修改/etc/mongod.conf文件添加一行代码
#只监听本地接口,多个接口用,隔开
bind_ip = 127.0.0.1
2.为数据库设置账号密码登录权限
为了保证数据库需要账号密码才能连接,那么在启动数据库的时候需要添加auth参数
./mongod --dbpath /data/db --auth
也可以通过修改/etc/mongod.conf文件添加一行代码
auth = true
这样在进行数据库连接的时候需要相应的账号密码才能成功访问。
如果之前数据库未设置账号密码的话,那么需要先添加一个管理员账户,
> use admin switched to db admin > db.createUser({user:"root",pwd:"123456",roles:["userAdminAnyDatabase"]}) Successfully added user: { "user" : "root", "roles" : [ "userAdminAnyDatabase" ] }
此时我们就成功的创建了一个管理员账户 账户名 root 密码 123456 ,此时执行show dbs会出现如下报错
> show dbs 2017-12-03T22:14:58.418+0800 E QUERY [thread1] Error: listDatabases failed:{ "ok" : 0, "errmsg" : "not authorized on admin to execute command { listDatabases: 1.0 }", "code" : 13, "codeName" : "Unauthorized" } .....
上边提示意为当前admin数据库未经授权无法执行指令,因此需要以管理员身份登录验证,如下操作
> db.auth('dpd','123456')
上边执行登录操作,输出结果 1,说明登录成功。此时再执行 show dbs 则会成功输出结果。此刻我们是以管理员的身份登录数据库,如果切换到test数据库,执行db.blog.insert({name:1})会报错如下,同样意为该数据库未经授权无法操作:
> use test switched to db test > db.blog.insert({name:1}) WriteResult({ "writeError" : { "code" : 13, "errmsg" : "not authorized on test to execute command { insert: \"blog\", documents:
[ { _id: ObjectId('5a240d8e2d43081ea4271cc8'), name: 1.0 } ], ordered: true }" } })
所以要为test数据库添加一个用户,并以该用户身份登录才可以执行对该数据的操作。
> db.createUser({user:'use1',pwd:'123456',roles:["readWrite"]}) Successfully added user: { "user" : "use1", "roles" : [ "readWrite" ] } > db.auth('use1','123456') 1 > db.blog.insert({name:1}) WriteResult({ "nInserted" : 1 }) >
至此,完成了通过账号和密码登录权限对数据库的访问和操作。那么最终标准的连接test数据库的URI语法如下:
mongodb://use1:123456@localhost:27017/test
总结
以上就是关于提高mongodb数据库安全的方法介绍,当然要保护数据库数据安全,还有其他安全防护操作,想要了解更多,可以继续关注其他相关文章。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要给大家介绍了关于MongoDB中文档的更新操作的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
MongoDB 原子操作 mongodb不支持事务,所以,在你的项目中应用时,要注意这点。无论什么设计,都不要要求mongodb保证数据的完整性。 但是mongodb提供了许多原子操作,比如文档的保存,修改,删除等,都是原子操作。 所谓原子操作就是要么这个文档保存到Mongodb,要么没有保存到Mongodb,不会出现查询到的文档没有保存完整的情况。 原子操作数据模型 考虑下面的例子,图书馆的书籍及结账信息。 实例说明了在一个相同的..
这篇文章给大家介绍的是关于MongoDB通配符索引的用法内容,小编认为是比较实用,因此分享给大家作参考,有这方面学习需要的朋友可以看看。
MongoDB 聚合 MongoDB 中聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果。 有点类似 SQL 语句中的 count(*)。 aggregate() 方法 MongoDB中聚合的方法使用aggregate()。 语法 aggregate() 方法的基本语法格式如下所示: >db.COLLECTION_NAME.aggregate(AGGREGATE_OPERATION..
MongoDB 创建集合 本章节我们为大家介绍如何使用 MongoDB 来创建集合。 MongoDB 中使用 createCollection() 方法来创建集合。 语法格式: db.createCollection(name, options) 参数说明: name: 要创建的集合名称 options: 可选参数, 指定有关内存大小及索引的选项 options 可以是如下参数: 字段 类型 描述 capped ..
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008