安全性错误配置在安全性设置被定义,实现和维护为默认设置时出现。良好的安全性要求为应用程序,Web服务器,数据库服务器和平台定义和部署安全配置。使软件保持最新同样重要。
- 威胁代理 - 匿名外部攻击者以及拥有自己帐户的用户可能会试图破坏系统。
- 攻击者的方法 - 访问默认帐户,未使用的页面,未修补的漏洞,未受保护的文件和目录以获得未经授权的访问。
- 安全弱点 - 可以发生在任何级别 - 平台,Web服务器,应用程序服务器,数据库,框架和自定义代码。
- 如何发现缺陷 - 自动扫描程序可用于检测修补程序,配置错误,使用默认帐户,不必要的服务等。
- 技术影响 - 随着时间的推移,所有数据都可能被盗或被缓慢修改。恢复成本昂贵。
- 业务影响 - 在不了解应用程序所有者的情况下,系统可能会完全受损。
示例
安全性错误配置的一些典型示例如下 -
- 如果未在服务器上禁用目录列表,并且攻击者发现目录列表,则攻击者可以简单地列出目录以查找任何文件并执行它。也可以获得包含所有自定义代码的实际代码库,然后在应用程序中找到严重的缺陷。
- 应用程序服务器配置允许将堆栈跟踪返回给用户,从而可能暴露潜在的缺陷。攻击者可以获取错误消息提供的额外信息,这些信息足以让他们渗透。
- 应用程序服务器通常附带不太安全的示例应用程序。如果未从生产服务器中删除,则会导致服务器泄露。
动手实践
第1步 - 启动Webgoat并导航到不安全的配置部分,尝试动手实践。下面提供了相同的快照 -
第2步 - 我们可以尝试尽可能多的选项。需要找到配置文件的URL,我们知道开发人员遵循配置文件的命名约定。它可以是下面列出的任何内容。它通常由BRUTE力技术完成。
预防机制
- 所有环境(如开发,QA和生产环境)都应使用在每个环境中使用的不同密码进行相同配置,这些密码不容易被黑客入侵。
- 确保采用强大的应用程序架构,在组件之间提供有效,安全的分离。
- 它还可以通过运行自动扫描和定期执行审计来最大限度地降低此类攻击的可能性。