阅读量:1
MongoDB 在 CentOS 的安全设置清单
一 身份与访问控制
- 启用认证:编辑配置文件 /etc/mongod.conf,在 security 段开启授权,保存后重启服务。示例:
重启:security: authorization: enabledsudo systemctl restart mongod。如为容器环境,可通过环境变量 MONGO_INITDB_ROOT_USERNAME / MONGO_INITDB_ROOT_PASSWORD 初始化或在启动参数中添加 –auth。 - 创建管理员与业务用户:先连接 shell,切换到 admin 创建高权限管理员,再在各业务库按需创建最小权限用户。示例:
连接测试:use admin db.createUser({ user: "admin", pwd: "StrongPass!23", roles: ["root"] }) use mydb db.createUser({ user: "appuser", pwd: "AppPass!45", roles: ["readWrite", "dbOwner"] })mongo -u admin -p 'StrongPass!23' --authenticationDatabase admin。 - 最小权限原则:避免使用 root 执行日常业务,按库、按集合分配 read / readWrite / dbOwner / userAdmin 等角色。
二 网络与防火墙
- 绑定地址最小化:在 net.bindIp 中仅放置必要地址,优先仅本地,必要时放内网地址。示例:
注意:自 MongoDB 3.6 起官方 RPM/DEB 包默认仅绑定 localhost,历史版本或自定义编译可能默认 0.0.0.0,需显式收紧。net: bindIp: 127.0.0.1,192.168.1.10 - 防火墙放行:仅对受控来源开放 27017/tcp。示例(firewalld):
sudo firewall-cmd --permanent --zone=public --add-port=27017/tcp sudo firewall-cmd --reload - 安全拓扑建议:生产环境优先置于 私有网络/VPC,通过 SSH 隧道 或 应用网关 访问,尽量避免公网直连数据库。
三 加密与传输安全
- 启用 TLS/SSL:生成或获取证书,配置强制加密并指定证书与 CA。示例:
重启:net: ssl: mode: requireSSL PEMKeyFile: /etc/ssl/private/mongodb-key.pem CAFile: /etc/ssl/certs/mongodb-cert.pemsudo systemctl restart mongod。 - 证书建议:使用受信任 CA 签发或企业内网 CA;妥善保护私钥,限制文件权限(如 600)。
四 审计与日志监控
- 启用审计(企业版功能):记录关键操作,便于合规与溯源。示例:
auditLog: destination: file format: JSON path: /var/log/mongodb/audit.log - 常规日志与监控:确保日志写入文件并滚动,关注异常登录、权限变更、慢查询等。示例:
systemLog: destination: file path: /var/log/mongodb/mongod.log logAppend: true logLevel: 2 - 运维配套:定期查看日志与审计记录,结合 监控告警 与 备份校验,形成闭环。
五 高可用与系统加固
- 副本集内部认证:节点间使用 keyfile 或 x.509 进行内部认证,所有成员共享同一 keyfile(权限 400),未通过认证的节点无法加入集群。
- 系统加固要点:
- 保持 MongoDB 与 CentOS 的安全更新与补丁;
- 使用 强口令 并定期轮换,禁用不必要的内置/默认账户;
- 如启用 SELinux,按需配置策略或保持 enforcing 并验证策略正确性;
- 备份策略:定期全量/增量备份,异地/离线留存,定期恢复演练。
以上就是关于“MongoDB在CentOS中的安全设置有哪些”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm