在 CentOS 上为 MongoDB 做“加密”,通常可以从 以下几个层面 来实现,按安全强度和常见程度从低到高说明:
防止数据在客户端和 MongoDB 之间被窃听。
openssl req -newkey rsa:2048 -nodes -keyout mongodb.key -x509 -days 365 -out mongodb.crt
cat mongodb.key mongodb.crt > mongodb.pem
/etc/mongod.conf)net:
ssl:
mode: requireSSL
PEMKeyFile: /etc/ssl/mongodb.pem
systemctl restart mongod
mongo --ssl --host localhost
⚠️ 社区版不支持
encryption at rest如果你是 社区版,请看下面“磁盘级加密”。
需要:
mongocryptd适合保护 MongoDB 数据文件。
# 假设数据盘是 /dev/sdb
cryptsetup luksFormat /dev/sdb
cryptsetup open /dev/sdb mongo_data
mkfs.xfs /dev/mapper/mongo_data
mount /dev/mapper/mongo_data /var/lib/mongo
MongoDB 数据目录:
/var/lib/mongo
security:
authorization: enabled
use admin
db.createUser({
user: "admin",
pwd: "强密码",
roles: ["root"]
})
✅ 最佳实践
authorization你可以告诉我:
mongod --version)我可以直接给你 可复制的完整配置。