实现容器安全管理的最佳实践

VSole2022-04-20 10:04:12

随着Docker、Kubernetes技术的成熟,容器也成为时下最火的开发理念之一。它是云原生概念的重要组成部分,正迅速成为云原生生态系统中部署计算和工作负载的不二选择。云原生计算基金会(CNCF)最新的云原生调查显示,96%的组织在积极使用或评估容器和Kubernetes。众所周知,容器作为应用的包装形式,能够以更轻量化、更小开销的方式运行,具有可移植性、一致性和效率高等优势特点,但其并非没有安全问题。

确保容器安全是一项复杂的活动,就像网络安全一样,需要结合人员、流程和技术,其中人员安全是最关键的。对于那些希望转向使用容器的组织来说,应提升现有员工的技能,并引入拥有必要技能的其他人才,确保云原生运营模式的安全性。以下列举了管理容器漏洞风险的最佳实践和相关工具,如果企业采用这些工具、实施最佳实践,同时遵循行业最佳指导,就有可能在容器安全使用方面更接近理想状态。

将容器安全与云安全密切关联

首先有必要了解容器在云环境中的作用和关系。云原生生态系统通常包括事关云安全的云、集群、容器和代码。每一层建立在下一层之上,任何一层不安全都会影响其下面的层,比如部署在不安全容器上的应用程序,会受到容器的影响。云端、Kubernetes集群或应用程序本身的漏洞都可能带来各自的问题。鉴于容器存在的状态(比如作为镜像或运行中的容器),以及可能放置在容器中的层和代码比较多,确保容器安全绝非易事。CNCF的白皮书《云原生安全》可以帮助读者更好地了解云原生应用程序、容器及其生命周期。

加强容器可移植性防护

虽然容器最显著的优势特点之一是可移植性,但这也是缺点。如果漏洞混入容器后分发,无异于将漏洞分发给使用该镜像的所有人,还可能将其运行的任何环境置于险境,因为它们通常在多租户架构中运行。这意味着,广泛可用和共享的容器镜像与其他问题(比如开源代码、IaC)一样令人担忧,所有这些都可能带来漏洞。此外,容器常常由外部开发人员而不是传统的IT团队构建,然后再分发给企业。在此背景下,实施最佳的安全编程和容器安全实践是一个好的开端。

及时扫描容器是否存在漏洞

作为安全左移潮流的一部分,应在管道部署活动期间扫描容器。目前,一些基本的做法是扫描持续集成/持续部署(CI/CD)管道中的容器,以防止漏洞进入到运行时生产环境。发现管道中容器存在的漏洞,可防止漏洞被引入到生产环境并被不法分子利用。相比修复生产环境中的漏洞,这么做效率更高、风险更小、成本更低。市面上既有Anchore和Trivvy之类的开源工具,也有Snyk等主流安全厂商提供的商业工具。

不过,扫描管道中的容器镜像并非灵丹妙药。因为容器镜像常常存储在存储库中,而且一旦部署到生产环境就处于运行状态,所以扫描这两种环境下的镜像才是关键。新漏洞经常出现,因此如果仅仅从存储库提取之前扫描过的镜像、不重新扫描就部署,可能会忽视自上次扫描以来已发布的新漏洞。生产环境中存在的漏洞同样如此,如果企业的访问控制机制很糟糕,对处于运行状态的容器进行了更改,就很容易出现漏洞,因此需要识别运行中容器存在的漏洞,并通知相应员工做出适当的响应,以便调查、干预。

使用容器镜像签名

保护容器工作负载的另一个关键活动是镜像签名。大家都熟悉美国中情局(CIA)的网络安全三要素:机密性、完整性和可用性。容器镜像签名主要是确保容器镜像的完整性。它可以确保所使用的容器镜像没有被篡改,值得信任。这可以在注册库中完成,也可以作为DevOps工作流程的一部分来完成。

在容器镜像签名方面,有几种工具可选。最值得注意的工具之一是Cosign,它支持镜像签名、验证和存储,还支持各种选项,比如硬件、密钥管理服务(KMS)、自带的公钥基础设施(PKI)等。如今,市面上也出现了无密钥签名选项,受到Chainguard等创新团队的追捧。无密钥签名实际上支持使用短期密钥的功能,这种密钥只在签名活动期间有效,与身份相关联。

