【51CTO.com快译】谁都无法否认:在快速发展的DevOps和持续集成/交付领域,安全问题仍然需要大家持续关注,谨慎对待。尽管当前有许多工具和技术,可以让我们将安全集成到现有工作流中,但是容器安全仅仅是其中的一个方面。我们仍然需要安全专家采用各种优秀实践,来提供全方位的安全防护。
作为容器安全的防护平台,StackRox(请参见-- https://www.stackrox.com/)最近发布的《容器和Kubernetes安全态势报告》
(https://www.stackrox.com/kubernetes-adoption-and-security-trends-and-market-share-for-containers/)。他们向540位IT专业人员开展了,针对容器的使用和Kubernetes安全模型方面的全面调查,并发现了一些有趣的现象。
通过该报告,我们可以看出:许多公司都在使用容器技术来提高开发速度,但是为了确保不会忽略掉任何安全防范的关键点,他们逐渐放慢了应用的部署过程。下面,让我们一起通过该报告,来深入解析本年度在容器安全领域的统计数据和趋势。
引领大规模的数字化转型
容器、Kubernetes和微服务,往往被视为快速转化为云原生应用和创新的主要工具。许多公司正得益于将云原生应用作为数字化转型的典型案例。
如下图左侧所示,绝大多数受访者认为:容器与Kubernetes给其组织带来的竞争优势,主要体现在“更快的应用开发与发布”上。不过右侧的图告诉我们:仍有将近半数的企业持有“作壁上观”的态度。
也就是说,有44%的受访者(及组织)承认:曾经出于安全方面的考虑,而推迟了将应用向生产环境中部署。由于将安全集成到现有工作流中,其实并不总是那么容易的,因此这会直接延迟微服务和云原生应用的快速部署。
容器的安全威胁持续上升
根据该报告,针对云原生应用的威胁已越来越多。如下图所示,在过去12个月中,有94%的人经历过与容器和Kubernetes相关的安全事件。
这个数字非常惊人,尤其是当我们考虑到安全事件的影响,可能会给组织带来的灾难性的后果时。无论是简单的数据泄露,还是诸如分布式拒绝服务(DDoS)攻击,都可能会导致用户对于企业应用、及其安全性的信任丧失,进而产生复合性的业务风险。
该报告还指出,大多数安全风险都是由人为错误而引发的,例如:错误地配置了云端环境或Kubernetes集群。我们可以毫不夸张地说,那些由代码错误和群集配置错误所引起的事故数量,和已知并纠正了的漏洞数量,是不相上下的。
优先级的提高
随着各个企业有关容器安全性风险意识的增强,受访者门能够持续关注容器的安全相关策略。在上一轮调查(2019年春季)中,有34%的受访者表示他们现有的容器策略不够详细(请参见--
https://www.stackrox.com/post/2019/07/top-5-takeaways-from-state-of-container-and-kubernetes-security-report/)。而在本轮调查中,此项数字降到了22%。这些策略主要包括:如何保护容器化的环境,以及如何在不降低环境安全态势的基础上,加快部署工作的流程。
同时,从各个组织的采用程度来看,容器的安全策略正在变得越来越易于被采用。目前,有34%的受访者将本组织的安全策略,即:那些足以缓解大多数安全威胁的高级策略,评定为中级;有14%的受访者认为本组织的安全策略已经达到了成熟状态。
容器应用
如前所述,容器和Kubernetes共同推动了组织的创新。目前已有越来越多的公司将其单体应用(monolithic app)及解决方案,转化为可以充分利用云端环境的微服务中。
如下图所示,有29%的受访者在本企业50%以上的应用方案中采用了云原生的容器化,该占比几乎是2018年秋季的两倍。
如前所述,容器安全的问题会在部署和运行时集中爆发。过去,大多数开发运行环境,被设计为只在本地受限制的生态系统中运行,因此安全问题并不那么凸显。而当各类应用在云端被部署并运行时,安全风险就变得非常突出了。
进一步的调查显示,云服务专业人员和组织会将错误的配置,视为安全风险的主要原因。与之相比,各类攻击倒并不被视为重大的安全威胁,只有12%的受访者对此表示担忧。同时,他们也并不认为漏洞是造成威胁的主要根源,其中只有27%的受访者对此表示了担忧。
该调查还显示,原生云应用要比混合式部署更受欢迎。这意味着许多组织都有着足够的信心,将其应用方案完全移至云端运行,而无需依赖本地与云端这种混合的部署模式。其背后的原因主要得益于:如今我们已经拥有了更加成熟的云端基础架构。
尽管Google是Kubernetes背后的公司,但是我们发现Amazon Web Services(AWS)在容器化市场的云端基础架构占有率方面能够排名第一,第二名是Microsoft的Azure,而Google Cloud Platform(GCP)只能排到第三,虽然其增速已超过Azure。如下图所示,有78%的受访者会选择AWS来支持他们的应用。如果您有兴趣的话,请参考《Google Cloud Platform(GCP)与Amazon Web Services(AWS)在成本、易用性和优势方面的比较》一文--
https://blog.cherre.com/2020/03/10/gcp-vs-aws/。
在AWS引领市场的同时,其编排工具也在市场上广受欢迎。下面我们来看看目前最为流行的5种容器编排工具:
- Amazon EKS占比37%。
- 自我管理/自我托管的Kubernetes占比35%。
- Amazon ECS占比28%。
- Azure AKS占比21%。
- Google GKE占比21%。
挑战和措施
大家普遍认为:在顺应向云原生应用和容器化微服务迁移的趋势中,各个企业往往在将单体应用转换为用到云计算能力的微服务时,会面临严重的障碍。特别是对于Kubernetes来说,团队内部的技能差距和陡峭的学习曲线,都会成为整个推进过程中巨大的障碍。
Kubernetes和容器的学习曲线,不同于标准的软件工程范例。在Kubernetes项目的初期阶段,企业需要寻找和雇用在云平台上具有丰富开发经验的人员。而在容器管理的过程中,那些涉及到的风险管理水平、以及专业的知识,同样给企业带来了新的挑战。
不过可喜的是,DevOps工程师和越来越多可用的容器安全解决方案,正在帮助企业简化保护容器和部署安全措施的整个过程。秉承着尽早实施和“安全左移”的理念,各项安全措施将会更加容易地被集成到CI/CD的管道中。
得益于云服务的发展与普及,如今各种关键性的安全必备功能,都能够以托管服务的形式,提供给云原生、以及混合的应用产品。其中包括:
- 漏洞管理。
- 配置管理。
- 合规性检查。
- 运行时威胁检测。
- 风险分析与一般性评估。
- 可视性管理。
- 网络细分。
总结
StackRox发布的2020年版《容器和Kubernetes安全态势报告》,通过各项统计数据表明,容器与Kubernetes安全性相关要点,主要体现在如下四个方面:
- Kubernetes已是大势所趋。它不但能够提供灵活性,还能够围绕着编排工具去构建的服务。各个企业通过寻找改进容器化和Kubernetes编排的方法,以提高云原生应用在开发与部署上的安全态势。
- 容器(尤其是Kubernetes)是通用的,并且与云服务类型无关。这也是Kubernetes的最大优势之一。只要满足运行时的要求,您完全可以在不同的环境中部署同一组微服务。这就意味着:安全性可以是一个标准化的过程,而不是某一个案的工作流。也就是说,您可以使用相同的配置和方法,来保护任何一个Kubernetes集群。
- 安全性是一个持续的过程,而不再是驻留在CI/CD管道末端的待完成任务。也就是说,安全过程需要与CI/CD工作流的其余部分(包括:代码检查和部署)一起被推进。
- DevOps会起到桥梁的作用。在不久的将来,DevOps团队会在开发伊始就引入安全方面的“布局”,并全面负责和确保整个云端环境的安全性。他们也会利用各种最佳实践,来改善云端环境中的容器安全性。
原标题:Container and Kubernetes Security: A 2020 Update ,作者: Stefan Thorpe
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】