Debian下MongoDB安全配置指南
导读:Debian下MongoDB安全配置指南 一 基线加固 安装与更新:优先使用官方仓库安装并定期更新,保持系统与数据库补丁为最新。 监听地址:在配置文件**/etc/mongod.conf中设置net.bindIp**,仅监听127.0.0...
Debian下MongoDB安全配置指南
一 基线加固
- 安装与更新:优先使用官方仓库安装并定期更新,保持系统与数据库补丁为最新。
- 监听地址:在配置文件**/etc/mongod.conf中设置net.bindIp**,仅监听127.0.0.1(本地)或受控的内网IP;避免0.0.0.0。
- 身份验证:启用security.authorization: enabled,强制所有客户端登录后操作。
- 加密传输:启用TLS/SSL对客户端与服务端通信加密。
- 防火墙:使用ufw/iptables仅放行受信任来源访问27017/tcp。
- 审计与日志:开启安全审计与文件日志,便于合规与取证。
- 版本基线:自MongoDB 3.6起,官方DEB/RPM包默认仅绑定localhost,历史版本需重点核查绑定与访问策略。
二 详细配置步骤
- 配置监听与端口
- 编辑**/etc/mongod.conf**:
- 仅本地:net: bindIp: 127.0.0.1;远程受控:net: bindIp: 127.0.0.1,< 内网IP> ;严禁0.0.0.0。
- 确认端口:net: port: 27017。
- 编辑**/etc/mongod.conf**:
- 启用身份验证
- 在**/etc/mongod.conf**加入:security: authorization: enabled;重启服务:sudo systemctl restart mongod。
- 连接Mongo Shell创建管理员(示例):
- use admin
- db.createUser({ user: “admin”, pwd: “StrongPass!”, roles: [{ role: “userAdminAnyDatabase”, db: “admin” } ] } )
- 配置TLS/SSL
- 准备证书(自签或CA签发),在配置中加入:
- net: ssl: mode: requireSSL;PEMKeyFile: /path/to/mongodb.pem;CAFile: /path/to/ca.pem
- 重启生效并检查日志无报错。
- 准备证书(自签或CA签发),在配置中加入:
- 防火墙与网络隔离
- ufw示例:sudo ufw allow 22/tcp;sudo ufw allow from 192.168.1.0/24 to any port 27017;sudo ufw enable
- 如用云环境,配合安全组仅放通必要来源IP段。
- 审计与日志
- 在**/etc/mongod.conf**加入:
- security: auditLog: destination: file;format: JSON;path: /var/log/mongodb/audit.json
- 确保审计日志目录与文件权限正确,避免被非授权用户篡改。
- 在**/etc/mongod.conf**加入:
三 用户与权限最小化
- 管理员账户
- 创建具备用户管理能力的账户(示例见上),用于后续用户与角色维护;避免使用root日常运维。
- 业务账户
- 按库创建最小权限账户,例如仅授予readWrite:
- use mydb
- db.createUser({ user: “app”, pwd: “AppPass!”, roles: [{ role: “readWrite”, db: “mydb” } ] } )
- 按库创建最小权限账户,例如仅授予readWrite:
- 连接串示例
- mongo “mongodb://app:AppPass!@192.168.1.10:27017/mydb” --authenticationDatabase mydb
- 定期审计与回收
- 定期核查system.users与角色分配,回收不再使用的账户与权限。
四 运行环境与维护
- 系统账户与权限
- 使用专用的mongodb系统用户运行服务,降低进程权限面。
- 文件与目录权限
- 确保**/var/lib/mongodb**、/var/log/mongodb归属mongodb用户组,权限最小化。
- 备份与恢复
- 使用mongodump/mongorestore定期备份;备份文件落盘加密并异地存放;验证恢复流程可用。
- 持续更新与监控
- 执行sudo apt update & & sudo apt upgrade -y保持MongoDB与Debian更新;结合日志与审计进行异常监测。
五 快速核查清单
- 配置核查
- grep -n “bindIp” /etc/mongod.conf;grep -n “authorization” /etc/mongod.conf;grep -n “ssl.mode” /etc/mongod.conf
- 连通性核查
- 本地:mongo --host 127.0.0.1 -u admin -p --authenticationDatabase admin
- 远程:mongo “mongodb://admin:StrongPass!@< 内网IP> :27017/admin” --tls
- 防火墙核查
- ufw status;或 iptables -L -n | grep 27017
- 日志与审计
- tail -f /var/log/mongodb/mongod.log;tail -f /var/log/mongodb/audit.json
- 安全提醒
- 严禁将bindIp设为0.0.0.0并暴露公网;生产环境务必启用TLS/SSL与防火墙;定期更新与演练恢复。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian下MongoDB安全配置指南
本文地址: https://pptw.com/jishu/778378.html
