首页主机资讯MongoDB在Ubuntu上的安全认证怎么设置

MongoDB在Ubuntu上的安全认证怎么设置

时间2025-12-23 01:03:04发布访客分类主机资讯浏览443
导读:在 Ubuntu 上配置 MongoDB 安全认证 一 准备与版本确认 确认 MongoDB 服务名称与配置文件路径:常见为服务名 mongod、配置文件 /etc/mongod.conf。如使用系统仓库的旧包,服务名可能是 mongod...

在 Ubuntu 上配置 MongoDB 安全认证

一 准备与版本确认

  • 确认 MongoDB 服务名称与配置文件路径:常见为服务名 mongod、配置文件 /etc/mongod.conf。如使用系统仓库的旧包,服务名可能是 mongodb,配置文件可能为 /etc/mongodb.conf。启动与开机自启建议使用 systemd:
    • 启动/启用:sudo systemctl enable --now mongod
    • 查看状态:sudo systemctl status mongod
  • 注意:部分旧教程仍使用 mongo 命令,新版为 mongosh;两者用法相近,但建议优先使用 mongosh。以上差异与路径示例以 Ubuntu 常见安装为准。

二 启用认证与创建管理员

  • 编辑配置文件 /etc/mongod.conf,开启授权(如文件中有 auth=true 的旧写法也可使用,但推荐 YAML 方式):
    • security:
      • authorization: enabled
  • 重启服务使配置生效:sudo systemctl restart mongod
  • 连接 Mongo Shell:mongosh(或 mongo)
  • admin 数据库创建管理员(示例赋予超级权限,生产可选最小权限):
    • use admin
    • db.createUser({ user: “admin”, pwd: “StrongPassw0rd!”, roles: [{ role: “root”, db: “admin” } ] } )
  • 验证登录:mongosh -u admin -p StrongPassw0rd! --authenticationDatabase admin
  • 如需为业务库创建最小权限用户(示例对 mydb 只读写):
    • use mydb
    • db.createUser({ user: “mydbuser”, pwd: “Another$ecret”, roles: [{ role: “readWrite”, db: “mydb” } ] } )
  • 说明:创建用户前先开启 authorization 再重启,否则创建的用户可能不生效。

三 网络与防火墙加固

  • 绑定地址:默认仅本地监听更安全。编辑 /etc/mongod.conf
    • net:
      • bindIp: 127.0.0.1
  • 如确需远程访问,仅放通必要来源(示例为内网网段),并始终保留强认证:
    • net:
      • bindIp: 127.0.0.1,192.168.1.0/24
  • 防火墙(UFW)示例:
    • 仅本地:sudo ufw deny 27017/tcp
    • 放通内网:sudo ufw allow from 192.168.1.0/24 to any port 27017 proto tcp
  • 提醒:开放到公网前务必完成认证、加密与访问控制。

四 加密通信与审计

  • 启用 TLS/SSL(示例为单向校验,生产建议使用由受信任 CA 签发的证书):
    • net:
      • ssl:
        • mode: requireSSL
        • PEMKeyFile: /path/to/your/ssl.pem
        • CAFile: /path/to/your/ca.pem
        • sslAllowInvalidCertificates: false
  • 重启服务:sudo systemctl restart mongod
  • 审计日志(记录用户操作,便于合规与追溯):
    • systemLog:
      • destination: file
      • logAppend: true
      • path: /var/log/mongodb/mongod.log
      • auditLog:
        • destination: file
        • format: JSON
        • path: /var/log/mongodb/audit.log
  • 注意:开启审计会带来一定性能开销,请结合容量规划与保留策略配置。

五 验证与常见问题

  • 验证认证是否生效:
    • 未认证应被拒绝:mongosh -u any -p any --authenticationDatabase admin(预期失败)
    • 认证后检查状态:mongosh -u admin -p StrongPassw0rd! --authenticationDatabase admin --eval ‘db.runCommand({ connectionStatus: 1} )’
  • 常见问题与处理:
    • 配置未生效:确认修改的是实际被加载的配置文件(/etc/mongod.conf 或 /etc/mongodb.conf),并重启服务;检查服务名是否为 mongodmongodb
    • 远程连不上:核对云安全组/本机防火墙、bindIp 是否包含客户端网段、端口 27017 是否放通。
    • 旧版命令差异:部分教程使用 mongoauth=true 写法,若你的环境为 YAML 配置,请优先使用 security.authorization: enabled。

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


若转载请注明出处: MongoDB在Ubuntu上的安全认证怎么设置
本文地址: https://pptw.com/jishu/778010.html
SecureCRT如何实现Debian服务器自动化运维 MongoDB配置Ubuntu集群有哪些要点

游客 回复需填写必要信息