在CentOS上设置MongoDB的安全措施主要包括以下步骤:
/etc/mongod.conf,在 security 部分设置 authorization: enabled 。sudo systemctl restart mongod 。连接到MongoDB shell:mongo -u root -p --authenticationDatabase "admin" 。
在 admin 数据库中创建一个管理员用户。例如:
use admin db.createUser({ user: "admin", pwd: "your_strong_password", roles: [ { role: "root", db: "admin" } ] }) 连接到MongoDB shell:使用管理员账户连接到MongoDB shell。
为现有数据库设置密码:切换到需要设置密码的数据库,然后为用户创建密码。例如:
use your_database db.createUser({ user: "your_username", pwd: "your_password", roles: [ { role: "readWrite", db: "your_database" } ] }) 修改配置文件:在 mongod.conf 中设置 bindIp 为你的服务器IP地址,以限制访问。例如,只允许本机访问:
net: port: 27017 bindIp: 127.0.0.1 重启服务:保存配置文件并重启MongoDB服务。
生成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 使用防火墙:配置防火墙(如iptables或ufw)以限制对MongoDB端口的访问。例如:
sudo iptables -A INPUT -p tcp --dport 27017 -j ACCEPT sudo service iptables save 创建专用用户:为运行MongoDB的用户创建专用账户,并限制其权限。例如:
sudo useradd -r -s /sbin/nologin mongodbsudo chown -R mongodb:mongodb /usr/local/mongodb 请注意,上述步骤和配置可能会随着MongoDB版本的更新而发生变化,建议参考最新的MongoDB官方文档进行配置。