【发布时间】:2021-07-02 00:48:38
【问题描述】:
我一直在关注教程和课程来学习开发,并努力注意安全性。
在使用NodeJS、MongoDB Atlas + Mongoose时,应该手动加密数据,还是MongoDB Atlas自动加密?
感谢您抽出宝贵时间阅读。
祝你好运!
【问题讨论】:
标签: javascript mongodb encryption security
我一直在关注教程和课程来学习开发,并努力注意安全性。
在使用NodeJS、MongoDB Atlas + Mongoose时,应该手动加密数据,还是MongoDB Atlas自动加密?
感谢您抽出宝贵时间阅读。
祝你好运!
【问题讨论】:
标签: javascript mongodb encryption security
有多个地方可以加密“数据”。
当数据被数据库存储在磁盘上时。这称为静态加密。核心服务器功能见https://docs.mongodb.com/manual/core/security-encryption-at-rest/,在Atlas中如何配置见https://docs.atlas.mongodb.com/cluster-config/encryption/。
当运行数据库服务器的机器上的操作系统将数据调出到交换空间时。交换也需要加密。我不知道Atlas是否这样做,通过官方支持渠道提出这个问题可能是最好的。
当数据在数据库和应用程序之间传输时。这称为传输中的加密,是通过 TLS 完成的。所有 Atlas 部署都使用 TLS,请参阅 https://docs.atlas.mongodb.com/reference/faq/security/。
此外,即使上述机制在数据生命周期的不同阶段对数据进行加密,对数据进行操作的系统(即数据库服务器)以及管理这些系统的人员随时访问明文。为了防止 MongoDB 服务器和公司能够读取您的纯文本,请使用客户端加密 (https://docs.mongodb.com/manual/core/security-client-side-encryption/)。这也减少了未加密的交换(如果 Atlas 使用的是这种方式)。
【讨论】: