如今,国内云原生同样进入深度落地实践,并在数字时代显示出所未有的新价值。
毋庸置疑,云原生被认为是云计算最重要的发展方向,它不仅是云服务商们在技术上的角力点,更成为企业数字化转型和上云的必经之路。
放眼当下,从“上云”向“云原生”演进,全球都在深度参与并见证一场云原生的技术变革。
云原生带来划时代改变
在云计算进入到发展成熟期之时,云原生作为新基建支撑数字化转型的重要技术,逐渐在AI、大数据、边缘计算、5G等领域崭露头角,成为数据驱动业务场景的强大引擎。
IDC 预测,到2022年,90%的新企业应用程序将使用云原生应用程序开发流程、敏捷方法论和API驱动架构。
根据一份调查报告,全球有大约650万活跃的云原生开发者,约有400万开发者使用无服务器架构和云方法。现在92%的组织在生产环境中使用容器。
云原生主要为行业带来了三个方面的改变。
首先,云原生技术从单一容器技术发展到庞大的云原生技术群。云原生因容器而兴起,随后在容器、微服务、DevOps三大核心技术的推波助澜下,迅速朝着全栈化技术体系发展。
其次,云原生的行业应用从互联网发展到千行百业。在云原生早期市场,互联网企业是云原生技术应用的主力军。
最近几年,政府、金融、制造等传统行业用户也明显加快了使用云原生的步伐,云原生开始在各大行业落地生花。
第三,云原生思维由单点技术思维发展到系统性产业思维。云原生诞生之初,是以容器技术为基础,在微服务治理、DevOps、CI/CD等一系列方向优化应用交付的思想理念,其核心目的是让应用开发、部署、运维更简单。
如今,随着云原生在各个行业业务场景中的深入应用,云原生的思维方式也日趋形成共识,即从以往的单点技术思维发展到系统性的产业思维,云原生开始尝试全面覆盖业务的基础设施、应用、数据、安全等各个方面,以满足行业客户的数字化转型需求。
云原生架构引入新风险
虽然好处十分明显,但云原生架构也引入了各种新型安全风险和潜在的漏洞源。现有的应用程序安全性方法并不是针对新范式设计的。
相反,DevOps团队需要一种新的方法来帮助他们更好地识别潜在风险,并使它们能够将漏洞管理集成到开发和交付流程中。
早期,软件开发被认为是一个线性过程,但云原生架构的兴起导致了高度动态的应用程序环境。
在这里,变化是唯一不变的。根据研究,61%的组织认为他们的环境每分钟或者更短时间就改变一次。
云原生、基于容器的环境的动态特性,以及跟上敏捷开发速度的需要,使得检测漏洞和管理应用程序安全更加困难。
根据一份调查报告,在2020年上半年期间,每天有160起针对蜜罐的攻击。
其中95%的攻击旨在劫持资源,而5%的攻击旨在发起网络拒绝服务攻击。
这个研究还表明,微服务、容器和Kubernetes为89%的CISO创建了应用程序安全盲点。
云原生安全有何不同?
那么,云原生安全相比传统安全又有何不同呢?其实,云原生安全并不独特,传统环境下的安全问题在云环境下仍然存在,比如DOS攻击、内部越权、数据泄露、数据篡改、漏洞攻击等,但由于云原生架构的多租户、虚拟化、快速弹性伸缩等特点,对传统安全的某些层面提出了新的挑战。
如果要用一句话总结传统安全与云原生安全的不同,那可以概括为:传统安全更重视边界防护,而云原生安全更重视持续安全。
这也让传统的安全实践根本不适合这种环境。事实上,云原生架构从根本上破坏了应用程序的安全性。
传统的安全漏洞管理方法无法跟上这些动态环境,因为传统方法只能提供单一时刻的静态视图,这使得它们的效率越来越低,并且容易出现盲点。
如何保护云原生应用?
当涉及云原生应用程序时,安全性不能是事后诸葛亮。
安全性必须集成到持续集成和持续开发流程中,而不是依赖于固定的解决方案和方法。
采用基于风险的方法至关重要,但这并不是完整的解决方案。
一个完整的解决方案将这与各种其它安全层结合在一起,这些安全层超越了检测和评估,而转向了补救或缓解。
这些措施包括安全左移、应用边界安全、贯彻最小角色和最低权限、安全共担等。
- 安全左移
许多企业依然在使用已有的工具,却无法处理云原生应用环境的速度、规模和动态网络。
如果再加上无服务器功能,会让整个基础设施变得更抽象,让问题更严重。
网络攻击者会寻找容器和无服务器代码中的隐患,以及云基础设施中的错误配置,以接入包含敏感信息的实体,再用它们提升权限,攻击其他实体。
另一个问题是企业在用CI/CD工具持续开发、测试和发布应用。
当使用容器部署云原生应用的时候,开发者会从本地或者公共库当中获取镜像,但一般不会检查这些镜像是否包含安全隐患。
一种解决方案是给安全团队提供一些工具,阻止不受信任的镜像进入CI/CD管道,以及启用一些机制让不受信任的镜像在进入生产前就避免产生安全问题。通过在开发流程早期扫描镜像的漏洞、恶意软件成分等,开发者可以贯彻安全标准。
- 应用边界安全
一个很重要的方式是使用为云原生环境而制作的API和应用安全工具。除此以外,一个很普遍的操作是在功能级别使用边界安全——识别功能是否被一个和平时不同的来源所触发,然后监控事件触发中存在的异常情况。
在容器化环境里,一个重要点是在不同级别都要实现安全——编排控制面板、物理主机、pod和容器。
编排的一些最佳安全实践包括节点隔离、限制和监测容器之间的流量、以及对API服务器使用第三方认证机制。
- 最小角色与最低权限
云原生资源之间会有大量频繁的交互。如果能够对每个无服务器功能或者容易都能配置一些独特的许可,就能有极大概率提升安全性。
可以通过基于每个函数使用IAM,或者对容器进行颗粒度的许可,加强接入控制。花一点时间创建最小角色,或者为每个函数或容器创建一系列的许可。
这就确保了即使云原生结构中有一个点失陷,其造成的危害也是最小的。
- 安全共担
在开发者、DevOps和安全团队之间建立亲密的关系。开发者并不是安全专家,但他们可以被教育安全操作知识,从而确保他们可以安全地编写代码。
安全团队应该知道应用是如何开发、测试和部署的,还有哪些工具在流程中被使用,从而安全团队能够在这些流程中有效地加入安全元素。
同时,国内也有像腾讯云这类云计算厂商根据云原生安全需求打造更具针对性的解决方案。
近日,腾讯云正式发布云主机安全旗舰版,顺应了当前云原生安全防护的新需求,助力企业高效应对安全合规、高级威胁、多云管理、应急响应等在内的云上安全新挑战。
腾讯安全基于用户核心需求,从“预防→防御→检测→响应”四个阶段构建主机安全防护体系。
同时,云主机安全旗舰版依托七大核心引擎、百万级终端防护、百亿威胁数据,帮助企业实时防护核心资产安全,满足等保合规、资产风险管理及入侵防护需求。
问题之中往往蕴藏着机会,不论是传统安全还是云安全,都强调应对安全风险的能力,但云作为新兴场景,用云原生安全的方式去解决云细分场景的问题,施展空间相比传统传统会更大,其不存在传统安全防御的固有思维,可以创新的角度也更多。
随着数字时代的来临,越来越多的安全厂商正在从“救火队员”的角色,变成安全架构的“设计师”。
他们将传统的攻防解决方案,演变成进可攻、退可守的立体安全架构,将割裂的安全产品,打通为可协同联动的安全体系,为企业的持续安全保驾护航。