第 5 章 漏洞管理 漏洞管理
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
在希腊神话中,阿喀琉斯被一支箭射中了他唯一的弱点--脚后跟。阿喀琉斯显然需要一个更好的漏洞管理计划!1 与只有一个弱点的阿喀琉斯不同,您的云环境将有许多不同的地方可能出现漏洞。在锁定访问控制后,建立一个持续的流程来管理潜在的漏洞,通常是您为提高安全性而在关注点、时间和金钱上进行的最佳投资。
漏洞管理与补丁管理之间有相当多的重叠。对许多企业来说,安装补丁的最重要原因是修复漏洞,而不是修复功能性错误或增加功能。 漏洞管理和配置管理之间也有相当多的重叠,因为不正确的配置往往会导致漏洞,即使你已经尽职尽责地安装了所有安全补丁。有时会有不同的工具和流程来管理漏洞、配置和补丁,但为了实用起见,我们将在本章中一并介绍。
不幸的是,漏洞管理很少像打开自动修补程序和走开那样简单。 在云环境中,漏洞可能存在于许多不同的层面,包括物理设施、计算硬件、操作系统、您编写的代码以及您包含的库。第 1 章中介绍的云分担责任模式可以帮助您了解云提供商在哪些方面对漏洞负责,本章内容将帮助您管理自己的责任。在大多数情况下,您需要几种不同的工具和流程来处理不同类型的漏洞。
与传统 IT 的区别
与企业内部环境相比,云环境的变化率往往要高得多,而这些不断的变化会让传统的漏洞管理流程束手无策。如第 3 章所述,您必须使用云 API 中的清单,在每个系统创建时将其输入到您的漏洞管理工具中,以避免在新系统上线时漏掉它们。
除了变化的速度,容器和无服务器主机等当代流行的托管模式也改变了你进行漏洞管理的方式,因为现有的工具要么不适用,要么效率不高。如果你有很多容器,你就不能像在虚拟机中那样,在每个容器中都放置一个只占用百分之几 CPU 的重量级漏洞管理工具。 你很可能最终会在系统上运行数百份代理,而没有 CPU 时间留给真正的工作!
另外,尽管持续集成(CI)、持续交付(CD)和微服务架构与云计算是分开的,但它们往往伴随着云计算的采用而发生。采用这些技术也会从根本上改变漏洞管理。
例如,传统的漏洞管理流程可能是这样的:
-
发现安全更新或配置更改。
-
根据安全事件的风险,确定需要实施哪些更新的优先级。
-
在测试环境中测试更新是否有效。
-
为生产环境安排更新时间。
-
将更新部署到生产中。
-
验证生产仍在运行。
这种流程设计合理,可以在生产环境中平衡安全事故风险和可用性事故风险。正如我经常喜欢告诉人们的那样,安全很简单,只需关闭所有设备并将其埋入混凝土中即可。而在保证环境运行和可用性的同时确保环境安全则要困难得多。
然而,在我们这个云计算、基础设施即代码、CI/CD 和微服务架构的勇敢新世界里,我们可以选择降低可用性事件的风险并改变平衡: