温馨提示×

MongoDB在CentOS上的安全设置指南

小樊
48
2025-07-10 14:27:05
栏目: 云计算

在CentOS上为MongoDB设置安全性是非常重要的,以下是一些基本步骤和建议:

1. 启用身份验证

  • 打开MongoDB配置文件 /etc/mongod.conf
  • 找到并修改以下行:
    security:
      authorization: enabled
    
  • 保存并关闭配置文件。
  • 重启MongoDB服务以应用更改:
    sudo systemctl restart mongod
    

2. 创建管理员账户

  • 连接到MongoDB shell:
    mongo
    
  • 切换到 admin 数据库:
    use admin
    
  • 创建一个管理员账户:
    db.createUser({
      user: "admin",
      pwd: "your_strong_password",
      roles: [ { role: "root", db: "admin" } ]
    })
    
  • 赋予管理员账户权限:
    db.grantRolesToUser("admin", [ { role: "userAdminAnyDatabase", db: "admin" } ])
    

3. 配置防火墙

  • 使用 firewalld 配置防火墙规则,只允许本地访问MongoDB端口(默认是27017):
    sudo firewall-cmd --permanent --zone=public --add-port=27017/tcp
    sudo firewall-cmd --reload
    

4. 限制网络访问

  • 修改MongoDB配置文件 /etc/mongod.conf,将 bindIp 设置为 127.0.0.1,仅允许本地连接:
    net:
      bindIp: 127.0.0.1
    
  • 重启MongoDB服务以应用更改:
    sudo systemctl restart mongod
    

5. 启用SSL/TLS加密

  • 生成或获取SSL证书和私钥文件(例如,使用 openssl 工具),然后在 /etc/mongod.conf 中配置SSL/TLS:
    net:
      ssl:
        mode: requireSSL
        PEMKeyFile: /path/to/your/ssl.pem
        CAFile: /path/to/your/ca.pem
    
  • 替换 /path/to/your/ssl.pem/path/to/your/ca.pem 为您的证书和CA文件路径。重启MongoDB服务:
    sudo systemctl restart mongod
    

6. 审计日志配置

  • 启用审计日志,记录所有数据库操作:
    systemLog:
      destination: file
      path: /var/log/mongodb/mongod.log
      logAppend: true
      verbose: true
    

7. 定期备份

  • 创建备份脚本并配置自动执行,以确保数据的安全性。

8. 更新MongoDB

  • 确保您的MongoDB版本是最新的,以利用最新的安全修复。

9. SELinux策略

  • 如果您的系统使用SELinux,您可能需要创建特定的策略来允许MongoDB的正常运行。

通过以上步骤,您可以大大提高CentOS上MongoDB的安全性。请记住,定期更新密码和策略是保护数据库的关键部分。

0