九项任务做好K8s的事件响应程序,支持扩展、回滚、零停机和自我修复。它可以在内部数据中心的裸机上运行,??也可以在Azure和AWS等公共或私有云平台上运行。K8s安全是一项复杂的任务,其中一个非常具体和关键的方面是事件响应。比如K8s集群被攻击了怎么办?组织中的团队如何协调应对攻击?应急恢复的有效流程是什么,需要哪些必要的调查工具和数据?事件响应是检测、管理网络安全事件并从中恢复的结构化流程,其最终目标是降低成本、最大限度地减少停机时间并最大限度地减少附带损害,包括业务损失和品牌影响。为了有效的事件响应,必须让来自组织所有部门的人员参与进来。除了IT和安全团队,还包括客户支持、人力资源、法律、合规和高级管理人员。以下是事件响应工作的九个主要组成部分:1.DevOps对K8s安全事件的响应几乎总是需要部署、回滚、更改集群配置或部署策略中指定的这些的组合。所有这些操作都是DevOps人员的职权范围。DevOps团队必须有一个清晰的流程来识别哪个构建或配置更改导致了安全事件,以及如何恢复到已知的良好配置或通过修复前滚。2.软件开发当安全事件发生时,通常意味着K8s集群中运行的容器或应用存在漏洞,需要软件开发人员修复漏洞。事件响应者和开发者之间必须有明确的沟通渠道。开发人员需要确切地知道安全问题出在哪个组件中,以及在哪几行代码中。开发团队还必须在将错误修复推入生产之前优先考虑它们。这是高变更管理项目的标准做法,其最终目标是使事件的移交变得例行和直接。在发生严重事件或确认的入侵时,建立下班后支持系统也很重要。3.核心基础设施根据组织的不同,核心基础设施可能由DevOps团队、软件可靠性和站点可靠性工程(SRE)人员或外部云提供商管理。事件响应者应该知道谁负责强化每个K8s部署的服务器和配置。如果在基础架构级别发现漏洞,应该有一个明确的流程来获得基础架构或云提供商安全团队的支持。4.建立事件响应策略K8s环境的事件响应策略可以分两步制定:制定事件响应计划和准备容器取证。5.准备事件响应计划为K8s环境准备事件响应计划至关重要。该计划至少应包括以下四个阶段,可以根据需要进行扩展。(1)识别该步骤旨在跟踪安全事件,识别并报告可疑的安全事件。K8s监控工具用于报告K8s节点和Pod中的活动。要识别容器权限提升或恶意网络通信等安全问题,请使用专用的K8s安全工具。(2)协作一旦安全分析师发现事件,他们应该将其上报给高级分析师并让组织中的其他人参与进来。上面讨论的DevOps、开发和基础架构团队建立的流程将非常有用。应该有一个明确的流程,事先与高管商定,以共享漏洞的详细信息并优先修复它们。(3)解决即使DevOps和开发人员各尽其责,事件响应团队仍然需要承担解决事件的最终责任。他们必须验证修复,确保漏洞不再被利用,并清理系统中的入侵者和恶意软件。相应人员随后会恢复生产系统,同时与安全团队合作以确保修复漏洞。(4)持续改进每一次安全事件都是一次学习和改进的机会。除了在危机期间执行紧急修复外,事件响应者还应与技术团队会面,更广泛地分享有关安全问题的经验教训。每个事件都会改进K8s集群配置并识别薄弱或缺失的安全控制。6.容器取证一旦K8s环境所需的安全保护被激活,事件响应计划应确保安全团队能够访问所有必要的信息以进行取证分析。7、日志在K8s的日志构成中,有一些对于综合安全排查至关重要的日志,如API服务器日志、单节点kubelet日志、云基础设施日志、应用日志、操作系统日志等。特别注意网络连接、用户登录、安全shell会话和进程执行。8.节点快照对于任何部署,都必须实施一个简单、自动化的过程来为运行可疑恶意容器的节点拍摄快照。这样做可以隔离节点,或删除受感染的容器以恢复环境的其余部分。使用节点快照来:调查和扫描磁盘映像中的恶意活动;使用DockerInspect和其他容器引擎工具调查容器级别的恶意活动;详细查看操作系统活动以确定攻击者是否已设法突破容器以获得根访问权限。9.容器可见性工具建议DevOps安全分析师首先利用K8s和Docker中可用的工具(包括Docker统计API)来帮助他们收集系统指标。系统指标对于只需要了解系统在大规模运行时如何受容器负载影响的分析师很有用。容器可见性工具可帮助DevOps了解容器和Pod内部发生的情况。例如,它们可以帮助安全团队了解重要文件是否丢失或未知文件是否被添加到容器中,监控实时网络流量,并识别容器或应用程序级别的异常行为。所有信息都需要在没有容器登录凭据的情况下可用。
