Linux系统中MongoDB的安全防护措施有哪些
导读:MongoDB 在 Linux 上的安全防护措施 一 身份与访问控制 启用认证:在配置文件 /etc/mongod.conf 中设置 security.authorization: enabled,重启服务 sudo systemctl...
MongoDB 在 Linux 上的安全防护措施
一 身份与访问控制
- 启用认证:在配置文件 /etc/mongod.conf 中设置 security.authorization: enabled,重启服务 sudo systemctl restart mongod,强制所有客户端提供凭据。首次配置可在未启用授权前连接创建账户,随后务必开启认证。
- 创建管理员与 RBAC:在 admin 库创建高权限账户(如 root),并为业务库按最小权限创建专用用户(如 readWrite、read、或 dbOwner),避免滥用高权限账户。
- 登录示例:mongo -u admin -p 口令 --authenticationDatabase admin。
- 连接来源限制:利用用户级 authenticationRestrictions(如限制 clientSource 为受信网段)减少账号被滥用风险。
二 网络与传输安全
- 限制监听地址:配置 net.bindIp 仅绑定 127.0.0.1 或受信任内网接口(如 192.168.1.0/24),减少暴露面。
- 主机防火墙:仅放行受信来源的 27017/tcp。示例:
- ufw:sudo ufw allow from 192.168.1.100 to any port 27017/tcp
- firewalld:sudo firewall-cmd --permanent --zone=public --add-rich-rule=‘rule family=“ipv4” source address=“192.168.1.100” port protocol=“tcp” port=“27017” accept’ & & sudo firewall-cmd --reload
- 禁用不必要接口:关闭 HTTP 状态接口、REST 接口、JSONP,避免未授权访问与信息泄露。
- 加密传输:启用 TLS/SSL,配置 net.ssl.mode: requireSSL,指定 PEMKeyFile 与 CAFile;客户端使用 --ssl 及相应证书参数连接。
三 系统与进程安全
- 最小权限运行:创建专用系统用户(如 mongodb),禁止登录(/bin/false),将数据与日志目录归属该用户,并在 systemd 服务中设置 User=mongodb / Group=mongodb。
- 文件权限:确保 /var/lib/mongodb、/var/log/mongodb 权限为 750 且仅属 mongodb,防止越权访问。
- 安全更新与补丁:定期通过包管理器更新 mongodb-org 至最新稳定版,及时修复已知漏洞。
- SELinux/AppArmor:如启用 SELinux,按需调整策略或先排查再恢复 enforcing,避免因策略不当导致服务异常。
四 审计、日志与监控
- 审计日志(Enterprise):启用 security.auditLog(如输出到文件、JSON 格式),可结合 auditAuthorizationSuccess: true 记录授权成功事件,便于合规与追溯。
- 常规日志:配置 systemLog.destination: file、logAppend: true、path: /var/log/mongodb/mongod.log,持续关注失败登录与异常操作。
- 运行监控:使用 mongostat、mongotop 或 Prometheus+Grafana 监控连接数、慢查询、复制延迟与磁盘 IO,设置告警。
五 配置与运维清单
- 关键配置示例(/etc/mongod.conf 片段):
- 安全:security: { authorization: enabled }
- 网络:net: { bindIp: 127.0.0.1,192.168.1.0/24, port: 27017, http: { enabled: false } , RESTInterfaceEnabled: false, JSONPEnabled: false }
- 传输:net.ssl: { mode: requireSSL, PEMKeyFile: /etc/ssl/private/mongodb-key.pem, CAFile: /etc/ssl/certs/mongodb-cert.pem }
- 审计(Enterprise):security.auditLog: { destination: file, format: JSON, path: /var/log/mongodb/audit.json }
- 变更生效:每次修改后执行 sudo systemctl restart mongod 并校验日志。
- 备份恢复:定期执行 mongodump/mongorestore 或企业级备份,保留多份异地副本并校验可恢复性。
- 安全提示:避免使用默认端口作为唯一防护手段;谨慎授予 root 与跨库权限;生产环境强制启用 TLS 并限制 bindIp 至内网。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux系统中MongoDB的安全防护措施有哪些
本文地址: https://pptw.com/jishu/783961.html
