温馨提示×

Linux MongoDB配置中安全设置有哪些

小樊
47
2025-11-18 22:13:11
栏目: 云计算

Linux 上 MongoDB 的安全设置清单

一 身份与访问控制

  • 启用认证与授权:在配置文件 /etc/mongod.conf 中开启 security.authorization: enabled,强制所有客户端登录后访问;重启服务生效。
  • 创建管理员账户:在 admin 库创建高权限账户(如 root),用于后续用户与权限管理。
  • 最小权限的业务账户:按库/集合分配 read、readWrite、dbAdmin 等内置角色,避免在生产使用 root 直连业务。
  • 连接串与认证库:客户端连接时通过 –authenticationDatabase admin 指定认证库,URI 中密码含特殊字符需 URL 编码
  • 企业目录集成(可选):对接 LDAP/Kerberos 统一认证,集中账号与合规审计。

二 网络与加密

  • 绑定地址最小化:配置 net.bindIp 仅监听必要地址(如 127.0.0.1 或内网网段),避免对公网开放。
  • 防火墙精细化:使用 iptables/ufw 仅放行受信任来源到 27017/TCP 的访问。
  • 传输加密:启用 TLS/SSL,设置 net.ssl.mode: requireSSL,提供 PEMKeyFileCAFile,生产环境禁用 sslAllowInvalidCertificates
  • 禁用不安全接口:关闭 HTTP 接口、REST 接口、JSONP,减少攻击面。

三 审计与日志

  • 审计日志(企业版):开启 security.auditLog,输出到 file/syslog/console,并按需配置 auditFilter 记录关键操作(如鉴权、DDL、DML)。
  • 服务日志与追加:配置 systemLog.destination: file、path、logAppend: true,确保故障排查与取证有完整日志留存。

四 运行环境与加固

  • 最小权限运行:使用专用系统用户(如 mongod)启动进程,禁止 root 直跑;数据/日志目录权限设为 660 并归属 mongodb:mongodb
  • 禁用不必要的服务端脚本:如不使用 mapReduce/group/$where 等特性,可设置 security.javascriptEnabled: false
  • 变更端口与基线:可改用非默认端口(非必须),并遵循 CIS 等安全基线进行持续加固。
  • 补丁与版本:保持 MongoDB 与依赖组件为最新稳定版,及时修复已知漏洞。

五 备份与恢复

  • 定期备份:使用 mongodump 全量/增量导出到安全存储,定期演练 mongorestore 恢复流程,验证可用性与一致性。

0