行业新闻与博客

如何防止安全配置错误

这个 OWASP 前 10 项是最常见的漏洞之一,但也是最容易修复的漏洞之一

当一般人想到黑客时,通常会想到一个特定的形象。黑屋子里的一个影子,周围环绕着监视器,一页又一页的代码在眼前流动。连帽衫、太阳镜和激浪瓶也可能存在。他们正在超级复杂的系统上施展一种黑魔法,利用他们的专业知识来渗透最强大的安全措施。

现在可以肯定的是,可能有一些黑客是这样操作的(尤其是 Mountain Dew 部分,需要以某种方式获取咖啡因),使用高级技能和最先进的方法来实现他们的目标。不过坦率地说,这对他们来说通常要容易得多。正如我们在检查 OWASP 最常见漏洞的前 10 名列表时所看到的那样,攻击者可以使用各种各样的漏洞利用,其中一些比其他漏洞更容易利用。

今天,我们将研究一种最容易利用的漏洞类型,只需要具备相对基本的计算机系统知识即可。它更多地依赖于终端用户缺乏培训和错误,而不是攻击者的纯粹技能。但与此同时,这是一个可能导致数据被盗或破坏的漏洞,从而导致代价高昂的恢复工作。我们正在谈论安全配置错误。

那么,什么是安全配置错误?此漏洞最终如何影响像您这样的企业?您可以做些什么来防止安全配置错误攻击?

让我们讨论一下。

什么是安全配置错误?

安全配置错误是一个宽泛的术语,可以涵盖很多领域并应用于许多不同的领域。但常见的是,如果在为资产设置安全措施期间未遵循最佳实践,就会发生安全配置错误。安全错误配置被视为漏洞的原因是因为攻击者会尝试利用这些错误来获得对用户系统的未授权访问。

安全配置错误可能适用于设备或软件。操作系统、服务器和应用程序都可能受到影响。网络设备、电子邮件服务器和终端用户设备(如笔记本电脑或手机)也可以。基本上,任何具有可配置安全功能的东西都可能成为此漏洞的牺牲品。

在具体谈论软件时,安全配置错误可能发生在应用程序堆栈的任何地方。我们谈论的是数据库、框架、服务器、网络服务、虚拟机、容器等。它所需要的只是一个区域中的一个错误配置。如果攻击者发现了可以利用的东西,那么这不仅会导致他们获得对部分系统数据或功能的访问权限,而且还会像滚雪球一样演变成一个完整的系统妥协,从而给您的公司带来毁灭性的业务影响。

安全配置错误:一个容易犯的错误(甚至更容易被利用)

由于数据中心和云系统使用的应用程序、操作系统和框架的复杂性不断增加,现在比以往任何时候都更难保持领先地位。所有这些不同的组件都在快速独立地发展,这在部署适当的流程和行动以实现有效保护时带来了挑战。越来越多的企业正在转向云服务,随着远程工作的全速上升,COVID-19 进一步加速了这一过程。当陷入这样一个动态的、高压力的环境中时,很容易忽视安全基础知识。

正如我们所提到的,安全配置错误漏洞被视为“容易实现的目标”,因为它们相对容易检测和利用。对于以服务器、应用程序和云配置为目标的攻击者来说,这通常是阻力最小的路径,目的是造成灾难性的损害并造成代价高昂的数据泄露。这是一个被黑客以惊人的速度反复利用的巨大问题,最近的 Output24 研究发现错误配置导致了总共 82% 的安全漏洞。

安全专业人员现在比以往任何时候都更少的时间来理解只会增加复杂性的系统。区域将被遗漏,并且会发生人为错误。然而,通过了解最常见的错误,您可以以相当简单直接的方式关闭大部分安全配置错误攻击向量的大门。

导致安全配置错误的最常见错误

不需要的功能不会被删除或禁用。这可能是这样的:

  • 不必要的端口保持打开状态,
  • 允许运行不需要的服务,
  • 剩余的页面仍然可以访问,并且
  • 具有某些特权的未使用帐户不会被删除。

如果不删除多余的组件、功能和代码示例,您就会让应用程序容易受到攻击。例如,应用服务器包含不会从生产服务器中删除的演示程序。如果这些演示程序存在安全漏洞,那么黑客就有可能利用它们来破坏整个服务器。

默认帐户和密码仍在使用。这是安全配置错误列表中最简单但最常见的项目之一。各种设备和程序都带有一组默认凭据,允许所有者最初开箱即用。它们存在于网络设备、Web 应用程序以及几乎所有需要身份验证的事物中。

这本质上不是问题,除了它们在初始安装后通常不会更改的事实。如果没有要求更改默认凭据的策略,您就会让自己暴露在攻击之下。黑客很容易使用常见的默认用户名和密码列表来暴力破解您的系统并获得未经授权的访问。

错误消息透露了太多信息。默认服务器配置可能会导致返回给用户的错误消息信息过多,其中包含详细的堆栈跟踪等信息。这可能会导致敏感信息被泄露,并可能为攻击者提供有用的信息,例如正在使用哪些组件版本,以便他们可以搜索相应的漏洞进行利用。

旧软件版本或错过更新。过时的软件会使您的系统暴露于可能已经有补丁的已知漏洞(当然,除非您定期执行更新,否则您无法保持完全保护)。

升级后的系统配置不正确。升级后的软件可以带来新的安全功能,但如果未正确启用或配置,上述功能将不会非常有用。您需要查看每个更新以查看到底更改 / 引入 / 删除了哪些内容,并相应地调整您的配置。

