16、数据库加固-mongo 加固
1.指定日志与数据库存放位置
在配置文件中设置指向目录位置
自建配置文件:vim /usr/local/mongodb/etc/mongodb.conf
dbpath=/data/db
logpath=/usr/local/mongodb/logs/mongdb.log
2.更改默认端口
自建配置文件:vim /usr/local/mongodb/etc/mongodb.conf
port=28888
开启 mongo 时使用命令加选项:mongo --port 28888
3.绑定IP地址
自建配置文件:vim /usr/local/mongodb/etc/mongodb.conf
加入网卡绑定信息:bind_ip=192.168.1.2
登录时需要输入:mongo 192.168.1.2:28888
4.开启认证功能
未开启前,测试创建用户
登录后:
use admin db.createUser({user:"test1",pwd:"123.com",roles:[{role:"userAdminAnyDatabase",db":admin"}]});
userAdminAnyDatabase:用户管理权限
root:最高权限
配置文件:加入:auth=true
重启服务后再次创建用户不成功,认证后再次创建
认证:
use admin db.auth ("test1","123.com")
db.createUser({user:"test2",pwd:"123.com",roles:[{role:"userAdminAnyDatabase",db":admin"}]});
5.备份与恢复
由于开启了认证,需要创建专用账户
建立管理员账户
use admin db.auth("test1","123.com") db.createUser({user:"root",pwd:"123.com",roles:[{role:"root",db:"admin"}]});
备份账户
db.createUser({user:"bkuser",pwd:"123.com",roles:[{role:"backup",db":admin"}]});
备份:
./mongodump --host 127.0.0.1 --port 28888 -d amin -o /tmp/ -u bkuser -p 123.com --authenticationDatabase admin
将本机的 admin 数据库使用 bkuser 账户备份到 /tmp 库
-d:指定要备份的数据库
-o:指定将数据库备份到本机的路径
--authenticationDatabase:认证
恢复账户
db.createUser({user:"reuser",pwd:"123.com",roles:[{role:"restore",db":admin"}]});
恢复:
./mongorestore --host 127.0.0.1 --port 28888 -u reuser -p 123.com -d myadmin /tmp/admin --authenticationDatabase admin
将 /tmp 目录中 admin 的备份信息使用 reuser 账户还原到 myadmin 库