前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Sysdig 2021 容器安全和使用报告(上篇)

Sysdig 2021 容器安全和使用报告(上篇)

作者头像
灵雀云
发布2021-09-02 10:35:32
1.9K0
发布2021-09-02 10:35:32
举报

文章来源:Sysdig

译者:鸿臻

执行摘要

在过去的四年中,我们实时地对客户真实数据进行分析,对容器有了更深入的了解。随着我们安全和监控能力的提高,我们独特的优势使我们能明晰企业处理安全性和合规性的细节,随着时间的推移,我们对如何使用基础设施、应用和容器有了更多的了解,对此,我们为您带来了Sysdig 2021年容器安全和使用报告。

我们的企业客户用数据告诉我们,容器普遍寿命较短,对于容器环境安全性和合规性的问题研究是很重要的。今年的调研结果与去年的报告一致,大约有一半的容器寿命在5分钟以内。报告突出显示了用于故障响应、故障定位和故障解决的详细记录。对此,我们对容器安全状况进行了更深入的研究,以明确我们的客户面临的挑战。在我们的分析报告中显示出对于部分公司,“向左移”的趋势触及了Kubernetes的安全性,四分之三的团队在CI/CD流程中将扫描容器镜像阶段放在部署之前。

尽管许多团队对识别漏洞有很强的意识,但他们错误的配置为攻击者敞开了大门。事实上,报告显示,大多数容器镜像配置过于随意,其中58%的容器使用root权限运行,这伴有严重的安全隐患。随着容器环境的完善,团队意识到只扫描镜像是不满足安全要求的。它们还需要确保容器运行时的安全性以应对持续的威胁。作为处理这些问题的一种方式,我们看到了Cloud Native Computing Foundation(CNCF) Falco项目的飞速增长,以帮助团队在容器运行时、主机和Kubernetes环境中检测威胁。

虽然Kubernetes在容器编排方面的使用方式在2020年没有改动,但在容器运行时的工具选型中有了明显转变,各个团队从Docker转向了containd和CRI-O,事实上,Kubernetes项目官方宣布将在2021年末正式弃用Docker。随着今年容器密度的再次增长,团队正在转向使用Prometheus作为监测这些环境的标准方法 。

根据GitHub的统计数据,在我们的客户中使用Prometheus指标的占比相较于去年增长了35%,Exporters 排名前三的是:node-exporter,blackbox-exporter, and jmx-exporter,。Quay仓库今年得到了更多的使用,云原生开发人员首选的编程语言Golang,也在团队中得到了更多的使用。

这份报告中的数据来自于我们对一个客户子公司每天运行着数百万个容器的分析,以及我们的客户在过去一年中运行的近10亿个不同容器数据。在此报告中,您将发现关于安全性、合规性、服务、告警和Kubernetes使用模式的更多细节。这些信息将对于来自全世界各行各业的公司掌握容器环境的真实安全状态和使用情况非常有用。

2021 趋势关键字

统计数据和数据来源

该报告中的数据来自于对近200万个容器的分析,这还是我们的客 户每天运行容器的一部分。

我们又从GitHub、Docker Hub和CNCF等公共数据源中提取容器 数据。这些数据来自于全球各行各业的容器使用情况,团队的规模 从中型企业到大型企业不等。

使用哪些容器运行时部署?

Container runtime

在过去的一年里,我们看到containerd和CRI-O的使用率有了显著增长(相比去年上升了18%和4%),而Docker相比于去年的79%下降到今年的50%。值得注意的是,Kubernetes项目官方宣布将在2021年底正式弃用Docker。确切地说,containerd是Docker公司过去一直在使用的底层工具。Docker引擎先前已经具备了高级运行时和低级运行时的特性。它们现在被分解成独立的containerd和runc项目。然而更多的工具选型也会让用户选择时更纠结。

不同的解决方案都期望这些工具在减少资源开销、更强的稳定性、可扩展性和容器镜像仓库兼容性等方面做的更好。然而,由于现在有了开放标准,对于那些做出错误选择并且只能使用某个工具的担忧已经不复存在了。为了使得用户在进行工具选型时更加简单,像OpenShift、GKE和IKS这样的主流平台,通常支持选择容器运行时并使用多种类型的容器运行时并发执行任务,这样就不需要花费太多时间决定使用哪个容器运行时了。

容器编排平台

相比于其他平台,Kubernetes一直处于领导地位.,仅仅比去年有轻微的变化。下面图表中展示了当前主流平台的分类占比. 令人惊奇的是,与去年相比,Swarm和Mesos的占比大致相同,分别为2.5%和1.3%。

OpenShift的增幅最大,从9%上升到15%,越来越多的用户似乎依赖于OpenShift,因为它能够在混合云中运行。Docker Compose仅用于在单个主机上管理多个容器,尽管它不被认为能像Kubernetes那样管理多种主机环境,但今年已经添加了这部分功能。

安全性和合规性

随着团队将容器工作负载转移到生产环境中,他们意识到需要将安全性和合规性集成到DevOps工作流程中。“左移安全” 已经成为一个热门词汇,它通常指扫描容器漏洞。因为大多数从公共镜像仓库拉取的容器镜像,扫描失败率较高,所以扫描镜像是十分重要的。这些数据也强调了合规检查和严格运行时策略的必要性,需要借此降低风险。为了深入了解Kubernetes和云原生环境中的安全性和合规性状态,我们分析了包括漏洞扫描、运行时安全性和合规性在内的数据。

镜像扫描

无论镜像的容器来自哪里,在部署到生产环境之前,执行镜像扫描并识别已知漏洞是非常重要的。为了量化漏洞风险的范围,我们对7天内扫描的镜像进行了采样。超过一半的镜像失败了,这意味着它们可能存在严重程度较高或更高的已知漏洞。

  • 操作系统漏洞

