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 库

 

posted @ 2024-04-13 17:58  落落的学习  阅读(20)  评论(0编辑  收藏  举报