云系统配置不正确。云解决方案提供商为他们的客户承担了大量的责任和工作量。您可以在几分钟内启动并运行您自己的基于云的数据中心,这在以前可能需要更长的时间。但是,您仍需负责云资源的配置。

例如,AWS 使用“责任共担模型”。AWS 负责保护实际运行 AWS 云服务的所有基础设施。另一方面,客户必须妥善管理他们的云操作系统、相关软件和 AWS 防火墙。

调试处于启用状态。大多数公司的设置方式都是拥有两种不同的环境,一种用于开发,一种用于生产。在开发环境中启用调试,因为返回的大量信息有助于改进软件和清除错误。它不应该留在生产环境中,因为黑客理论上可以触发冗长的错误消息,这些消息会暴露敏感的代码相关信息,这些信息最终可能会被用来对付你。

未受保护的文件和目录是公开的。如果开发人员忽视对某些目录、仪表板或管理控制台的权限设置,攻击者可以获得对敏感文件的未授权访问权限。强制浏览攻击可用于尝试定位可访问的易受攻击位置,以期找到受限文件。

如果在服务器上启用了目录列表,攻击者就更容易了。然后他们可以简单地询问所有存在的文件和目录的列表。例如,黑客可以搜索已编译的 Java 类并将它们从服务器上获取。然后他们可以反编译代码,希望在应用程序中找到可利用的缺陷。

安全配置错误的现实后果

现在我们知道了安全配置错误攻击可能发生的一些具体方式,让我们快速看一下最近的一些现实生活中的例子和后果:

MongoDB 数据库

今年早些时候,一名黑客攻击了互联网上近 47% 的 MongoDB 数据库。他们的共同主题是什么?没有一个是用密码保护的。结果,攻击者使用一个自动化脚本来定位易受攻击的人,删除他们的内容,并在 48 小时内留下勒索字条,要求在 48 小时内向比特币地址付款。

更令人沮丧的是,自 2017 年以来,类似的攻击一直在发生,但大量用户并没有吸取教训。2017 年暴露的 MongoDB 服务器数量为 60,000 台,在过去三年中这一数字仅略微下降至 48,000 台。

旅游公司的客户数据

2019 年 9 月,英国旅游公司 Teletext Holidays 成为数据泄露的受害者,导致数千名客户的个人信息暴露。大约 500,000 个包含电子邮件地址、家庭住址、电话号码和生日等详细信息的文件公开存放在未受保护的 AWS 服务器上,任何想查看的人都可以免费获得。

生物特征数据缓存

同样,Biostar 2 公司没有保护和加密包含超过一百万人生物识别数据的海量数据库。2019 年 8 月,两名以色列安全研究人员在扫描公司系统以发现可能导致数据泄露。Biostar 2 数据库包含 2780 万条记录,以及其他数据,例如管理面板、仪表板、指纹和面部识别数据、访问日志和员工详细信息。数据库也不是只读的。如果你有权限,你真的可以改变一个人的指纹。

AWS 配置错误

美国身份盗窃的最大原因之一是 AWS 存储桶的暴露。此类重大事件发生在 2019 年底,当时渗透测试发现 750,000 名公民的个人数据坐在一个不安全的 AWS 存储桶中。这是一堆出生证明申请,甚至没有密码保护,暴露了“申请人的姓名、出生日期、当前家庭住址、电子邮件地址、电话号码和历史个人信息,包括过去的地址、家庭成员的姓名以及申请的原因——例如申请护照或研究家族史。”

人为错误的代价

正如我们所见,人为错误是安全配置错误的主要原因,例如在 Spring 承包商错误配置云存储桶并暴露数十万手机账单的情况下。错误时有发生,而且通常只是人们忘记或根本不知道需要更改某些默认设置或必须手动打开基本服务的情况。现在让我们来看看一些基本的最佳实践,这些最佳实践应该始终用作防止安全配置错误的直接点。

如何防止安全配置错误

限制对管理员界面的访问。您的部署策略的一部分应该是对除某些允许方之外的所有方禁用管理门户。政策的实施也应通过定期审计进行审查。

禁用调试。这在部署到生产环境时尤为重要。您需要特别注意调试功能的配置,所有这些都应该被禁用。

禁止使用默认帐户和密码。安装任何设备或软件后的第一步应该是创建一组新的凭据。绝不能使用默认值。您需要将其作为公司政策的强制性部分。您还需要采用其他与密码相关的最佳做法,例如密码的最大长度和限制允许的登录失败次数。

禁用目录列表。确保未在任何已部署的应用程序上启用此功能,并检查是否已为文件和文件夹设置了适当的权限。您还需要拒绝对特定文件类型的请求。限制对用户不需要访问的文件的访问,例如 .bak 文件。

定期修补和更新软件。这将有助于保护您的应用程序和系统免受您可能尚未意识到的恶意软件和新漏洞的侵害。

删除未使用的功能。他们最终所做的只是增加您的应用程序对错误配置漏洞的敏感性。如果没有人应该使用它们,那么保留它们就没有意义了。

利用自动化为您带来优势。定期运行扫描并执行审计,以发现诸如缺少补丁、错误配置、使用默认帐户、不必要的服务等问题。

通过知识和流程避免安全配置错误

安全配置错误问题可能是人为错误和普遍缺乏知识造成的。通过了解最常见的错误和最简单的预防措施,您将为保护您的系统免受绝大多数以错误配置为中心的攻击打下坚实的基础。重要的是要记住,这些最佳实践必须成为组织对安全的关注的一部分,并制定适当的流程来让您的员工接受培训并让您的系统保持最新状态。

需要帮助吗?联系我们的支持团队 在线客服