美文网首页我爱编程程序员
摆脱裸奔,做一个体面的数据库--安全使用mongo数据库指南

摆脱裸奔,做一个体面的数据库--安全使用mongo数据库指南

作者: 塔塔七 | 来源:发表于2018-05-11 16:35 被阅读0次

    最近几天刚刚部署了nondejs+mongodb网站,真的是艰难呐,各种被黑。由于博主本人是小白,面对这种情况真的是一头雾水,尤其是mongo中数据被清空了,what?!!!忍不了啊。于是发奋图强,各种填坑。基本的安全可以说算是得到了保障,接下来就把这几天的成果分享给大家吧!

    首先介绍一下博主被攻击时的状况

    1、数据库没有任何安全措施(就是本人根本没有考虑数据库要加密,可能是傻的,更别说如何加密了)

    2、不了解mongo安装在哪里(执行文件,以及各种配置文件)

        3、后台使用mongoose连接,连接方式为:mongodb://localhost/city

    注:在全程懵逼的状态下,博主只能求助各大搜索引擎,总结出以下经验:

    一、先开启mongo中权限认证

        1、找到linux系统中的mongod.conf

    一般情况下是在 :  /usr/local/mongodb/  目录下

    2、修改mongod.conf 中内容,开启权限认证

    3、重启数据库

                mongod -f /usr/local/mongodb/ mongod.conf      (这里坑巨多,对于我个人而言。如果你同样遇到问题,这里会有专门的帖子来讲解)

        4、查看mongod.log,检验权限是否添加完成

    检索mongod.log文件中是否包含auth字符即可

    开启了权限,接下来就是创建用户名和密码了。

    二、创建用户

    1、成功启动数据后链接你的数据库

    mongo 127.0.0.1:27017/test

    2、创建用户密码 (创建用户角色知识点较多,此处列举个例,可自行百度)

    >use admin

                switched to db admin> db.createUser(

                { user: "dba",

                pwd: "dba",

                roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]...   }

                 )

    创建成功弹出如下json

              Successfully added user: {

               "

               "user" : "dba",

               "roles" : [                {

                       "role" : "userAdminAnyDatabase",

                       "db" : "admin"

                   }    ]}

    三、修改app.js文件中mongoos链接

        ​    ​mongoose 连接db的方式

        ​    ​mongoose.connect('mongodb://username:password@host:port/database?options...');

    当然这只是一个框架步骤,假如看了文章,没有解决问题,请给博主留言。

    相关文章

      网友评论

        本文标题:摆脱裸奔,做一个体面的数据库--安全使用mongo数据库指南

        本文链接:https://www.haomeiwen.com/subject/bgwfdftx.html