Ubuntu 上 MongoDB 的安全设置清单
一 身份与访问控制
security:
authorization: enabled
sudo systemctl restart mongod
use admin
db.createUser({
user: "admin",
pwd: "StrongPassword123!",
roles: ["root"]
})
mongo --host 127.0.0.1 --authenticationDatabase admin -u admin -p
use myAppDb
db.createUser({
user: "appUser",
pwd: "AppPass!23",
roles: [{ role: "readWrite", db: "myAppDb" }]
})
二 网络与防火墙
net:
bindIp: 127.0.0.1,192.168.1.100
sudo systemctl restart mongod
sudo ufw allow from 192.168.1.0/24 to any port 27017
sudo ufw enable
sudo ufw status numbered
三 加密与传输安全
net:
ssl:
mode: requireSSL
PEMKeyFile: /path/to/your/ssl.pem
CAFile: /path/to/your/ca.pem
sslAllowInvalidCertificates: false
sudo systemctl restart mongod
四 审计、日志与备份
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
# 视版本开启审计(如 enterprise 版本支持 auditLog)
mongodump --out /path/to/backup/$(date +%F)
五 复制集与密钥文件及运行安全
openssl rand -base64 741 > /etc/mongodb-keyfile
chmod 600 /etc/mongodb-keyfile
chown mongodb:mongodb /etc/mongodb-keyfile
# 在 /etc/mongod.conf 的 security 段添加:
security:
keyFile: /etc/mongodb-keyfile
sudo systemctl restart mongod