以下是在Debian上设置MongoDB安全的操作步骤:
-
安装MongoDB
更新系统并添加官方仓库,安装MongoDB:sudo apt update && sudo apt install -y mongodb-org -
启用身份验证
编辑配置文件/etc/mongod.conf,添加或修改:security: authorization: enabled重启服务生效:
sudo systemctl restart mongod -
创建管理员账户
进入MongoDB Shell,切换到admin数据库创建管理员:mongo use admin db.createUser({ user: "admin", pwd: "强密码", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] }) -
配置网络访问控制
- 绑定IP到本地(仅允许本地访问):
net: bindIp: 127.0.0.1 - 或使用防火墙(如
ufw)限制端口访问:sudo ufw allow from 信任IP/32 to any port 27017 sudo ufw reload
- 绑定IP到本地(仅允许本地访问):
-
启用SSL/TLS加密通信
生成证书并配置mongod.conf:net: ssl: mode: requireSSL PEMKeyFile: /path/to/mongodb.pem重启服务:
sudo systemctl restart mongod -
设置数据库用户权限
为特定数据库创建用户并分配角色(如readWrite):use 目标数据库 db.createUser({ user: "普通用户", pwd: "用户密码", roles: [{ role: "readWrite", db: "目标数据库" }] }) -
其他安全措施
- 禁用HTTP接口(MongoDB 3.6+):
net: http: enabled: false - 定期更新系统和MongoDB补丁。
- 禁用HTTP接口(MongoDB 3.6+):
参考来源: