怎样提高mongodb数据库安全?教你两个办法
Admin 2021-05-14 群英技术资讯 2095 次浏览
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 高级索引 考虑以下文档集合(users ): { 'address': { 'city': 'Los Angeles', 'state': 'California', 'pincode': '123' }, 'tags..
count查询记录条数的方法:在mongodb数据库中使用“db.tablename.find().count();”命令即可查询记录数。
MongoDB 插入文档 本章节中我们将向大家介绍如何将数据插入到 MongoDB 的集合中。 文档的数据结构和 JSON 基本一样。 所有存储在集合中的数据都是 BSON 格式。 BSON 是一种类似 JSON 的二进制形式的存储格式,是 Binary JSON 的简称。 插入文档 MongoDB 使用 insert() 或 save() 方法向集合中插入文档,语法如下: db.COLLECTION_NAME.insert(d..
接触过SQL都知道,索引是很重要的内容。在MongoDB中索引也是很重要的,数据库的索引能够提高查询操作的性能,能快速获取我们想要的介绍。下面我们就一起来了解一下MongoDB索引。
MongoDB ObjectId 在前面几个章节中我们已经使用了MongoDB 的对象 Id(ObjectId)。 在本章节中,我们将了解的ObjectId的结构。 ObjectId 是一个12字节 BSON 类型数据,有以下格式: 前4个字节表示时间戳 接下来的3个字节是机器标识码 紧接的两个字节由进程id组成(PID) 最后三个字节是随机数。 MongoDB中存储的文档必须有一个'_id'键。这个键的值可..
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008