温馨提示×

Ubuntu MongoDB安全配置有哪些要点

小樊
53
2025-06-15 14:33:24
栏目: 云计算

在Ubuntu上为MongoDB进行安全配置是确保数据库安全和防止未授权访问的重要步骤。以下是一些关键的安全配置要点:

1. 启用身份验证

  • 编辑MongoDB配置文件 /etc/mongod.conf,在 security 部分启用身份验证:
    security:
      authorization: enabled
    
  • 保存并关闭文件,然后重启MongoDB服务:
    sudo systemctl restart mongod
    

2. 创建专用MongoDB用户

  • 使用MongoDB shell创建一个具有管理权限的用户:
    mongo
    use admin
    db.createUser({
      user: "myUserAdmin",
      pwd: "myUserAdminPwd",
      roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
    })
    

3. 限制IP访问

  • 在MongoDB配置文件中设置 bindIp,以允许特定IP地址访问MongoDB服务器:
    net:
      port: 27017
      bindIp: 127.0.0.1,192.168.1.100
    
  • 保存并关闭文件,然后重启MongoDB服务:
    sudo systemctl restart mongod
    

4. 使用防火墙限制访问

  • 如果系统启用了防火墙,使用 ufw 命令限制对MongoDB端口的访问:
    sudo ufw allow from 192.168.1.100 to any port 27017
    sudo ufw enable
    

5. 启用TLS/SSL加密

  • 生成或获取有效的SSL证书和私钥文件,在 mongod.conf 配置文件中添加以下参数:
    net:
      ssl:
        mode: requireSSL
        PEMKeyFile: /path/to/your/ssl.pem
        CAFile: /path/to/your/ca.pem
    
  • 重新启动MongoDB服务使配置生效:
    sudo systemctl restart mongod
    

6. 审计日志

  • mongod.conf 配置文件中添加以下参数以启用审计日志记录所有用户的操作:
    systemLog:
      destination: file
      path: /var/log/mongodb/mongod.log
      logAppend: true
    

7. 定期备份数据

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

8. 安全更新和补丁管理

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

9. 禁用透明大页面(THP)

  • 编辑 /etc/systemd/system/disable-thp.service 文件:
    [Unit]
    Description = Disable Transparent Huge Pages (THP)
    [Service]
    Type = simple
    ExecStart = /bin/sh -c "echo 'never' /sys/kernel/mm/transparent_hugepage/enabled && echo 'never' /sys/kernel/mm/transparent_hugepage/defrag"
    [Install]
    WantedBy = multi-user.target
    
  • 重新加载并启用服务:
    sudo systemctl daemon-reload
    sudo systemctl enable --now disable-thp.service
    

10. 设置MongoDB用户的资源限制

  • 编辑 /etc/security/limits.d/mongodb.conf 文件:
    mongod soft nproc 64000
    mongod hard nproc 64000
    mongod soft nofile 64000
    mongod hard nofile 64000
    

通过以上步骤,可以显著提高MongoDB在Ubuntu上的安全性。请记住,安全是一个持续的过程,需要定期审查和更新配置。

0