是否有任何現有技術或npm包可以阻止來自NodeJS服務器的所有傳出請求,只允許響應傳入請求?這可以防止在安全審計中錯過深度依賴關係中的電話類型攻擊。防止來自NodeJS服務器的所有傳出請求?
回答
防火牆。
這確實是唯一的方法。請記住,沒有什麼能阻止某些代碼接受來自連接到它的客戶端的命令。
看一看
- http://www.cyberciti.biz/tips/block-outgoing-network-access-for-a-single-user-from-my-server-using-iptables.html
- https://superuser.com/questions/95963/lightweight-solution-to-block-outbound-connections-from-a-specific-app
第一個鏈接顯示綁定到特定用戶的防火牆規則。簡單而簡單。爲什麼要使用另一個非常不依賴的npm模塊,你不想信任;-)
對不起,我在哪裏?用戶如何發起服務器的網絡請求?順便說一句,在你的第一個鏈接中,他很困惑地寫着「黑客使用wget將代碼下載到你的服務器中」...... ehhm? – loveNoHate
@dollarVar服務器最經常在特定用戶下運行的進程,例如一些網絡服務器作爲'www-data'。它不是人類用戶,而是技術用戶。現在明白我的意思了嗎? – hgoebl
如果你正在尋找純粹的node.js解決方案,你可以做類似的事情。
使用一些模塊,如mockery
,你可以限制你的javascript模塊可以對node.js核心進行什麼調用。例如,如果您覆蓋require('net').connect
,則會使惡意代碼難以執行某些操作。
我不知道任何現有的解決方案,但它絕對有可能,我真的很想看到一個。
這就是說,通用的辦法解決這個問題是完全不在Node.js的範圍:
- 防火牆
- AppArmor的
- 1. SDWebImage:防止許多服務器請求
- 2. nodejs從服務器發出請求
- 3. 在NodeJs服務器中提出請求?
- 4. 跟蹤來自Web服務器的傳出HTTP請求
- 5. 使用nodejs進行快速傳遞是否可以防止所有不是來自託管域的curl請求?
- 6. Autocompleter與來自服務器的請求
- 7. 來自服務器的跨域請求
- 8. 是否有可能請求angularj服務器在nodejs服務器
- 9. 阻止來自同一服務器會話的相同請求
- 10. 停止服務器請求
- 11. 確保請求來自服務器
- 12. 防止來自多個服務器負載的服務
- 13. 如何中止處理的NodeJS HTTP服務器的請求
- 14. 的Android防止盜版與服務器請求
- 15. 快速服務器404ing從索引做出的所有請求
- 16. 將所有傳出的http請求路由到一種代理服務器
- 17. nginx Ubuntu nodeJs - 服務器只處理來自本地網絡的請求
- 18. 如何防止瀏覽器請求資產來自ajax響應
- 19. 深入的服務器阻止請求
- 20. 捕獲傳出的HTTP請求服務
- 21. 如何防止DirectoryOperationException - 服務器無法處理目錄請求
- 22. 如何防止nodejs發出重複請求?
- 23. iptables阻止來自php的傳出請求
- 24. 刪除所有來自ASINetWorkQueue的請求
- 25. 來自NodeJs的請求到PHP
- 26. 來自瀏覽器或服務器的請求URL
- 27. 在服務器中阻止PHP請求
- 28. json請求服務器禁止IP
- 29. 阻止重複請求到服務器
- 30. 停止請求服務器端
嗯,這聽起來像你的應用程序會防止某些東西或某人在您的服務器上安裝某些東西。 – loveNoHate
@dollarVar node.js和npm具有可以變得相當深的依賴關係解析(傳遞依賴性)。沒有人會安裝應用程序,但有時忽略所有有效的依賴關係並不容易。如果其中一個依賴項包含惡意軟件,則會造成災難。 – hgoebl
好的,如果你認爲**你安裝的是打電話給家裏的人,監視外出的流量並找到罪魁禍首,把他扔出去,永遠不要再相信那個開發者的包裹。如果找不到罪魁禍首,請吞下「http.request()」的代碼,以便它不再連接,但依賴於此(試圖在家中打電話)不會因錯誤而終止服務器。我感到震驚,讓我放下一些東西,讓神經緊張下來http://nodejsreactions.tumblr.com/post/64305120115/frameworks。 – loveNoHate