以下是在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" }]
})
配置网络访问控制
net:
bindIp: 127.0.0.1
ufw
)限制端口访问:sudo ufw allow from 信任IP/32 to any port 27017
sudo ufw reload
启用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: "目标数据库" }]
})
其他安全措施
net:
http:
enabled: false
参考来源: