2014-09-30 47 views
0

我從未部署過快速應用程序,坦率地說,我不熟悉開發人員在部署Web應用程序之前必須採取的一些安全預防措施。準備部署express js應用程序,我應該擔心哪些安全問題?

1)我的網站很簡單,它不需要用戶登錄
2)我只保存用戶IP,一旦他們提交表單
3)我用mongolab

我不我不認爲我已經實施了任何安全系統,因爲我大部分都是在網上按照「基本」教程。我非常感謝一些專家的建議和「必須做/必須 - 不做 - 做」。

謝謝

回答

1

只是爲了讓球滾動:

  • 您需要在服務器端執行輸入/表單驗證來防止SQL注入(如惡意的SQL代碼執行的數據存儲)。在你的情況下,你不使用RDBMS,但仍然考慮當你將用戶輸入的值傳遞給MongoDB世界時你所假定的。
  • 此外,輸出用戶輸入數據時回HTML,以防止XSS進行輸出消毒(跨站點腳本 - 當有人成功地讓你輸出有效的JavaScript到一個HTML頁面可能會或可能不會被他看)

https://github.com/ctavan/express-validator似乎是一個很好的中間件,可以幫助您在服務器端進行表單驗證。

其他一般安全注意事項:

  • 如果您傳遞敏感信息通過導線,可考慮做它通過https。以純文本方式通過http發送密碼容易受到中間人攻擊。
  • 僅打開您需要的端口,並在可能的情況下過濾服務器的源流量。
  • DoS(拒絕服務)攻擊是當太多同時發生的請求壓倒你的服務器,並且經常導致服務器崩潰或對其他用戶的有效請求無響應。這個問題沒有徹底解決的辦法。如果來自日誌的攻擊來源似乎是少數IP,則可以阻止這些IP。否則,如果僵屍網絡編排攻擊對您不利,您正在討論啓發式算法,以潛在地防止此類攻擊。然而,除非你是一個大目標,否則這不是真正的問題。

還有很多需要考慮的事項,但不同的考慮因素可能取決於您的特定體系結構和需求。不想壓倒你,但要從服務器端驗證開始,尤其是在JavaScript等弱類型語言中。另外,遠離eval()。

保持訪問權限+錯誤日誌,隨着你學習,繼續學習。

如果你想進一步深入到Web應用程序安全的電流,先從OWASP Top 10

+0

我感謝你的幫助。我想我的主要重點是現在消毒用戶的輸入。 – Skyz 2014-10-01 00:41:43