首页主机资讯MongoDB在CentOS中的安全设置有哪些

MongoDB在CentOS中的安全设置有哪些

时间2025-12-15 22:04:04发布访客分类主机资讯浏览682
导读:MongoDB 在 CentOS 的安全设置清单 一 身份与访问控制 启用认证:编辑配置文件 /etc/mongod.conf,在 security 段开启授权,保存后重启服务。示例:security: authorization:...

MongoDB 在 CentOS 的安全设置清单

一 身份与访问控制

  • 启用认证:编辑配置文件 /etc/mongod.conf,在 security 段开启授权,保存后重启服务。示例:
    security:
      authorization: enabled
    
    重启:sudo systemctl restart mongod。如为容器环境,可通过环境变量 MONGO_INITDB_ROOT_USERNAME / MONGO_INITDB_ROOT_PASSWORD 初始化或在启动参数中添加 –auth
  • 创建管理员与业务用户:先连接 shell,切换到 admin 创建高权限管理员,再在各业务库按需创建最小权限用户。示例:
    use admin
    db.createUser({
    
      user: "admin",
      pwd: "StrongPass!23",
      roles: ["root"]
    }
    )
    
    use mydb
    db.createUser({
    
      user: "appuser",
      pwd: "AppPass!45",
      roles: ["readWrite", "dbOwner"]
    }
        )
    
    连接测试:mongo -u admin -p 'StrongPass!23' --authenticationDatabase admin
  • 最小权限原则:避免使用 root 执行日常业务,按库、按集合分配 read / readWrite / dbOwner / userAdmin 等角色。

二 网络与防火墙

  • 绑定地址最小化:在 net.bindIp 中仅放置必要地址,优先仅本地,必要时放内网地址。示例:
    net:
      bindIp: 127.0.0.1,192.168.1.10
    
    注意:自 MongoDB 3.6 起官方 RPM/DEB 包默认仅绑定 localhost,历史版本或自定义编译可能默认 0.0.0.0,需显式收紧。
  • 防火墙放行:仅对受控来源开放 27017/tcp。示例(firewalld):
    sudo firewall-cmd --permanent --zone=public --add-port=27017/tcp
    sudo firewall-cmd --reload
    
  • 安全拓扑建议:生产环境优先置于 私有网络/VPC,通过 SSH 隧道应用网关 访问,尽量避免公网直连数据库。

三 加密与传输安全

  • 启用 TLS/SSL:生成或获取证书,配置强制加密并指定证书与 CA。示例:
    net:
      ssl:
        mode: requireSSL
        PEMKeyFile: /etc/ssl/private/mongodb-key.pem
        CAFile: /etc/ssl/certs/mongodb-cert.pem
    
    重启:sudo systemctl restart mongod
  • 证书建议:使用受信任 CA 签发或企业内网 CA;妥善保护私钥,限制文件权限(如 600)。

四 审计与日志监控

  • 启用审计(企业版功能):记录关键操作,便于合规与溯源。示例:
    auditLog:
      destination: file
      format: JSON
      path: /var/log/mongodb/audit.log
    
  • 常规日志与监控:确保日志写入文件并滚动,关注异常登录、权限变更、慢查询等。示例:
    systemLog:
      destination: file
      path: /var/log/mongodb/mongod.log
      logAppend: true
      logLevel: 2
    
  • 运维配套:定期查看日志与审计记录,结合 监控告警备份校验,形成闭环。

五 高可用与系统加固

  • 副本集内部认证:节点间使用 keyfilex.509 进行内部认证,所有成员共享同一 keyfile(权限 400),未通过认证的节点无法加入集群。
  • 系统加固要点:
    • 保持 MongoDB 与 CentOS 的安全更新与补丁;
    • 使用 强口令 并定期轮换,禁用不必要的内置/默认账户;
    • 如启用 SELinux,按需配置策略或保持 enforcing 并验证策略正确性;
    • 备份策略:定期全量/增量备份,异地/离线留存,定期恢复演练。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: MongoDB在CentOS中的安全设置有哪些
本文地址: https://pptw.com/jishu/772117.html
如何在CentOS上配置MongoDB的磁盘配额 CentOS上MongoDB的性能监控如何实现

游客 回复需填写必要信息