如何保护 Meteor 应用程序 Mongo 数据库中的数据

How to secure data in Mongo DB of Meteor App

我希望使用 meteor App encrypt/decrypt mongoDB 的数据。是否有 package/module 支持在 Meteor 中对其数据库进行加密。我遇到了这个包裹。 mylar and oauth encryption ,有什么方法可以将这些用于 MongoDB 或任何其他方法是 available.Please 指南,我是流星的新手。谢谢

我参考了这个帖子 Encrypt Mongo data in Meteorjs 但无法解决问题。为 reference.Thanks

添加

我能够使用 MeteorJs 框架完成此操作。我的解决方案并不性感,但效果很好。

要点:https://gist.github.com/mariorodriguespt/b8c8a96ad2eccfb9b359

我只是在使用 collection-hooks 包保存到数据库之前加密数据,而当我发布数据时我只是解密它。我只在服务器上这样做,所以我不会将加密密钥发送给客户端。

这只是我个人实验室的一个实验,对于生产来说,维护它是一场噩梦。想象自己每次想要 read/write 数据...

更好的解决方案:

  1. 你可以写一个包裹 find/update/delete 的包,让你的生活更轻松。
  2. 您可以使用中间件来处理所有数据encryption/decrypting。 (我不知道如何用 Meteor 做到这一点,但我认为这是可行的)

现实生活:

我从来没有接到过有这个要求的项目。如果有人利用您的 Web 应用程序并设法转储所有数据,攻击者就会解密数据。如果攻击者直接利用数据库服务器,这可以防止攻击者获取数据库。

使用加密数据库本身就是一场噩梦,很容易在这上面浪费时间。还想象一些可怜的家伙试图优化数据库模式设计。

我建议您在不使用加密的情况下开发应用程序,当您准备好启动时,只需添加加密层即可。在我看来,解决方案 1 会很有效。不要忘记编写迁移指南,您将需要它们:)

Meteor 的一些关键加密包包括:

  • jparker:crypto-aes
  • jparker:crypto-sha256
  • mrt:jsencrypt
  • 地铁:sjcl

所有都可以在 atmospherejs.com