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

    最近几天刚刚部署了nondejs+mongodb网站,真的是艰难呐,各种被黑。由于博主本人是小白,面对这种情况真的...

  • 2. 用户管理

    前言 当我们以上一篇的方式开启mongo server的时候,我们的数据库是裸奔着的。在生产环境,必须有安全认证机...

  • mongo常用命令

    mongo #连接数据库 show databases; #显示库名 use 数据库; #使用相关数据库 sho...

  • 2021-04-20

    mongo 文档型数据库 是nosql数据库的一种 版本 最新版 4.4 mongo 使用场景 high perf...

  • mongodb 使用笔记

    mongodb 使用 mongo常用命令 查看命令提示 切换/创建数据库 查询所有数据库 删除当前使用数据库 导入...

  • Mac上MongoDB创建数据库与用户

    使用 mongo 命令 使用 use 数据库名 创建数据库(存在的话切换到这个数据库)use 库名.png启动M...

  • MongoDB的使用

    mongoDB 命令 在Linux下使用mongo进入MongoDB命令行 mongo 创建和使用数据库 > us...

  • mongodb

    mongo命令: show dbs //显示数据库use test //使用某个数据库db.test.insert...

  • 使用Python连接mongoDB

    之前使用的MySQL是关系型数据库,mongoDB是非关系型数据库(NoSQL)。 介绍mongoDB Mongo...

  • MongoDB 数据库增删改查 常用命令 api 2019-07

    数据库操作(database) mongo shell 使用javascript,语法大部分与其一致 创建数据库:...

网友评论

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

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