安全地互连node.js应用程序/工作者/集群的基础是什么?

时间:2011-12-12 11:02:07

标签: node.js authentication cluster-computing

我正在寻找关于验证互连node.js应用程序的'正确方法'的建议。用例通用:共享工作任务,同步数据或控制/监控通道。数据库有身份验证,但应用程序本身呢?

入侵者(来自外部或网络)滥用内部连接的风险是什么?会发生吗?

我发现许多集群协作模块从使用原始套接字到zeromq,但是这些示例从未真正提到安全方面,只是连接到某个ip / port。但是你如何确保加入劳动力市场的新员工不会充满敌意?工人如何知道它不被用于邪恶目的?

我认为云托管中的网络不像开放互联网那样充满敌意(是吗???),但是,你做了什么样的事情?我会说内部的https太多了,但是你如何才能匹配身份呢?你在每个节点上放了一些证书吗?什么样的?那怎么检查呢?你什么时候穿的?

如果我的数据库可以使用简单的id / pass(纯文本或什么?)那么我的应用程序集群也可以吗?如果是这样,您如何保护和管理身份信息?

一个基本的解决方案可能是为每个节点ssh一些自定义令牌,并为每个连接节点检查应用程序的一些哈希方案,但我不知道良好的行业惯例,你怎么看?

1 个答案:

答案 0 :(得分:0)

如果您使用ZeroMQ或Redis等解决方案,请确保为它们设置密码。

您的流程完全由您负责。您应确保您的应用程序没有任何设计缺陷,因此只有您(来自服务器端)或经过身份验证的用户可以通过“管道”发送消息(例如,如果您正在设计聊天,请确保仅进行身份验证/注册用户可以发送消息)。

如果您希望在本地网络上获得额外的安全性,可以使用iptables