MongoDB 在 Linux 上的安全加固清单
一 身份与访问控制
security:
authorization: enabled
重启:sudo systemctl restart mongod。随后在 admin 库创建管理员(示例赋予 root 角色,生产环境可按最小权限原则细化):use admin
db.createUser({
user: "admin",
pwd: "StrongPass!23",
roles: ["root"]
})
use mydb
db.createUser({
user: "app_rw",
pwd: "AppPass!45",
roles: [{ role: "readWrite", db: "mydb" }]
})
mongo -u app_rw -p AppPass!45 --authenticationDatabase mydb
二 网络与防火墙
net:
port: 27017
bindIp: 127.0.0.1,192.168.10.20
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.10.0/24" port port="27017" protocol="tcp" accept'
sudo firewall-cmd --reload
sudo ufw allow from 192.168.10.0/24 to any port 27017 proto tcp
sudo ufw enable && sudo ufw status verbose
sudo systemctl restart mongod。三 加密与传输安全
net:
ssl:
mode: requireSSL
PEMKeyFile: /etc/mongodb/mongodb-key.pem
CAFile: /etc/mongodb/mongodb-cert.pem
重启生效:sudo systemctl restart mongod。客户端连接时携带证书或使用受信任 CA 验证。四 系统与服务加固
net:
http:
enabled: false
RESTInterfaceEnabled: false
JSONPEnabled: false
五 审计、备份与运维
security:
auditLog:
destination: file
format: JSON
path: /var/log/mongodb/audit.json
注意审计会带来一定性能开销,建议按业务重要性选择事件类别与输出目标。