在Linux上对MongoDB进行安全设置,可以遵循以下步骤:
1. 启用认证
- 编辑配置文件:在
/etc/mongod.conf文件中,找到或添加以下内容:security: authorization: enabled - 重启MongoDB服务:使用以下命令重启MongoDB服务以应用更改:
sudo systemctl restart mongod
2. 创建管理员账户
- 连接到MongoDB Shell:
mongo - 切换到admin数据库:
use admin - 创建管理员账户:
db.createUser({ user: "admin", pwd: "your_strong_password", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] })
3. 配置网络
- 限制远程访问:在
/etc/mongod.conf文件中配置bindIp参数,仅允许特定IP地址或主机名连接。例如:net: bindIp: 192.168.1.0/24 - 禁用HTTP接口:在生产环境中,建议禁用HTTP接口以减少安全风险。在
/etc/mongod.conf文件中添加:net: http: enabled: false
4. 使用TLS/SSL加密
- 生成或获取有效的SSL证书和私钥文件。
- 在
/etc/mongod.conf配置文件中添加以下参数:net: ssl: mode: requireSSL PEMKeyFile: /path/to/your/ssl.pem CAFile: /path/to/your/ca.pem - 重新启动MongoDB服务以使配置生效。
5. 启用审计日志
- 在
/etc/mongod.conf文件中添加以下参数以启用审计日志记录所有用户的操作:systemLog: destination: file path: /var/log/mongodb/mongod.log logAppend: true
6. 定期备份数据
- 定期备份MongoDB的数据,确保备份数据的完整性和可恢复性。
7. 使用强密码策略
- 为所有用户账户设置复杂且定期更换的密码。
8. 禁用不必要的接口和功能
- 如REST接口、HTTP接口等,以减少潜在的安全风险。
9. 配置防火墙
- 使用
iptables或firewalld设置防火墙规则,仅开放必要的端口。
10. 定期更新和打补丁
- 定期检查MongoDB的安全更新和补丁,及时应用最新的安全补丁以修复已知漏洞。