我正在评估我的Web应用程序的安全性。当我在我的Web应用程序中使用Spring时,我想利用Spring Security框架。我搜索了有关网络安全的更多信息,并遇到了OWASP社区,它是十大攻击列表。所以我的问题是;将Spring Security配置为保护我的应用程序是否足够? OWASP排名前十(2013)的所有安全威胁都由Spring Security Framework处理?
答案 0 :(得分:8)
构建安全的应用程序是一项具有挑战性的任务,并且没有"银弹"使您的应用程序自动安全的产品。因此,Spring Security的简单使用当然不会自动意味着您的应用程序是安全的! Spring Security是一个很好的工具,可以帮助构建安全应用程序的许多方面,但是与任何工具一样,您需要知道如何正确使用它。
Spring Security可以帮助您解决至少以下OWASP TOP10问题:
答案 1 :(得分:7)
我建议使用分层安全架构。我的意思是,可以手动创建一个安全的应用程序,但实现起来非常困难。一些安全功能如此 因为身份验证和基本访问控制(URL级别或GUI组件级别)相对容易实现,但实例级安全性(特别是使用旧式数据库),Sql Injection和XSS等要求更难。
我建议使用Spring Security并尽可能地实现自定义验证。除此之外,我建议使用HDIV以添加可能的额外安全层 有助于避免利用自定义验证未涵盖的风险。具体而言,HDIV提供的功能包括:
A1-注入:关于HTTP参数的值和网址HDIV将此漏洞的风险降低到仅来自表单内文本字段的数据,应用完整性验证(确保收到对于来自客户端的其余数据,值与服务器端生成的值相同。对于表单中包含的文本字段,HDIV提供通用验证(白名单和黑名单)以避免注入攻击注入攻击。
A2-Broken身份验证和会话管理:HDIV不提供功能 这种网络风险。
A3-XSS :与A1相同,但在这种情况下可以避免XSS风险。
A4-Insecure Direct Object References :HDIV控制所有数据 在服务器端生成,确保数据的完整性 避免此漏洞。
A5-Security配置错误:HDIV不包含特定的功能,但不允许访问之前未由服务器发送的资源,从而避免利用意外行为或访问私人资源。
A6敏感数据曝光:HDIV提供机密性功能 隐藏HTTP参数的值。
A7缺少功能级别访问控制:由于已实施完整性验证 通过HDIV,避免利用此漏洞并限制用户执行法律操作并维护由原始合同(GUI或API)提供的 应用
A8-跨站请求伪造(CSRF):HDIV添加了随机令牌 避免此漏洞
A9 - 使用已知漏洞的组件:HDIV不包含 具体的功能,但由于互动 在许多情况下应用于用户的限制是不可能的 利用此漏洞。
A10-未经验证的重定向和转发:此漏洞是 主要涉及操纵不可编辑的数据或数据 先前在服务器端生成。 HDIV控制所有数据 由服务器发送并且不允许重定向到恶意 网站。
除了保护OWASP十大网络风险的这些功能外,HDIV还会生成与恶意活动或网站攻击相关的日志,包括有关攻击的所有信息以及经过身份验证的网站中的用户名。
此致
Roberto Velasco(HDIV团队)
答案 2 :(得分:3)
您可以尝试支持多个框架的HDIV。