加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 服务器 > 系统 > 正文

如何增强 MongoDB 数据储存安全性

发布时间:2023-09-26 13:17:27 所属栏目:系统 来源:
导读: mongodb数据库安全怎样提高?做好数据的安全防护是很重要的,因此下面给大家介绍两个提高mongodb数据库安全系数的办法,分别是禁止外网访问和为数据库设置账号密码登录权限。 1.设置mongodb外网禁止访问 启

    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数据库安全的方法介绍,当然要保护数据库数据安全,还有其他安全防护操作,想要了解更多,可以继续关注其他相关文章。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章