云原生时代,安全范式的改变

01 什么是云原生

计算的部署使用模式,跟历史上的交流电和自来水一样,目标是把计算能力发展成随用随取的市政资源。这将是 IT 基础设施的一次变革,其颠覆性发展,带来了使用云原生应用的需求,也带来了对安全机制云原生的需求。

云好理解,而“原生“则是土生土长的意思,我们在开始设计应用时就考虑到应用将来是运行在云环境里面的,充分利用云的能力,如:自动扩展、无中断部署、自动化管理和弹性等。

简单把原有企业网的环境和虚机迁移到 IaaS 云里,或者把原有单一应用直接打包到虚机里运行,乃至做些 API 对外提供接口,这些做法离云原生都还远。为了实现云原生属性,云应用需要在发布、服务方式、随需弹性、数据和工作负载管理等多方面重新构建。

02 云原生带来的安全领域的变化

安全作为一种伴生技术一直随着 IT 基础设施和业务发展而发展的,云原生安全也不例外。万变不离其宗,安全最终都是围绕要保护的对象来逐层构建。云时代数据和业务处在安全的核心保护位置,围绕其由内至外展开的数据安全、应用安全、计算安全、网络安全等就组成了云安全体系,再细化到每一个层级又包含了工作负载安全、主机安全等很多细分领域。

传统的安全产品和解决方案,重在区分可信区域和不可信区域,往往以企业内外网为界限,主要防范来自外部网络的攻击,疏于来自内部的网络攻击。但是统计数据显示,多达80%的安全事件都来自内部网络。

企业上云等数字化转型将使得内外网的界限日益模糊,传统物理安全边界在云端变成了无处不在的边界能力——可以动态创建、策略强化、权限管控和安全访问。

03 云原生新的安全范式

几乎每个企业的数据中心都有大量的防火墙设备,但谷歌的数据中心例外。谷歌将访问控制、认证和授权放在应用层实现,而不是在传统的网络层实现。谷歌的方法使得访问控制不可改变、便携和易于扩展。

业界对于是在应用层还是网络层进行安全控制的争论由来已久。从历史上看,企业数据中心选择了事后防护的网络层安全模型,因为该模型很适合传统环境:大多数数据中心都在运行标准软件,工作负载信任它们的内部网络,并且职责分离。

但云原生应用浪潮,将改变企业安全控制方法:

1. 安全控制将在应用层嵌入

传统上,企业数据中心部署了大量的标准化软件,就需要在这些标准软件外围进行保护。对于标准软件,企业已经逐步转为SaaS(软件即服务)的消费模式,另外,企业内部的定制的非标应用,嵌入应用层的安全控制将更为高效,因为企业本身就拥有应用的代码和设计。

2. 基于零信任构建安全体系

传统的企业工作负载通常对内部网络有相当程度的信任,所以传统的分区技术,很好地满足了这种用途。但在云端,所谓的“内部”可能现在已经在公共或混合云上了,内外的边界已经模糊甚至消失,因此,但谷歌的安全要求是基于“零信任”,它不认为内部网络比公共互联网更安全。

零信任是一种安全理念和业务模式,并非某种具体产品。对应的,云安全、云原生安全,以及新的安全技术手段和细分领域,都在践行零信任的理念。与传统的边界安全模型不同,零信任框架不以用户设备、I P等作为访问服务和数据的判定标准,而是将身份化全面推行,以身份权限作为新的边界来构建安全体系。基于应用的、嵌入式安全模型具有更好的扩展性和可移植性,成为更适合今天企业云应用的新安全模型。

3. 企业将从DevOps走向NoOps

传统,开发和运维之间责任分工不同,这使得开发和运维之间形成了自然的边界,事后防御的网络层安全模型,很好地契合了这种传统的工作流程。但随着软件发布周期越来越短、软件规模与复杂度的大幅增加,开发与运维之间职责与专业边界形成的工作转接拖慢了整体的软件发布周期。因此,业界提出了DevOps促进开发运维一体化,并在此流程汇总内建安全,从而形成DevSecOps。但开发和运维之间的有些责任分工依然存在,这种分工与交接,从精益敏捷开发角度看,依然存在浪费。

2011年,Forrester发布报告“扩大DevOps至NoOps”,预测在不久的将来,一些企业将越来与多地依赖于云,开发者将能更加自动地进行程序构建(building)、测试与部署等运维操作,最终达到NoOps。虽然该术语表示这些公司将不再需要运维人员,但是报告的本意谈论的却是开发者将使用更加自动化的工具,而这些工具需要更少的人工干预。随着,更多企业上云,及云原生应用的普及,NoOps也必然会在某些场景取代DevOps,真正实现开发者自运维,彻底消除开发与运维之间的边界。

另一方面随着Docker容器和微服务的日益流行,应用在生命周期里的变化率急剧增加。应用组件来来去去,规模不断地变化。基于事后防御的网络安全模型, 根本无法跟上变化的步伐,反之基于应用层的安全模型,则会显得更加灵活并能适应新的场景。因此,我们需要再应用设计之初,就开始考虑内建安全。真正让开发者实现安全的内建。

最后

随着云原生应用的出现,云计算部署的加速,以及业界对开发自运维的采用,企业需要寻找和云原生更匹 配的安全模式,实现从事后防御到安全内建的范式转变。

因此,企业要把安全意识教育和S-SDLC(安全开发生命周期)融入到员工日常开发习惯中,在开发的同时进行测试和督促整改,检查出问题,相应的问责机制要严格。把安全意识充分融入到开发者的血液中。可运维、安全,是软件本身应该具备的属性,无论是开发自运维,还是开发内建安全,实际都是在倡导我们要回归软件本源,通过预防为主的思维来解决云原生时代的安全问题。

你可能感兴趣的:(云原生,安全)