2011-08-14 45 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++代理一樣安全,因爲您只需要允許它代理非常特定的項目。