Ubuntu上MongoDB如何进行安全加固
导读:Ubuntu上MongoDB安全加固清单 一 基础访问控制 绑定监听地址:编辑配置文件 /etc/mongod.conf,将 net.bindIp 设为仅内网或本机,例如 127.0.0.1 或 192.168.1.0/24,避免使用 0...
Ubuntu上MongoDB安全加固清单
一 基础访问控制
- 绑定监听地址:编辑配置文件 /etc/mongod.conf,将 net.bindIp 设为仅内网或本机,例如 127.0.0.1 或 192.168.1.0/24,避免使用 0.0.0.0 暴露到公网。
- 启用认证:在 security 段开启 authorization: enabled,强制所有客户端提供凭据。
- 创建管理员与业务用户:在 mongosh 中先切换到 admin 库创建高权限管理员,再为各业务库按需创建最小权限用户(如仅 readWrite)。
- 重启生效:每次修改配置后执行 sudo systemctl restart mongod。
- 说明:自 MongoDB 3.6 起,官方包默认仅绑定 localhost,但显式配置更安全。
二 网络与防火墙
- 防火墙放行:仅允许受控来源访问 27017/TCP。示例:
- UFW:sudo ufw allow from 192.168.1.0/24 to any port 27017;或仅本地 sudo ufw allow 27017/tcp。
- iptables:先放行内网来源,再丢弃其他来源对 27017 的访问。
- 监听策略:如无公网访问需求,保持 bindIp: 127.0.0.1;如必须远程,仅开放到应用所在网段或跳板机。
三 加密与传输安全
- 启用 TLS/SSL:在 net.ssl 中设置 mode: requireSSL,指定 PEMKeyFile 与 CAFile,并关闭不安全选项(如 sslAllowInvalidCertificates: false),确保客户端与服务器之间的数据链路加密。
- 证书管理:使用受信任 CA 签发证书,妥善保护私钥;客户端连接时提供相应证书或信任链。
四 运行环境与权限最小化
- 专用系统用户:创建 mongodb 专用系统用户并加入 mongodb 组,避免使用 root 运行服务。
- 文件与目录权限:确保 /var/lib/mongodb 与 /var/log/mongodb 归属 mongodb:mongodb,权限设置为仅属主可读写(如 700/600)。
- 资源与内核参数:为 mongod 配置合理的 ulimit(如 nofile、nproc),并按官方建议禁用 透明大页(THP) 以降低抖动与性能风险。
- 服务隔离:使用 systemd 管理,限制服务权限与可访问目录,减少攻击面。
五 审计监控与备份恢复
- 日志与审计:启用文件日志(如 systemLog.destination: file、path: /var/log/mongodb/mongod.log),并配置 审计日志 记录关键操作(如鉴权成功/失败、授权变更、删除集合等),定期审查异常行为。
- 备份策略:使用 mongodump 定期备份(如 mongodump --out /path/to/backup),并进行恢复演练,确保可用性与完整性。
- 版本与补丁:保持 MongoDB 与 Ubuntu 安全补丁为最新,及时修复已知漏洞。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu上MongoDB如何进行安全加固
本文地址: https://pptw.com/jishu/757790.html
