搭建好Mongodb副本集后(详见:linux下Mongodb副本集搭建),默认是不会开启安全认证。这时任何的都可以操作该副本集,这在实际生产环境中绝对不允许。为保证副本集的数据安全,开启副本集的安全认证必不可少。
Mongodb副本集之间的通信一般可以使用证书和keyFile文件来完成。实际生产环境更我会使用证书,但证书需要申请,这里仅演示如何通过keyFile文件实现副本集的安全。
keyFile文件其实质就是单机的auth认证。也就是提供用户名和密码认证后,方可操作副本集。
- 创建密钥文件
(1)创建安全认证的keyfile文件,本例创建在mongodb/repli/key目录下
mkdir -p /usr/local/mongodb/repli/key
(2)进入到上述目录,并创建文件 keyfile
touch keyfile
(3)使用linux系统提供的密码工具openssl生成符合标准的密钥并写入keyfile文件中
openssl rand -base64 756 -out keyfile
(4)修改keyfile文件权限为600
chmod 600 /usr/local/mongodb/repli/key/keyfile