运行阶段概述
运行阶段是容器安全供应链(CSSC)框架的第五个阶段。 此阶段强调扫描和监视运行时环境,并清除过时和易受攻击的映像。 本概述提供 CSSC 框架运行阶段的背景、目标和目标。
Microsoft 的容器安全供应链(CSSC)框架确定了运行具有受信任映像的容器的需求,并提供一组最佳做法和工具来帮助安全运行映像并减少运行时的攻击面。 在本文中,你将了解可在 CSSC 框架的运行阶段中使用的目标、最佳做法和工具。
背景
目前,企业使用各种方法来运行具有受信任映像的合规容器化工作负载。 监视已部署的工作负荷为企业提供验证真正的操作状态是否为预期状态。 工作负荷映像在部署时或部署后会变得易受攻击。 建议企业持续扫描运行时环境和映像,以检测哪些工作负载现在易受攻击,哪些映像不受支持,无法接收安全更新或 bug 修复。
CSSC 框架的运行阶段建议实施一组步骤和安全控制,以确保正在运行的容器和运行时主机是安全的,例如及时回收节点、使用最新和修补的容器映像升级容器、删除过时的、未运行的容器映像,以及防止容器的不良行为。
推荐做法
Microsoft 建议针对容器化工作负载和运行时持续运行漏洞和恶意软件扫描程序。 定期更新容器和节点以及保持节点干净是保护容器化应用程序免受破坏的有效做法。
- 定期扫描漏洞和恶意软件,并检查映像生命周期元数据来标识需要修补和更新的映像。 定期清理节点上缓存中的过时映像,以减少恶意执行组件可能使用易受攻击的过时映像的可能性
- 在托管环境和容器上配置强身份验证和授权机制,并将运行容器配置为非根机制,因为攻击者无法访问系统,并轻松造成入侵时损坏
- 定期更新容器和工作节点。 这将确保容器和节点使用最新的安全修补程序和修补程序运行
- 通过限制容器和节点端口、限制容器的网络访问、启用相互 TLS 来减少攻击面。
- 强制对容器实施资源约束,例如控制容器可以使用多少内存或 CPU,以降低系统不稳定的风险
- 根据需求遵循行业标准指南,如 CIS 基准、CI标准版指南、CNCF 软件供应链最佳做法、NIST 指南或区域政府指南
用于持续扫描和监视运行时环境的工作流
运行阶段具有一个工作流,用于持续扫描和监视运行时环境。 运行阶段工作流适用于清除易受攻击和过时的容器映像。 确保运行时环境安全非常重要,工作流遵循以下步骤:
- 持续扫描容器化工作负载和运行时环境中的漏洞和恶意软件,以检查是否存在任何潜在的安全威胁。
- 定期更新容器和工作器节点,以确保它们使用最新的安全修补程序和修补程序运行。
- 定期更新容器和节点,以保护容器化应用程序免受入侵,并避免修补程序和修复漏洞的风险。
- 检查映像生命周期元数据,以确定需要升级才能成为最新且安全的映像。
- 定期清理节点上缓存中的过时映像,以避免恶意执行组件使用易受攻击的过时映像。
- 在托管环境和容器上配置强身份验证和授权机制,以及运行容器,以防止攻击者轻松访问系统,并在泄露时造成损害。
- 通过限制容器和节点端口、限制容器的网络访问、启用相互 TLS 以及强制实施对容器的资源约束(例如控制容器可以使用多少内存或 CPU)来降低系统不稳定的风险,从而减少攻击面。
运行阶段的安全目标
CSSC 框架的运行阶段旨在满足以下安全目标。
监视运行时以减少运行易受攻击的映像
扫描容器中是否存在漏洞和组织策略的符合性。 验证容器是否正在使用最新版本的映像。
使运行时容器保持最新状态可确保容器始终没有漏洞,并且符合组织策略。 应在整个阶段持续监视图像。 “获取”阶段或“生成”阶段中的新映像可以触发运行阶段中运行时容器的更新。 可以出于各种原因更新映像,例如修复漏洞、修复许可证的软件变得不合规,以及映像随时间推移而成为支持终止。 所有这些更新都将触发要更新的运行时容器。
防止不合规的映像并清理过时的映像,以最大程度地降低攻击风险
CI/CD 管道通常会在部署阶段生成映像并将其推送到部署平台,但运行时节点上未使用的映像可能不会被重新清除。 这可能会导致磁盘上的膨胀,以及节点上挥之不去的不合规映像的主机。 过期映像中也可能存在漏洞。 定期清理过时的映像可以避免不必要的扫描并减少运行时环境的攻击面。
使托管环境保持最新且配置安全
使托管环境与受信任的上游或云提供商的安全版本和修补程序保持最新。 确保严格的访问控制和有限的网络权限,以减少运行时环境的攻击面。 对托管环境采用意外行为、配置错误和攻击的实时检测。
建议的工具
Microsoft 提供了一组工具和服务,可帮助企业在运行阶段工作流中实施建议的步骤,并解决上面列出的安全目标。
用于漏洞扫描和修补映像的工具和服务
Microsoft Defender for Cloud 是云原生解决方案,用于改进、监视和维护容器化工作负载的安全性。 Microsoft Defender for Cloud 为存储在Azure 容器注册表和正在运行的容器中的映像提供漏洞评估和管理工具。
用于清理不合规映像的工具和服务
Azure 映像清理器 执行自动图像识别和删除。 使用 Azure 映像清理器从 Kubernetes 节点中清理 AKS 容器工作负载的过时映像,或使用适用于非 AKS 或 vanilla Kubernetes 环境的开源 橡皮擦 ,从而减轻过时映像的风险,并缩短清理它们所需的时间。
用于自动升级运行时服务的工具
群集自动升级提供了一种“一劳永逸”的机制,可带来明显的时间和运营成本效益。 启用 AKS 自动升级可确保群集是最新的,如果使用的是 AKS,则不会错过 AKS 中的安全版本或修补程序,并上游 Kubernetes。
后续步骤
有关 安全观察容器并及时查找潜在供应链安全问题的可观测性阶段 的概述。