简介
悲催的一天,自己服务器的mongoDB数据库被黑了,里面的数据被一洗而空,幸好里面都是些测试用的数据,和一些博客文章;
言归正传,吃一线长一智,所以昨天在网上查找了很多资料。原来之前已经有很多人被黑过,也找到了被黑的原因。
自己对于mongoDB只限于知道怎么用,对于其机制几乎不是怎么懂,因此,没给mongoDB设置用户和访问权限,也将mongoDB放在了公网,所以给别人专了空子,被黑是自己活该吧。
MongoDB
环境
阿里云ESC
CentOS6.8系统
安装
1.下载并解压
cd /usr/local/src/
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.4.2.tgz
tar -zxvf mongodb-linxu-x86_64-3.4.2.tgz
mkdir /usr/local/mongodb
cp -R mongodb-linuc-x86_64-3.4.2/ /usr/local/mongodb
2.配置
exprot PATH=/usr/local/mongodb/bin:$PATH
3.创建数据库文件和日志文件
cd /user/local/mongodb
mkdir db
mkdir logs
cd bin
vi mongodb.conf
dbpath=/usr/local/mongodb/db
logpath=/usr/local/mongodb/logs/mongodb.log
port=27017
fork=true
nohttpinterface=true
4.重新绑定mongodb的配置文件地址和访问IP
/usr/local/mongodb/bin/mongod --bind_ip localhost -f /usr/local/mongodb/bin/mongodb.conf
5.开机自动启动mongoDB
vi /etc/rc.d/rc.local
/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/bin/mongodb.conf
设置用户和密码,以及权限
1.mongodb的开启,进入mongodb的shell模式
cd /usr/local/mongodb/bin
./mongo
2.创建用户和权限
use admin
db.createUser(
{
user:"admin",
pwd:"admin",
roles:[
{role:"userAdminAnyDatabase",db:"admin"},
{role:"readWrite",db:"admin"}
]
}
);
3.设置开启权限
cd /usr/local/mongodb/bin
vi mongodb.conf
添加以下一行,在末尾
auth=true
4.重启mongodb服务
./mongod --config /usr/local/mongodb/bin/mongodb.conf
5.给其他数据库创建用户和权限
当输入show.db时,你会发现你已经无权操作了
据库admin进行连接,否则其他db连接时,会失败;
use admin
db.auth("admin","admin")
这时在使用show.db就会成功(自己去试吧,不展示了)
创建新的数据库myDB,并且给其添加用和权限
use myDB
db.createUser(
{
user:"myDB",
pwd:"myDB",
roles:[
{role:"readWrite",db:"myDB"},
{role:"dbOwner",db:"myDB"}
]
}
)
切记,开启myDB之前,要开启admin的验证;
其他操作请参考:http://blog.csdn.net/kk185800961/article/details/45619863
nodejs用mongoose连接
const mongoose = require('mongoose');
mongoose.connect('mongodb://myDB:myDB@localhost:27017/myDB',(err) => {
if(err){
console.log("数据库连接失败!");
} else{
console.log("数据库连接成功!");
}
});
php连接
<?php
/*mongodb连接*/
$m = new Mongo("192.168.138.35:27017");
/*选择comment*/
$db = $m->melon;
/*连接数据库*/
$db->authenticate("melon", "melon");
?>
原文: http://blog.hawkzz.com/2017/08/04/mongodb被黑后的防护/
作者: hawk_zz