Mongodb 集群replicat set 安全加固--开启auth认证,修改默认端口

关联文章:

Mongodb 集群replicat set 搭建:

https://blog.csdn.net/royzhang7/article/details/100076335

MongoDB数据库作为一款应用越来越广的数据库产品,使用简单,部署方便,

但是也存在部分安全隐患,主要有以下两点:

1、mongodb默认不开启auth认证模式,导致所有数据库用户都拥有最高权限

2、mongodb默认27017端口,容易遭受定向攻击

 

所以,此次安全加固会针对这两点进行优化:

1、开启mongodb的auth认证模式

2、修改mongodb默认端口号

 

具体操作:(replica set模式)
#先备份数据库
./mongodump --host=192.168.1.2 --port=27017 -d test  -o /mongodb/bak

#确认replicat set状态

./mongo 192.168.1.2:27017
db.serverStatus()

#登陆master节点
#创建管理用户
   ./mongo 192.168.1.2:27017
   use admin                
   db.createUser(
    {
      user: "admin",
      pwd: "admin321",
     roles: [ { role: "root", db: "admin" } ]
   }
   )
  

#登陆slave节点查看用户同步是否ok
./mongo 192.168.1.3:27017
rs.slaveOk()
use admin
db.system.users.find()  --已同步

#首先修改IP
#登陆关闭mongodb(主节点192.168.1.2),主节点切换到备节点
./mongod --shutdown --dbpath /mongodb/data/master

#修修改关闭节点的配置文件mongodb_master.conf ,然后启动节点
port=28123

./mongod -f /mongodb/mongodb_master.conf 


#在主节点重新配置rs信息,注意修改priority
cfg={ _id:"mongodb", members:[ {_id:0,host:'192.168.1.2:28123',priority:1}, {_id:1,host:'192.168.1.3:27017',priority:2},   
{_id:2,host:'1192.168.1.3:27019',arbiterOnly:true}] };  

rs.reconfig(cfg)


rs.status() 
查看节点状态。


#关闭当前主节点(192.168.1.3),主节点切换到备节点
./mongod --shutdown --dbpath /mongodb/data/slaver

#修改关闭节点的配置文件mongodb_slaver.conf ,然后启动节点
port=28321

./mongod -f /mongodb/mongodb_slaver.conf 

#在当前主节点重新配置rs信息,注意修改priority
cfg={ _id:"mongodb", members:[ {_id:0,host:'192.168.1.2:28123',priority:2}, {_id:1,host:'192.168.1.3:28321',priority:1},   
{_id:2,host:'192.168.1.2:27019',arbiterOnly:true}] }; 

rs.reconfig(cfg)


rs.status() 
查看节点状态。

#关闭arbiter节点
./mongod --shutdown --dbpath /mongodb/data/arbiter


--修改关闭节点的配置文件mongodb_arbiter.conf,然后启动节点
port=28333

./mongod -f /mongodb/mongodb_arbiter.conf

--在当前主节点重新配置rs信息,注意修改priority
cfg={ _id:"mongodb", members:[ {_id:0,host:'192.168.1.2:28123',priority:2}, {_id:1,host:'192.168.1.3:28321',priority:1},   
{_id:2,host:'192.168.1.3::28333',arbiterOnly:true}] };   

rs.reconfig(cfg)


rs.status() 
查看节点状态。

 

#然后开启auth认证模式

#在主节点生成keyfile文件(192.168.1.2)
openssl rand -base64 90 > /mongodb/keyfileprod
chmod 600 /mongodb/keyfileprod

#传到备节点(192.168.1.3)
scp /mongodb/keyfileprod  root@192.168.1.3:/mongodb/keyfileprod
chmod 600 /mongodb/keyfileprod

#修改auth 模式
#关闭三个节点,顺序PAS(主、投票、备)
#192.168.1.2
./mongod --shutdown --dbpath /mongodb/data/master

#192.168.1.3
./mongod --shutdown --dbpath /mongodb/data/arbiter

./mongod --shutdown --dbpath /mongodb/data/slaver

#修改三个config文件,添加auth参数和keyfile参数
#192.168.1.2

auth=true
keyFile=/mongodb/keyfileprod

#192.168.1.3
auth=true
keyFile=/mongodb/keyfileprod

#重启三个节点,顺序PSA(主、备、投票)
#192.168.1.2
./mongod -f /mongodb/mongodb_master.conf 

#192.168.1.3
./mongod -f /mongodb/mongodb_slaver.conf 
./mongod -f /mongodb/mongodb_arbiter.conf   

#登陆主备节点查看状态OK

./mongo 192.168.1.2:28123
use admin
db.auth("admin","admin321")
rs.status() 

./mongo 192.168.1.3:28321
use admin
db.auth("admin","admin321")
rs.status() 

#测试同步

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值