确保CentOS上MongoDB的安全是一个多层面的过程,涉及多个关键配置和最佳实践。以下是一些详细的步骤和建议,帮助你提高MongoDB的安全性:
/etc/mongod.conf
文件,在 security
部分启用身份验证:security:
authorization: enabled
mongo
shell连接到MongoDB,创建一个管理员用户并为其分配角色和权限:use admin
db.createUser({
user: "admin",
pwd: "your_strong_password",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
})
sudo systemctl restart mongod
firewalld
:配置防火墙规则,只允许特定IP地址访问MongoDB端口(默认是27017):sudo firewall-cmd --permanent --zone=public --add-port=27017/tcp
sudo firewall-cmd --reload
sudo openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout /etc/ssl/mongodb.key -out /etc/ssl/mongodb.crt
/etc/mongod.conf
文件,添加SSL配置:net:
ssl:
mode: requireSSL
PEMKeyFile: /etc/ssl/mongodb.key
CAFile: /etc/ssl/mongodb.crt
sudo systemctl restart mongod
bindIp
,只允许本地或特定IP地址访问:net:
bindIp: 127.0.0.1,your_server_ip
systemLog:
destination: file
path: /var/log/mongodb/mongod.log
logAppend: true
verbose: true
GRANT
和 REVOKE
语句精细管理用户权限。通过以上步骤,你可以在CentOS上为MongoDB设置基本的安全措施,确保数据库的安全性。请根据实际需求和环境调整配置,并定期审查和更新安全设置以应对新的威胁。