温馨提示×

MongoDB在CentOS上如何进行安全配置

小樊
55
2025-07-26 18:34:24
栏目: 云计算

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

1. 启用身份验证

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

2. 创建管理员账户

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

3. 创建普通用户

  • 切换到您想要设置用户的数据库
    use your_database 
  • 创建一个普通用户
    db.createUser({ user: "your_username", pwd: "your_password", roles: [ { role: "readWrite", db: "your_database" } ] }) 
  • 赋予普通用户权限
    db.grantRolesToUser("your_username", [ { role: "readWrite", db: "your_database" } ]) 

4. 配置防火墙

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

5. 绑定IP地址

  • 修改MongoDB配置文件,将 bindIp 设置为 127.0.0.1,仅允许本地连接:
    net: port: 27017 bindIp: 127.0.0.1 
  • 重启MongoDB服务使配置生效。

6. 使用SSL/TLS加密连接

  • 生成SSL证书和密钥文件,然后在 /etc/mongod.conf中配置SSL/TLS:
    sudo openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout /etc/ssl/mongodb.key -out /etc/ssl/mongodb.crt 
    net: ssl: mode: requireSSL PEMKeyFile: /etc/ssl/mongodb.key CAFile: /etc/ssl/mongodb.crt 
  • 重启MongoDB服务

7. 定期更新和维护

  • 定期更新MongoDB到最新版本,并进行安全审计和维护。
  • 定期备份数据库,以防数据丢失。
  • 启用审计日志,记录所有数据库操作。

0