node.js 服务端代码安全问题

2014-08-27 08:47:32 +08:00
 coinxu

原问题地址在这里:node-js-server-code-security-issue

大概意思就是:

我的服务器需要的一些敏感信息都会加密存储到google drive上,这样不至于服务器被黑后敏感信息泄露。

但是google drive的话client_id和client_secret什么的都写在配置文件里面,服务器被黑了黑客一花点时间读代码就可以自己去从google drive上取这些敏感信息了。

所以我初步思路是在配置文件中使用对称加密对这些配置信息进行加密存储,然后程序启动时在环境变量中设置密钥,这样密钥就不会被暴露了。

这个方法总感觉不靠谱,有点野路子,不知道有没有一些标准的解决方案。

4755 次点击
所在节点    Node.js
23 条回复
bolasblack
2014-08-27 16:27:33 +08:00
实话说既然提到了环境变量,那把 id 和 secret 放在环境变量里和把秘钥放在环境变量里然后解密配置文件有什么区别呢?我目前能想到的办法就是直接把这些敏感信息放在环境变量里然后程序在运行时读取,RoR 社区的大部分人的做法应该也是这个

我想这样子安全性应该也就差不多了
kfll
2014-08-27 18:54:59 +08:00
楼主出了个世纪难题啊

环境变量明显不满足你的需求

既然服务器已经被黑了,先认为是黑客拿到了一台linux服务器的root帐号吧。

你需要的可能是:代码全部预编译+全程https+把数据库交给aws以转移部分风险

不然随随便便都能获取你的敏感信息

至于黑客从内存中获取敏感信息的难度多大我就不知道了,这点不予置评。
wdlth
2014-08-28 17:45:47 +08:00
既然你的程序能使用那些什么加密后的东西,那么不法之徒经过某些步骤之后也可以,就像软件的破解一样。除非做成在线的,就像联网DRM一样……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/130085

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX