MongoDB 默认直接连接,无须身份验证,如果当前机器可以公网访问,且不注意Mongodb 端口(默认 27017)的开放状态,那么Mongodb就会产生安全风险,被利用此配置漏洞,入侵数据库.
新建终端
mongo
创建普通用户
db.createUser( {
user: "adminUser",
pwd: "adminPass",
roles: [
{
"role" : "readWriteAnyDatabase",
"db" : "admin"
}
]
})
进行用户身份的验证,如果返回1说明验证通过。
db.auth("adminUser", "adminPass")
关闭并重启mongo服务
# 关闭
db.shutdownServer()
#退出mongo模式
exit
#启动
/usr/local/mongodb/bin/mongod --dbpath=/var/mongodb/data --logpath /var/mongodb/logs/log.log -fork -auth
客户端需要添加用户名密码验证,才能连接
# mongodb 为协议
# adminUser: 连接数据库的用户
# adminPass: 该用户的密码
# localhost: 本地的地址(因为这是本地环境)
# 27017: mongodb的端口号(这个一般是默认值,也可以进行修改)
# example: 数据库的名字
var db = 'mongodb://adminUser:adminPass@localhost:27017/example'
// 连接
mongose.connect(db);
©2018-2020 hongshali.com 版权所有 ICP证:闽ICP备18029655号-1