在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/tcpsudo 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: requireSSLPEMKeyFile: /path/to/your/ssl.pemCAFile: /path/to/your/ca.pem
替换 /path/to/your/ssl.pem
和 /path/to/your/ca.pem
为您的证书和CA文件路径。重启MongoDB服务:sudo systemctl restart mongod
6. 审计日志配置启用审计日志,记录所有数据库操作:systemLog:destination: filepath: /var/log/mongodb/mongod.loglogAppend: trueverbose: true
7. 定期备份创建备份脚本并配置自动执行,以确保数据的安全性。8. 更新MongoDB确保您的MongoDB版本是最新的,以利用最新的安全修复。9. SELinux策略如果您的系统使用SELinux,您可能需要创建特定的策略来允许MongoDB的正常运行。通过以上步骤,您可以大大提高CentOS上MongoDB的安全性。请记住,定期更新密码和策略是保护数据库的关键部分。