2011-08-14 47 views
9

我想将node.js放在云中,以查找具有敏感公司信息的应用程序。我担心node.js不像一些较旧的服务器那么安全,因为它并没有被大量使用。我看到有人建议使用反向代理来使其更安全。我了解它如何更安全,因为它不直接暴露于世界。但是,仍然可以使用xss和其他攻击。仅从安全角度来看,任何人都认为node.js与旧服务器相似?关于“如何说服你的老板+公司安全团队”的提示?反向代理是否使node.js安全?

+0

如果是公司,你应该把它放在NAT(防火墙)之后。另外node.js对于大多数攻击都是非常安全的。 – Alfred

+0

@alfred:谢谢,但“对大多数攻击非常安全”并不能说服公司安全团队。此外,这是一个云应用程序,它不在公司NAT后面。 –

+2

你的问题远离现实。事件“老srevers”容易受到xss和其他攻击,而这是在你的代码错误,而不是服务器。从这个观点来看,旧的服务器和nodejs一样不安全。反向代理只能在代理服务器检测到格式错误的http请求(协议错误)并放弃请求但仅在nodejs中存在缺陷的错误会暴露敏感信息时从“http.createserver”中进行保护。 –

回答

3

理论上,反向代理不会传递它自己无法处理的任何请求(包括它旨在有意阻止的请求)。

但是,如果没有关于node.js的错误,将例如使它像透露

GET /x0c/xa0 

接收请求当某些变量的内容,则代理将只传递该请求,并将答案转交给客户端(攻击者)。

所以仍存在风险......

-2

为什么不创建蟒蛇铁杆锁定代理,C++等,这将控制访问?每个通过此代理的人都是可信的用户,并且node.js与他们一起工作。

+0

我不认为这真的是OP的答案。 – SuitedSloth

0

说服老板和安全团队的方法是证明你已经考虑过这些问题并且有一个合理和现实的计划来测试它们。

在任何企业环境中,您的代理只是整体安全性的一小部分,这就是风险的管理方式。

为了测试这样的事情,您需要在代理上抛出一些* un *合理的请求。例如,我喜欢juand的建议,你也应该在代理上投入很大的请求。

Node.js代理应该至少与Apache或者自定义的python/C++代理一样安全,因为您只需要允许它代理非常特定的项目。