术语“安全配置错误”非常普遍,适用于不是编程错误而是配置错误的任何安全问题。安全配置错误已在2017 OWASP TOP-10列表中定义为单独的类别(A6-2017类别)。按照定义,它们可以出现在应用程序堆栈的任何级别,包括网络服务,平台,Web红塔服务器,应用程序红塔服务器,数据库,框架,自定义代码以及预安装的虚拟机,容器或存储。
让我们看一下维护 Web 应用程序安全性时应注意的最常见的安全性错误配置。
权限宽松、缺乏强化
安全配置错误的最常见原因之一是用户权限和帐户安全设置不够严格,尤其是在生产环境中。例如,一个常见的错误是使运行服务的用户帐户能够运行命令行管理程序。如果是这样,并且如果攻击者可以某种方式访问此用户帐户,则他们可以在操作系统中运行命令。另一个常见错误是将共享帐户用于多种服务,例如,从同一帐户运行Web红塔服务器和数据库服务器。
为了确保安全性,生产服务器上的所有服务都应使用单独的帐户运行,并且这些帐户应具有绝对最小的权限 - 仅是服务实际需要的那些权限。这种特权的安全分离使攻击者几乎无法执行特权升级。
默认设置和默认密码
安全配置错误的另一个非常常见的原因是信任默认设置。您不能假定专业软件默认是安全的。您安装的每个软件(包括 Web 服务器,应用程序服务器和数据库服务器)都需要手动进行安全配置。
假设用户可能希望从中受益,那么这种软件通常会激活所有功能。这是一种不安全的配置,因为任何其他功能都意味着攻击者还有其他潜在的进入点。因此,在安装新软件时,首先要做的就是更改默认设置并关闭所有不必要的服务,不必要的功能等。
许多公司面临的另一个问题是使用默认帐户和默认密码。例如,这适用于所有管理控制台,路由器,IoT 设备等。为了避免未经授权的访问,您应该更改每个默认密码,并且应该知道如何创建安全密码。访问控制配置错误是严重违反安全性的主要原因之一。
公开信息
如果攻击者发现您在后端使用的软件类型,例如数据库服务器的类型和版本号,他们将有更多的时间来尝试查找相关漏洞。这就是为什么永远不要向攻击者透露任何此类信息非常重要。
配置良好的系统应配置有错误处理,以抑制可能提示攻击者的任何错误消息。您还应该禁止显示所有信息标语以及任何其他可能帮助攻击者指纹识别配置的直接或间接敏感信息。
公开过多的另一个示例是允许目录列表。如果攻击者可以列出 Web 服务器上目录的内容,则他们可以潜在地访问许多不受保护的文件,并且这些文件可能包含敏感数据。目录列表被认为是严重的访问控制缺陷。
过时的软件
Web 应用程序的安全性与网络的安全性不同,但是两者紧密相关。例如,Web 服务器软件中的错误被认为是网络安全问题。此类错误经常出现,其中一些可能很严重。这就是为什么需要使用最新的安全补丁来监视和更新所有软件的原因。影响 Web 应用程序安全性并且仍然困扰着许多系统的网络安全性错误的一个很好的例子是 Heartbleed 错误。
因此,为了维护 Web 应用程序的安全性,定期检查缺少的补丁非常重要,尤其是在面向公众的软件(例如 Web 服务器)的情况下。
安全扫描到救援
如何避免上面列出的安全性配置错误及其他问题?
最有效的方法是定期运行扫描,这会暴露安全问题。此类扫描应包括生产系统和登台系统 - 生产配置通常基于登台配置。
测试安全性的最佳方法是使用专业的扫描程序,该扫描程序不仅可以发现网络安全配置错误(大多数扫描程序都会发现),而且可以查看Web应用程序的安全性。 Acunetix就是这样一种扫描仪,可以帮助您维护强大的应用程序架构并帮助防止将来的错误配置。除了查找典型的Web漏洞(例如SQLi和XSS)之外,Acunetix还查找上面列出的所有安全问题以及更多其他问题。
以上文章部分内容采集于网络,如有侵权请联系创一网客服处理,谢谢!