下面给你一套在 Debian 上加固 MongoDB 的实用清单,从安装、权限、网络、配置到审计,适合生产环境。默认假设你使用的是 MongoDB 6.x / 7.x(官方 APT 仓库),如果你用的是 Debian 自带版本(通常较旧),建议优先使用官方源。
一、安装阶段(基础安全)
1. 使用官方 MongoDB 仓库(推荐)
Debian 自带版本往往较旧,缺少安全更新。
# 示例:Debian 12 (bookworm)
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \
gpg --dearmor -o /usr/share/keyrings/mongodb-server-7.0.gpg
echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] \
https://repo.mongodb.org/apt/debian bookworm/mongodb-org/7.0 main" \
| tee /etc/apt/sources.list.d/mongodb-org-7.0.list
apt update
apt install -y mongodb-org
二、启用认证(最关键)
2. 启用访问控制
编辑配置文件:
nano /etc/mongod.conf
启用:
security:
authorization: enabled
重启:
systemctl restart mongod
3. 创建管理员用户
先以本地方式连接:
mongosh
use admin
db.createUser({
user: "admin",
pwd: "StrongPassword",
roles: [ { role: "root", db: "admin" } ]
})
退出后重新登录:
mongosh -u admin -p --authenticationDatabase admin
✅ 不要使用默认空密码
三、网络与端口加固
4. 绑定本地或内网 IP(禁止公网)
net:
bindIp: 127.0.0.1
port: 27017
如果是集群或内网访问:
bindIp: 127.0.0.1,10.0.0.5
❌ 绝对不要 bindIp: 0.0.0.0
5. 修改默认端口(可选)
net:
port: 27018
四、防火墙与访问控制
6. 使用 nftables / ufw
只允许应用服务器访问:
ufw allow from 10.0.0.0/8 to any port 27017
ufw enable
或 nftables:
nft add rule inet filter input tcp dport 27017 ip saddr 10.0.0.0/8 accept
五、数据库级权限控制(最小权限)
7. 按应用创建用户
不要所有应用都用 admin
use appdb
db.createUser({
user: "appuser",
pwd: "AppStrongPass",
roles: [ { role: "readWrite", db: "appdb" } ]
})
✅ 避免:
root-
dbOwner除非必要
六、加密与传输安全
8. 启用 TLS/SSL(强烈建议)
生成证书后:
net:
tls:
mode: requireTLS
certificateKeyFile: /etc/ssl/mongo/mongo.pem
CAFile: /etc/ssl/mongo/ca.pem
客户端连接:
mongosh --tls --tlsCAFile ca.pem
9. 静止数据加密(企业版 / 自加密)
- MongoDB Enterprise:WiredTiger 加密
- 社区版:
- LUKS / dm-crypt
- 应用层加密(敏感字段)
七、系统级加固
10. 以非 root 用户运行
Debian 官方包默认已使用 mongodb 用户,确认:
ps aux | grep mongod
11. 限制文件系统权限
chown -R mongodb:mongodb /var/lib/mongodb
chmod 700 /var/lib/mongodb
12. 关闭不必要的接口
禁用 HTTP 接口(新版默认关闭):
net:
http:
enabled: false
八、审计与日志
13. 启用审计日志(企业版)
社区版替代方案:
- 启用普通日志
- 使用
rsyslog/journald - 接入 ELK / SIEM
systemLog:
destination: file
path: /var/log/mongodb/mongod.log
logAppend: true
九、备份与恢复安全
14. 备份加密与权限控制
mongodump --authenticationDatabase admin -u admin -p
- 备份文件加密
- 限制备份目录权限
- 定期恢复演练
十、定期维护
15. 安全更新
apt update && apt upgrade mongodb-org
16. 关注安全公告
- https://www.mongodb.com/security
- Debian security tracker
快速检查清单 ✅
| 项目 | 状态 |
|---|---|
| 启用认证 | ✅ |
| 非公网绑定 | ✅ |
| 防火墙限制 | ✅ |
| 最小权限用户 | ✅ |
| TLS 启用 | ✅ |
| 日志开启 | ✅ |
| 定期更新 | ✅ |
如果你愿意,我可以:
- ✅ 给你一份 生产级
mongod.conf模板 - ✅ 针对 Debian 11 / 12 做定制加固
- ✅ 评估你当前配置是否安全(贴配置即可)
直接告诉我你的使用场景(单机 / 副本集 / 公网 / 内网)。