在 Debian 上“加密 MongoDB”通常可以从多个层面来做,常见做法如下(按安全强度由低到高):
防止数据在传输中被窃听。
步骤:
sudo apt install certbot
sudo certbot certonly --standalone -d mongo.example.com
/etc/mongod.confnet:
port: 27017
tls:
mode: requireTLS
certificateKeyFile: /etc/ssl/certs/mongo.pem
CAFile: /etc/ssl/certs/ca.pem
sudo systemctl restart mongod
MongoDB 企业版支持原生磁盘加密(WiredTiger Encrypted)。
⚠ Debian 默认仓库是 社区版(CE),不支持原生静态加密
替代方案:
防止服务器被盗或磁盘被拆。
示例:加密 MongoDB 数据盘
sudo apt install cryptsetup
sudo cryptsetup luksFormat /dev/sdb
sudo cryptsetup open /dev/sdb mongo_disk
sudo mkfs.ext4 /dev/mapper/mongo_disk
sudo mount /dev/mapper/mongo_disk /var/lib/mongodb
修改 MongoDB 数据目录:
storage:
dbPath: /var/lib/mongodb
适合只加密 /var/lib/mongodb
sudo apt install ecryptfs-utils
sudo mount -t ecryptfs /var/lib/mongodb /var/lib/mongodb
security:
authorization: enabled
创建管理员:
use admin
db.createUser({
user: "admin",
pwd: "strongpassword",
roles: ["root"]
})
net:
bindIp: 127.0.0.1,10.0.0.5
sudo ufw allow from 10.0.0.0/8 to any port 27017
✅ Debian + LUKS 磁盘加密
✅ MongoDB TLS
✅ 开启鉴权
✅ 内网访问
如果你愿意,可以告诉我:
mongod --version)我可以给你更精确的一步一步配置方案。