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

Ubuntu中MongoDB的安全设置有哪些

时间2026-01-20 02:35:03发布访客分类主机资讯浏览617
导读:Ubuntu 上 MongoDB 的安全设置清单 一 身份与访问控制 启用访问控制:在配置文件 /etc/mongod.conf 中开启认证,重启服务生效。示例:security: authorization: enabled sud...

Ubuntu 上 MongoDB 的安全设置清单

一 身份与访问控制

  • 启用访问控制:在配置文件 /etc/mongod.conf 中开启认证,重启服务生效。示例:
    security:
      authorization: enabled
    sudo systemctl restart mongod
    
  • 创建管理员账户:先连入 shell,切换到 admin 库后创建高权限用户(如 root),后续连接需指定认证库。
    use admin
    db.createUser({
    
      user: "admin",
      pwd: "StrongPassword123!",
      roles: ["root"]
    }
    )
    mongo --host 127.0.0.1 --authenticationDatabase admin -u admin -p
    
  • 最小权限原则:为应用创建专库用户,仅授予所需角色(如 readWritedbAdmin 等),避免使用 root。示例:
    use myAppDb
    db.createUser({
    
      user: "appUser",
      pwd: "AppPass!23",
      roles: [{
     role: "readWrite", db: "myAppDb" }
    ]
    }
        )
    
  • 角色选择建议:常见角色包括 readreadWritedbAdminuserAdmindbOwner、以及实例级 readAnyDatabasereadWriteAnyDatabaseuserAdminAnyDatabasedbAdminAnyDatabase、集群级 clusterMonitor/clusterManager/clusterAdmin、备份恢复 backup/restore、以及 root。按职责分配,定期审计用户与权限。

二 网络与防火墙

  • 绑定地址最小化:仅监听必要接口,优先 127.0.0.1;如有内网访问需求,显式列出内网 bindIp。示例:
    net:
      bindIp: 127.0.0.1,192.168.1.100
    sudo systemctl restart mongod
    
  • 防火墙限制来源:使用 UFW 仅放行可信网段到 27017/tcp。示例:
    sudo ufw allow from 192.168.1.0/24 to any port 27017
    sudo ufw enable
    sudo ufw status numbered
    
  • 云环境叠加防护:在云厂商安全组/防火墙中同样仅允许内网或跳板机网段访问 27017,避免公网直连数据库。

三 加密与传输安全

  • 启用 TLS/SSL 加密通信:在 mongod.conf 中配置证书与 CA,生产环境务必开启校验。示例:
    net:
      ssl:
        mode: requireSSL
        PEMKeyFile: /path/to/your/ssl.pem
        CAFile: /path/to/your/ca.pem
        sslAllowInvalidCertificates: false
    sudo systemctl restart mongod
    
  • 证书管理:使用受信任 CA 签发证书;妥善保护私钥(权限 600),定期轮换;客户端连接时启用 TLS 参数。

四 审计、日志与备份

  • 启用审计日志:记录关键操作,便于合规与溯源。示例:
    systemLog:
      destination: file
      logAppend: true
      path: /var/log/mongodb/mongod.log
    # 视版本开启审计(如 enterprise 版本支持 auditLog)
    
  • 集中与轮转:结合 logrotate 或系统日志设施进行日志轮转与归档,避免磁盘被占满。
  • 定期备份:使用 mongodump 或企业级备份方案,将备份存放于与数据库隔离的存储,定期校验可恢复性。示例:
    mongodump --out /path/to/backup/$(date +%F)
    
  • 持续监控:关注 mongod.log 与监控指标(连接数、慢查询、复制延迟等),异常及时告警。

五 复制集与密钥文件及运行安全

  • 复制集身份认证:部署 Replica Set 时使用 KeyFile 实现节点间认证,提升集群安全。示例:
    openssl rand -base64 741 >
         /etc/mongodb-keyfile
    chmod 600 /etc/mongodb-keyfile
    chown mongodb:mongodb /etc/mongodb-keyfile
    # 在 /etc/mongod.conf 的 security 段添加:
    security:
      keyFile: /etc/mongodb-keyfile
    sudo systemctl restart mongod
    
  • 服务运行安全:以 mongodb 系统用户运行守护进程,数据目录(如 /var/lib/mongodb)属主属组设置为 mongodb:mongodb,避免使用 root
  • 系统加固与维护:保持 UbuntuMongoDB 补丁更新;仅开放必要端口与服务;对公网完全隔离数据库;定期审查用户、角色与防火墙规则。

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


若转载请注明出处: Ubuntu中MongoDB的安全设置有哪些
本文地址: https://pptw.com/jishu/786545.html
MongoDB在Ubuntu上的性能瓶颈如何解决 Debian上JSP如何进行安全漏洞修复

游客 回复需填写必要信息