温馨提示×

centos上mongodb安全如何保障

小樊
33
2025-11-23 19:16:07
栏目: 云计算

CentOS 上 MongoDB 安全加固清单

一 身份与访问控制

  • 启用认证与授权:编辑配置文件 /etc/mongod.conf,在 security 段开启 authorization: enabled;重启服务 systemctl restart mongod
  • 创建管理员账户:
    • 连接 shell:mongo
    • 切换到 admin:use admin
    • 创建用户:
      db.createUser({ user: “admin”, pwd: “StrongPass!23”, roles: [{ role: “root”, db: “admin” }] })
  • 创建业务用户并遵循最小权限:
    • 切换到业务库:use yourdb
    • 创建只读用户:
      db.createUser({ user: “app_r”, pwd: “Rpass!23”, roles: [{ role: “read”, db: “yourdb” }] })
    • 创建读写用户:
      db.createUser({ user: “app_rw”, pwd: “RWpass!23”, roles: [{ role: “readWrite”, db: “yourdb” }] })
  • 登录方式:
    • 管理员:mongo -u admin -p --authenticationDatabase admin
    • 业务用户:mongo -u app_rw -p --authenticationDatabase yourdb
      以上步骤确保启用账户认证、创建分级账户并按需分配权限,避免在生产环境使用无鉴权或过度授权账户。

二 网络与通信安全

  • 绑定地址最小化:在 net.bindIp 中仅保留必要地址,例如仅本地 127.0.0.1,或内网地址 192.168.1.10,127.0.0.1,避免 0.0.0.0
  • 防火墙限制访问:仅允许受控来源访问 27017/TCP
    • 开放端口:firewall-cmd --permanent --zone=public --add-port=27017/tcp && firewall-cmd --reload
    • 如仅本机访问,可不对外开放该端口,或仅对跳板/应用网段放行。
  • 加密传输:启用 TLS/SSL
    • 生成证书(示例):
      openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout /etc/ssl/private/mongodb-key.pem -out /etc/ssl/certs/mongodb-cert.pem
    • 配置:
      net:
      ssl:
      mode: requireSSL
      PEMKeyFile: /etc/ssl/private/mongodb-key.pem
      CAFile: /etc/ssl/certs/mongodb-cert.pem
    • 重启生效:systemctl restart mongod
  • 容器场景:在 docker-compose.yml 中设置环境变量 MONGO_INITDB_ROOT_USERNAME / MONGO_INITDB_ROOT_PASSWORD,并在服务启动参数中加入 –auth 以启用鉴权。
    上述措施可显著降低暴露面并保护数据在传输过程中的机密性与完整性。

三 系统与服务加固

  • 最小权限运行:使用专用系统用户(如 mongodb)运行 mongod,数据目录与日志目录属主属组设为该用户,避免使用 root 直接运行。
  • 文件权限与目录隔离:限制 /var/lib/mongo/var/log/mongodb 等目录的访问权限,仅允许 mongod 用户读写。
  • SELinux:若启用 SELinux,按需配置策略或布尔值以允许 MongoDB 正常访问所需资源,避免因策略过严导致服务异常。
  • 日志与审计:确保日志写入 /var/log/mongodb/mongod.log 并开启 logAppend: true;在 systemLog 中设置合适的 logLevel 以便排障与取证。
  • 安全更新与补丁:定期执行 yum update mongodb-org* 或采用官方仓库更新,及时修复已知漏洞。
    这些做法从系统层面减少攻击面并提升可运维性与可审计性。

四 备份恢复与持续运营

  • 定期备份:制定周期性备份策略(如每日全量/增量),并进行恢复演练验证可用性与完整性。
  • 监控与告警:对 mongod.log 与关键指标(连接数、慢查询、复制延迟等)建立监控与告警,及时发现异常行为。
  • 审计与合规:在 MongoDB Enterprise 中可启用审计框架记录关键操作;开源版建议结合应用日志与系统日志实现操作可追溯。
  • 安全巡检:定期审查用户、角色与权限分配,清理不再使用的账户与弱口令,保持权限与业务需求一致。
    通过备份、监控、审计与巡检的闭环,确保在发生安全事件时可快速响应与恢复。

0