云原生计算基金会最近的Kubernetes报告发现,28%的企业有超过90%的工作负载运行在不安全的Kubernetes配置中。大多数工作负载(超过71%)使用超级用户访问权限运行,这增加了系统受损和敏感数据泄露的可能性。许多DevOps组织忽略了将readOnlyRootFilesystem设置为True,这会使其容器容易受到攻击,并且会写入未经授权的可执行文件。
容器是软件供应链中增长最快、也是最薄弱的环节
Gartner预测,到2029年,超过95%的企业将在生产中运行容器化应用程序,较去年的不到50%大幅跃升。在五年内,35%的企业应用程序将在容器中运行,超过80%的商业现成(COTS)供应商将以容器格式提供软件,而去年这一比例还不到30%。在创建云应用的企业中,容器及其协调平台主导着DevOps和DevSecOps,而且还会加速。
然而,容器是软件供应链中最薄弱的环节之一。从错误配置的云、容器和网络配置,到在项目生命周期中谁拥有容器安全的困惑,企业都在努力控制容器安全。攻击者正在利用容器镜像、运行时、API接口和容器注册表中日益增长的漏洞来利用断开的连接。身份安全级别较低的不安全容器(如果有的话)也是内部攻击者的金矿。
当容器映像不安全时,攻击者可以迅速超越最初的威胁表面,入侵整个网络和基础设施。大多数攻击平均在277天内无法识别,而且可能会持续更长时间,这取决于组织的监控是否有效。
保护容器安全的十种方法可以保护供应链
从镜像漏洞到容器运行时配置不安全,再到运行时软件中的漏洞,容器经常会因为配置薄弱或不一致而失败。市场上没有单一的解决方案可以解决所有这些挑战,它需要DevOps、DevSecOps和软件工程方面的变更管理来帮助提高容器安全。
一个很好的起点是NIST的应用程序容器安全指南(NIST SP 800-190),它对与容器有关的潜在风险进行了深入评估,并为降低其风险提出了切实可行的建议。根据NIST的说法,“容器的使用将大部分安全责任转移到开发人员身上,因此组织应该确保他们的开发人员拥有做出合理决策所需的所有信息、技能和工具。”NIST建议让安全团队能够在整个开发周期中定义和执行质量。
1.先准备好容器专用安全工具。定义一个负担得起的、可行的安全工具路线图,专门为保护容器(如果尚未到位)而构建。安全团队从旨在管理漏洞、实施访问控制和确保合规性的工具开始。这些工具包括用于漏洞扫描的Red Hat‘s Clair、用于Kubernetes图像扫描和分析的Anchore以及用于合规性检查的OpenSCAP。
2.实施严格的访问控制。对于任何追求零信任框架的组织来说,实施对每个容器的最低特权访问对于降低入侵风险至关重要,这尤其适用于管理员访问权限和特权。CrowdStrike的猎鹰云安全、Ivanti的身份总监和Portnox的云原生NAC解决方案都是在这一领域提供解决方案的供应商之一。
3.定期更新容器镜像。与任何企业系统或DevOps组件一样,保持最新的安全更新至关重要。WatchTower专门从事Docker图像的自动更新,Podman管理符合OCI标准的容器,以及Google Cloud的Artiact Registry,它允许添加新的图像,它们提供了工具来帮助平台团队确保他们的图像是更新的和安全的。许多DevOps和DevSecOps团队都在自动进行安全更新,以确保他们不会错过一个。为了确保图像的安全,养成定期执行审计的习惯是个好主意。
4.自动化CI/CD管道中的安全。开始将自动化安全检查集成到CI/CD管道中,如果它们还不能及早识别漏洞。使用容器特定的工具进行静态代码分析和运行时扫描是一个好主意。始终检查以确保图像来自受信任的注册中心。Alert Logic以实时威胁检测和事件响应而闻名,Anchore以其容器图像漏洞管理而闻名,Aqua Security以全面的容器安全而闻名,这三家供应商在这一领域值得注意。
5.进行全面的漏洞扫描。任何旨在保护容器安全的工作流程都需要包括对容器图像和注册表的定期漏洞扫描。这些扫描的目标是识别安全风险并防止部署易受攻击的容器。提供漏洞扫描的主要供应商包括Aqua Security、以合规性和漏洞管理而闻名的Qualys,以及以容器运行时防御和云本地应用程序保护平台功能而闻名的SysDig Secure。
6.有效管理秘密。获得正确的秘密管理是确保容器安全的核心领域。入侵事件的发生是因为文本机密进入了容器图像。为了增强安全性,必须使用容器图像签名,以确保图像得到验证和信任。还建议使用来源验证工具来帮助保护软件供应链,维护软件组件的完整性和真实性。
7.隔离敏感工作负载。对于追求零信任框架的企业来说,细分的概念是他们自然反应的一部分。在保护容器时,物联网需要保持一致。根据数据的敏感程度和机密程度隔离容器。具有身份访问管理层(IAM)和特权访问管理层(PAM)的保险存储容器内容。通过分段全力以赴地保护工作负载,该分段可以适应并灵活地适应容器和Kubernetes工作流的快速变化。
8.使用不变的基础设施。不可变基础设施的概念是,一旦部署了服务器,它们就永远不会被修改。如果需要更新或修复,则从带有新添加或更改的公共映像创建和配置新服务器,以替换旧服务器。AWS Fargate、Docker和Google Kubernetes Engine在提供基于容器和Kubernetes的不变性基础设施方面处于领先地位。
9.实施网络策略和分段。对网络流量如何流经网络获得更好的可见性可提供正确分段所需的宝贵数据。它对于定义安全约束和提供遥测数据也是无价的,领先的供应商希望使用这些数据来训练他们的大型语言模型。领先的供应商包括AlgoSec、思科和Check Point软件技术公司。这些公司中的每一家都提供用于维护合规性、执行策略和管理安全操作的应用程序和工具。
10.实施先进的容器网络安全。确定网络集成点可能出现故障或被攻击者破坏的位置,这就是为什么需要采取额外的步骤来保护容器。超越容器本身并保护其跨网络的接入点是关键。思科、CrowdStrike、Ivanti、Palo Alto Networks和VMware/Broadcom都将高级容器网络安全作为其平台的一部分。获得高级容器网络安全权限将采取综合方法,单个供应商很可能无法针对企业拥有的更复杂的网络配置进行扩展。