为容器镜像开列软件组件清单

容器同样存在软件供应链安全问题,许多组织纷纷为容器镜像开列软件材料清单(Software Bills Of Materials,简称“SBOM”)。Anchore的Syft工具就是个典例。Syft让组织可以为容器镜像开列SBOM,作为CI/CD工作流程的一部分,帮助组织深入了解在容器生态系统中运行的软件,并随时做好准备以应对可能发生的安全事件。

过去很难获得这样的高可见性,但现在情况有所不同,许多组织更关注软件供应链安全,并遵循美国白宫和相关政府机构的指导,比如《网络安全行政令》。同时,关注安全开发实践的呼声越来越高,NIST等组织发布了更新版的《安全软件开发框架》(SSDF),该框架要求组织在存档和保护软件版本等活动中使用SBOM。在此背景下,软件供应链中组件具有了高可见性。

除了为容器镜像开列SBOM外,企业还要做好证明,NIST在《软件供应链安全指南》中就有相应的规定。NIST要求做好向SSDF证明的工作,这要求使用SBOM。还有进一步执行SBOM的创新方案(比如Syft),使用in-toto规范支持SBOM证明。这种证明方法让签名者可以证明SBOM准确地表示容器镜像的内容。

网络安全容器技术
本作品采用《CC 协议》,转载必须注明作者和本文链接
最近测容器安全,才发现部署的容器云平台和容器应用几乎在裸奔,每个镜像和容器都有各种各样的漏洞,平台本身也不少问题,真是不测不知道,一测吓一跳。容器本身就是弱安全的,容易带来越权逃逸等问题,同时容器应用研发人员对容器技术又缺乏了解,缺乏相应的安全意识和安全知识,这就带来了比较严重的潜在的安全问题。
从云原生计算环境等主要领域深入分析了安全风险的来源,介绍了典型开源安全工具,提出业内首个云原生应用保护平台模型,并分层对模型中的安全能力进行了详细介绍
容器安全技术需要围绕容器全生命周期提供各项安全措施。
2021 年 10 月 27 日,欧盟网络和信息安全局(ENISA)发布《ENISA 2021年威胁态势展望》报告,分析了全球面临的九大网络安全威胁,阐述了威胁趋势、威胁参与者和攻击技术等,提出了相关缓解和应对措施。2021 年该项工作得到了新组建的 ENISA 网络安全威胁态势 (CTL) 特设工作组的支持。该报告可帮助战略决策者和政策制定者、政府及公司详尽了解最新的网络安全威胁,而且可针对性地
7月9日,腾讯安全正式发布腾讯云容器安全服务产品TCSS,腾讯云容器安全服务为企业提供容器资产管理、镜像安全、运行时入侵检测等安全服务,保障容器从镜像生成、存储到运行时的全生命周期,帮助企业构建容器安全防护体系。Tripwire 2019年对311位IT安全专业人员进行了调研,发现60%的组织都遭遇过容器安全事故,《报告》数据也显示63%的用户认为容器安全是紧迫需求。目前,TCSS资产管理模块已支持9种资产信息统计。
腾讯安全近期将复盘2022年典型的攻击事件,帮助企业深入了解攻击手法和应对措施,完善自身安全防御体系。下午 6点,X团伙完成了攻击链路的推演,整个过程近乎完美。此次的挖矿木马变种便是通过扫描 Docker Remote API未授权访问漏洞进行传播,并且入侵动作更加隐蔽。若 管理员对其配置不当则会导致未授权访问漏洞,攻击者不仅可以植入病毒,甚至可进一步利用 Docker自身特性,借助容器逃逸,最终控制整个集群。
Gartner建议企业优先考虑将网络安全投资作为风险管理的核心,并将其视为对业务的投资。时隔将近一年,Gartner多位顶级分析师再次分享了他们对2023年的八大网络安全预测。为了在不影响业务速度的情况下有效地做到这一点,企业必须使用DevSecOps技术将安全自动化到应用程序交付过程中。安全团队会发现,基础设施安全与应用程序和数据安全密切相关。
VSole
网络安全专家