温馨提示×

MongoDB安全设置怎么做

小樊
45
2025-02-26 12:21:23
栏目: 云计算
GO开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

MongoDB 安全设置包括多个方面,以下是一些关键的步骤和建议:

1. 启用鉴权

  • 修改配置文件:在 mongod.conf 文件中,找到或添加以下内容:

    security:
      authorization: enabled
    

    如果使用 Homebrew 安装的 MongoDB,配置文件路径通常为 /opt/homebrew/etc/mongod.conf。如果是手动安装的 MongoDB,请确保路径正确,或者创建自己的配置文件。

  • 启动 MongoDB 服务

    mongod --config /path/to/mongod.conf
    

    或者

    brew services restart mongodb
    

2. 创建管理员账户

  • 连接到 MongoDB Shell:

    mongo
    
  • 切换到 admin 数据库:

    use admin
    
  • 创建管理员账户:

    db.createUser({
      user: "admin",
      pwd: "your_strong_password",
      roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
    })
    

3. 用户身份验证机制

  • 内置身份验证:使用默认的 admin 数据库存储用户名和密码。
  • LDAP 集成:将 MongoDB 与 LDAP 服务集成。
  • x.509 证书认证:使用 SSL/TLS 证书验证客户端身份。

4. 角色管理(Role-Based Access Control, RBAC)

  • 创建角色

    use admin
    db.createRole({
      role: "readOnly",
      privileges: [
        { resource: { db: "mydatabase", collection: "" }, actions: [ "find" ] }
      ],
      roles: []
    })
    
  • 分配角色

    db.grantRolesToUser("myuser", [ { role: "readOnly", db: "mydatabase" } ])
    

5. 启用 TLS/SSL 加密

  • 生成或获取有效的 SSL 证书和私钥文件。

  • mongod.conf 配置文件中添加以下参数:

    net:
      ssl:
        mode: requireSSL
        PEMKeyFile: /path/to/your/ssl.pem
        CAFile: /path/to/your/ca.pem
    
  • 重新启动 MongoDB 服务使配置生效。

6. 网络配置

  • 限制远程访问,只允许特定 IP 地址或主机名连接。

  • mongod.conf 配置文件中添加 bindIp 参数:

    net:
      bindIp: 192.168.1.0/24
    

7. 审计日志

  • 启用审计日志记录所有用户的操作。

  • mongod.conf 配置文件中添加以下参数:

    systemLog:
      destination: file
      path: /var/log/mongodb/mongod.log
      logAppend: true
    

8. 定期备份数据

  • 定期备份 MongoDB 的数据,确保备份数据的完整性和可恢复性。

9. 安全更新和补丁管理

  • 定期检查 MongoDB 的安全更新和补丁,及时应用最新的安全补丁以修复已知漏洞。

通过以上步骤,可以显著提高 MongoDB 的安全性,保护数据库中的数据不被未经授权的用户访问或修改。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:CentOS中MongoDB安全设置怎么做

0