我们注意到4%的操作系统漏洞是高危或严重的。虽然看起来概率很低,但如果一个操作系统漏洞被利用,它可能会损害整个镜像并导致应用程序崩溃。这也是为什么对操作系统漏洞的扫描非常关注的原因,特别是那些提供一部分镜像扫描功能的仓库(即ECR、GCR等)。

  • 非操作系统漏洞

很多团队并没有检查第三方库中的漏洞。我们发现53%的非操作系统软件包具有高危或极其严重的漏洞。开发人员可能会在不知情的情况下从这些非操作系统开源包(如Python PIP、Ruby Gem等)中引入漏洞,并引入安全风险。

  • 在构建阶段扫描镜像

DevOps 团队开始思考在开发生命周期早期阶段扫描镜像的重要性,因为在这些所有问题中安全是最重要的一环,带着这个思考,他们正在“向左移动”。在我们的部分分析报告中,我们查看了在CI/CD流水线中构建阶段扫描镜像以及那些没有在构建阶段扫描镜像的企业数量。74%的客户实际上在部署前扫描。这种信号实际上是一个好消息,因为在构建阶段扫描可以帮助团队在将镜像投入生产之前解决潜在的安全问题。

  • 在哪里扫描:内嵌扫描 vs. 后台扫描

用户可以有两种方法来扫描镜像:

后台扫描-当使用后台扫描时(即直接在UI中或通过使用sdc-cli集成相关工具),Sysdig后台将从镜像仓库提取整个镜像,并执行镜像分析(提取镜像元数据,如安装的软件包、版本、文件属性、Dockerfile指令)和评估(检测OS/非OS漏洞、错误配置和错误的安全实践)。许多团队利用后台扫描。虽然内嵌扫描提供了更好的安全性,但是后台扫描的步骤更靠前。

内嵌扫描-当使用内嵌扫描时,镜像分析阶段直接在CI/CD流水线、镜像仓库或容器运行时进行。扫描结果元数据被发送到Sysdig后台进行评估,评估结果将被发送回工作人员(评估报告为PDF或JSON格式)。您将对镜像数据有充分的了解,而无需共享镜像或对外公开镜像仓库凭据。扫描结果可以在Sysdig中直接看到。

  • 私有和托管镜像仓库

镜像仓库为托管和管理容器镜像提供存储库。在我们34%的客户中经常使用Docker仓库。它提供包括私有托管库和公共存储库。由云提供商托管的镜像仓库解决方案越来越受欢迎。和过去几年一样,谷歌云镜像仓库再次成为排名第一的公有云存储库,在我们客户中有26%的团队使用它。不过,Quay较去年也有所增长,从14%增长到了24%。

在这些不同的产品中,我们调查了从公共镜像仓库和私有镜像仓库中拉取镜像的占比。我们发现大家对公共镜像资源的信任程度越来越强,从去年的40%上升到今年的47%。使用来自公共镜像仓库的镜像会有很大的风险,因为大家很少会验证或检查安全漏洞。然而,随着越来越多的公司在Kubernetes环境中改进他们的安全程序和流程,使用公共镜像仓库的便利性可能掩盖了风险。我们的客户正在创建策略来定义哪些容器镜像仓库被批准在他们的团队中使用。

容器运行时的威胁

一旦在容器生命周期的构建阶段解决了已知的漏洞,团队则需要设置策略以检测异常行为并及时触发安全警报。Kubernetes运行时的安全是一些组织正在着手解决的问题。由Sysdig贡献的CNCF开源项目Falco正在迅速获得关注和推进力,如下图所示。该项目目前在DockerHub拥有超过2000万的拉取数量,比去年的252%增长了300%。Falco支持定义运行时策略以检测安全问题并生成告警通知。

  • 使用管理员权限运行容器

虽然团队清楚必须扫描漏洞,但可能不会扫描常见的配置错误。我们所看到58%的镜像以root权限运行,这将允许专属特权容器可以被破坏。有些容器应该以root权限运行(例如,安全和系统守护进程),但这只是整个容器的一小部分。从我们与客户的沟通来看,在实践中,即使在容器运行时检测到有风险的配置,团队为了快速部署不会停止容器。取而代之的是他们会在一个宽限期内继续运行,然后再考虑补救步骤。

容器运行时违规策略排行

我们通过客户报告的警报数量来衡量策略违规情况。这份报告也表明了用户经常未覆盖容器运行时安全风险的类型。在今年我们看到了可疑文件系统和可疑容器违规问题数量的上升。

在SysdigSecure中默认启用的Falco安全策略可以检测到每一项违规。在下面我们按出现频率列出了前7个违规事项,并对每个违规事项进行了描述以诠释可能存在的威胁。

合规性

包括PCI-DSS、HIPAA和GDPR在内的一些企业都有许多平台治理和策略合规性的需求,他们便开始采取行动以践行最佳实践。Sysdig平台也在一系列的最佳实践中去使用相关规范来监控集群、监控主机、容器和环境等。这些规范包括互联网安全中心(CIS)标准测试规范、Kubernetes的CIS标准测试规范和Docker的CIS标准测试规范。我们从CIS标准测试规范的80多个规则中选取了一个样本,以表明Sysdig用户对这些最佳实践的遵从情况。这八个基准测试将评估每个主机上容器镜像的配置问题,这些配置问题可能与容器权限、使用的安全工具和可能使组织暴露于风险的某些配置有关。本次测试内容是每个宿主机上的所有容器测试失败的情况和没有按照推荐的最佳实践去降低风险的情况。在这种测试方法下,分数的确是最好的量化方式,我们获取了这八次容器检查中每一次测试分数的中位数。

未完待续

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-08-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云原生技术社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档