2014-06-17 37 views
9

我正在評估我的web應用程序的安全性。正如我在我的Web應用程序中使用Spring,我想利用Spring Security框架。我搜索了更多關於網絡安全的信息,並且遇到了OWASP社區,它是前10名攻擊列表。所以我的問題是;配置Spring Security來保護我的應用程序就足夠了嗎? OWASP前10名(2013年)中的所有安全威脅是由Spring Security Framework處理的?OWASP十大攻擊和Spring Security

+1

春季安全只處理保護URL,並給你一個登錄的框架,如果底層認證機制仍然薄弱,你仍然有潛在的安全漏洞。 Spring Security確實提供了一種在URL上強制使用SSL的機制,但是您仍然需要SSL證書。總之,Spring Security不足以滿足OWASP前10名。 –

回答

6

構建安全應用程序是一項具有挑戰性的任務,並且沒有「銀彈」產品可以使應用程序自動爲您保護。因此,Spring Security的簡單使用當然不會自動錶示您的應用程序是安全的! Spring Security是一個很好的工具,它可以幫助構建安全應用程序的許多方面,但是像使用任何工具一樣,您需要知道如何正確使用它。

的Spring Security可以幫助你至少解決以下OWASP TOP10問題:

  • A2殘破的認證和會話管理 - 通過高效,安全的認證和會話管理
  • A4提供機制 - 不安全的直接對象引用 - 通過提供應用程序內的授權機制
  • A6敏感數據曝光 - Spring Security的密碼模塊提供了必要的加密功能
  • A7缺失功能級訪問控制 - 通過提供用於在UI的授權和服務器端
  • A8-跨站請求僞造(CSRF) - 通過提供支持用於生成和驗證令牌減輕CSRF攻擊
2

您可以嘗試HDIV,它支持多種框架。

6

我建議使用分層安全體系結構。我的意思是,可以手動創建一個安全的應用程序,但實施起來非常困難。一些安全特性如認證和基本訪問控制(url級別或GUI組件級別)相對容易實現,但實例級別安全性(特別是使用舊數據庫),Sql注入和XSS等要求更加困難。

我建議使用Spring Security並儘可能實現自定義驗證。除此之外,我建議使用HDIV以添加一個額外的安全層,可以幫助避免利用自定義驗證未涵蓋的風險。具體由HDIV所提供的功能有:

  • A1-注入:關於HTTP參數值和URL HDIV此漏洞的風險降低到只有來自表單中的文本字段中的數據,應用完整性驗證(確保接收到的值與服務器端生成的值相同)來自客戶端的其餘數據。對於表單中包含的文本字段,HDIV提供通用驗證(白名單和黑名單)以避免注入攻擊注入攻擊。

  • A2-Broken Authentication and Session Management:HDIV不爲 提供此Web風險的功能。

  • A3-XSS:與A1相同,但在這種情況下爲避免XSS風險。

  • A4-不安全的直接對象引用:HDIV控制在服務器端生成 的所有數據,確保數據的完整性和 避免此漏洞。

  • A5-安全配置錯誤:HDIV不包括特定的功能,但不允許訪問不是由服務器之前發送的資源,避免意外行爲或訪問私有資源的開發。

  • A6敏感數據曝光:HDIV提供的機密性特性爲 隱藏HTTP參數的值。

  • A7缺失功能級訪問控制:感謝完整性驗證通過HDIV實現 ,避免此漏洞的利用和限制用戶執行法律行動,維護提供原合同(GUI或API)由
    申請。

  • A8-跨站請求僞造(CSRF):HDIV增加了偶然令牌 避免這種漏洞

  • A9-使用組件與已知的漏洞:HDIV不包括 特定功能雖然如此,但由於 交互限制在很多情況下適用於用戶,因此不可能通過 利用此漏洞。

  • A10-未經驗證的重定向和轉發:此漏洞是 主要涉及到在服務器側先前生成的不可編輯數據或數據 的操作。 HDIV控制服務器發送的所有數據 ,並且不允許重定向到惡意 網站。

除了這些功能從OWASP十大網絡風險保障,HDIV產生還記錄相關的惡意活動或對您的網站攻擊,包括所有關於攻擊的信息,並驗證網站內的用戶名。

問候,

羅伯託·貝拉斯科(HDIV隊)