温馨提示×

MongoDB在CentOS的安全设置有哪些

小樊
45
2025-04-22 17:28:17
栏目: 云计算

在CentOS上设置MongoDB的安全措施主要包括以下步骤:

  1. 启用身份验证
  • 打开MongoDB的配置文件 /etc/mongod.conf,在 security 部分设置 authorization: enabled
  • 重启MongoDB服务以应用更改:sudo systemctl restart mongod
  1. 创建管理员用户
  • 连接到MongoDB shell:mongo -u root -p --authenticationDatabase "admin"

  • admin 数据库中创建一个管理员用户。例如:

    use admin db.createUser({ user: "admin", pwd: "your_strong_password", roles: [ { role: "root", db: "admin" } ] }) 
  1. 为现有数据库设置密码
  • 连接到MongoDB shell:使用管理员账户连接到MongoDB shell。

  • 为现有数据库设置密码:切换到需要设置密码的数据库,然后为用户创建密码。例如:

    use your_database db.createUser({ user: "your_username", pwd: "your_password", roles: [ { role: "readWrite", db: "your_database" } ] }) 
  1. 配置网络访问控制
  • 修改配置文件:在 mongod.conf 中设置 bindIp 为你的服务器IP地址,以限制访问。例如,只允许本机访问:

    net: port: 27017 bindIp: 127.0.0.1 
  • 重启服务:保存配置文件并重启MongoDB服务。

  1. 加密通信
  • 生成SSL证书:使用OpenSSL生成SSL证书和密钥文件。例如:

    openssl req -newkey rsa:2048 -new -x509 -days 365 -nodes -out mongodb-cert.crt -keyout mongodb-cert.key 
  • 配置MongoDB使用SSL:在 mongod.conf 中添加以下配置并重启服务。例如:

    net: ssl: mode: requireSSL PEMKeyFile: /path/to/mongodb-cert.pem 
  1. 限制网络曝光
  • 使用防火墙:配置防火墙(如iptables或ufw)以限制对MongoDB端口的访问。例如:

    sudo iptables -A INPUT -p tcp --dport 27017 -j ACCEPT sudo service iptables save 
  1. 使用专用的用户运行MongoDB
  • 创建专用用户:为运行MongoDB的用户创建专用账户,并限制其权限。例如:

    sudo useradd -r -s /sbin/nologin mongodbsudo chown -R mongodb:mongodb /usr/local/mongodb 
  1. 启用审计系统活动(可选):
  • 跟踪对数据库配置和数据的访问和更改。MongoDB企业版包括一个系统审计工具,可以记录MongoDB实例上的系统事件(例如:用户操作、连接事件)。这些审计记录允许辩证地进行分析并且允许管理员去核查本身的控制。你可以设置过滤器来记录特定的时间。

请注意,上述步骤和配置可能会随着MongoDB版本的更新而发生变化,建议参考最新的MongoDB官方文档进行配置。

0