以下是在Ubuntu上配置MongoDB安全的关键步骤:
-
安装MongoDB
从官方仓库安装,确保系统为最新:sudo apt-get update sudo apt-get install -y mongodb-org -
启用认证与授权
编辑配置文件/etc/mongod.conf,在security部分添加:security: authorization: enabled重启服务生效:
sudo systemctl restart mongod -
创建管理员用户
使用mongoshell 连接数据库(未启用认证前),在admin数据库中创建用户:use admin db.createUser({ user: "adminUser", pwd: "强密码", roles: [{ role: "root", db: "admin" }] })之后需通过认证连接:
mongo -u adminUser -p 强密码 --authenticationDatabase admin -
限制网络访问
在配置文件中设置bindIp为127.0.0.1(仅本地访问)或指定可信IP,避免暴露在公网:net: bindIp: 127.0.0.1 port: 27017重启服务:
sudo systemctl restart mongod -
配置防火墙
使用ufw限制端口访问,仅允许可信IP连接MongoDB端口(默认27017):sudo ufw allow from 可信IP/32 to any port 27017 sudo ufw reload -
启用加密(可选)
- 传输加密:在配置文件中启用SSL/TLS,需提供证书和私钥路径:
net: ssl: mode: requireSSL PEMKeyFile: /path/to/ssl.pem CAFile: /path/to/ca.pem - 存储加密:使用MongoDB企业版或第三方工具加密数据文件(社区版暂不支持原生存储加密)。
- 传输加密:在配置文件中启用SSL/TLS,需提供证书和私钥路径:
-
定期维护与监控
- 备份数据:使用
mongodump定期备份数据库。 - 更新补丁:定期检查并安装MongoDB和Ubuntu的安全更新。
- 监控日志:通过
systemLog配置日志路径,分析异常操作。
- 备份数据:使用
注意:生产环境中需根据实际需求调整权限,避免过度授权。参考官方文档获取最新安全策略:MongoDB安全指南。