我正在評估我的web應用程序的安全性。正如我在我的Web應用程序中使用Spring,我想利用Spring Security框架。我搜索了更多關於網絡安全的信息,並且遇到了OWASP社區,它是前10名攻擊列表。所以我的問題是;配置Spring Security來保護我的應用程序就足夠了嗎? OWASP前10名(2013年)中的所有安全威脅是由Spring Security Framework處理的?OWASP十大攻擊和Spring Security
回答
構建安全應用程序是一項具有挑戰性的任務,並且沒有「銀彈」產品可以使應用程序自動爲您保護。因此,Spring Security的簡單使用當然不會自動錶示您的應用程序是安全的! Spring Security是一個很好的工具,它可以幫助構建安全應用程序的許多方面,但是像使用任何工具一樣,您需要知道如何正確使用它。
的Spring Security可以幫助你至少解決以下OWASP TOP10問題:
- A2殘破的認證和會話管理 - 通過高效,安全的認證和會話管理
- A4提供機制 - 不安全的直接對象引用 - 通過提供應用程序內的授權機制
- A6敏感數據曝光 - Spring Security的密碼模塊提供了必要的加密功能
- A7缺失功能級訪問控制 - 通過提供用於在UI的授權和服務器端
- A8-跨站請求僞造(CSRF) - 通過提供支持用於生成和驗證令牌減輕CSRF攻擊
您可以嘗試HDIV,它支持多種框架。
我建議使用分層安全體系結構。我的意思是,可以手動創建一個安全的應用程序,但實施起來非常困難。一些安全特性如認證和基本訪問控制(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隊)
- 1. Spring Security和CSRF攻擊
- 2. 抑制OWASP Zed攻擊代理問題
- 3. 防止DDoS攻擊:Mod_Security和OWASP規則是否足夠?
- 4. Spring Session和Spring Security
- 5. Spring Security和OSGi
- 6. spring-security和jsf
- 7. Spring Security和EnableGlobalMethodSecurity
- 8. JavaMelody和Spring Security
- 9. Spring Security和CAS
- 10. CSRF和Spring Security
- 11. Spring Security和AOP
- 12. Oauth和Spring Security
- 13. 如何告訴org.apache.http.impl.client.DefaultHttpClient使用OWASP Zed攻擊代理(ZAP)
- 14. OWASP:使用泄露憑證的攻擊名稱
- 15. OWASP Zaproxy無法攻擊URL,如果它以https開頭
- 16. Spring引導ServeletInitializer和Spring Security
- 17. Spring Security和DerbyDB(javaDB)
- 18. Spring Security 3.2和servletApi()
- 19. Spring Security SAML和ECP
- 20. Spring-Security Blazeds和Flex
- 21. Spring Security authenticationSuccessHandler和j_security_check
- 22. Spring Security REST和Angular
- 23. Spring Security JWT和Oauth2
- 24. Spring Security和LDAP - java.io.NotSerializableException:com.sun.jndi.ldap.LdapCtx
- 25. Spring Security和UserDetailsService
- 26. HTTPS和MITM攻擊
- 27. AJAX XSS攻擊和.Net MVC
- 28. Spring Security for Spring MVC和Spring REST
- 29. 是否Spring - SpEL易受攻擊?
- 30. Spring Security
春季安全只處理保護URL,並給你一個登錄的框架,如果底層認證機制仍然薄弱,你仍然有潛在的安全漏洞。 Spring Security確實提供了一種在URL上強制使用SSL的機制,但是您仍然需要SSL證書。總之,Spring Security不足以滿足OWASP前10名。 –