本博客地址:https://security.blog.csdn.net/article/details/129423036
一、全生命周期的云原生安全框架
如图所示:
二、框架说明
在上图中,我们从两个维度描述各个安全机制,横轴是开发和运营阶段,细分为编码、测试、集成、交付、防护、检测和响应七个阶段,而纵轴则是按照IT系统层级划分,包括基础设施、编排平台和服务应用三层。在二维象限中我们列举了若干安全机制,已覆盖全生命周期的云原生安全要求。
1、左侧的编码、测试和集成部分的安全机制是开发团队负责的。其中开发安全主要是处于编码和测试阶段,涉及静态和动态的代码审计等,而软件供应链安全则延展到集成阶段,涵盖了各类第三方软件库的安全评估,这两个安全机制都是面向云原生的服务和应用。
2、镜像是容器的长期载体,镜像安全是在持续集成、持续交付和运行时防护阶段,主要是对容器镜像进行持续安全评估和加固,以在镜像生成、上传、分发过程中保证安全和未被篡改。
3、容器加固机制主要在防护阶段,该机制主要作用是确认运行时的容器各项配置符合安全合规要求。容器运行在宿主机操作系统之上,因而宿主机内核和操作系统安全也是非常重要的。
4、云原生网络安全则是面向基础设施和编排平台,如Istio服务网格中包括了微服务间的网络通信,因而编排平台也涉及网络安全。云原生网络安全包括了网络中异常行为检测、恶意攻击防护,以及对攻击事件的响应,横跨了运营的全部阶段。
5、可观测性是指获知基础设施、编排平台和服务应用所有层面的必要信息,从而观察所有系统的各类行为是否存在异常,因而纵向跨度非常大。具体功能包括日志与审计、监控追踪等,主要目的是事中检测和事后溯源,因而覆盖检测和响应阶段。
6、容器异常行为检测是面向容器基础设施层面,目标是发现活动容器中的各类异常行为,因为其工作在端点的系统层面,正好与网络安全中的异常检测是互补的,共同构成了基础设施层面的异常检测。
7、Kubernetes安全加固目标是确保编排系统的组件和配置都是符合安全要求的,满足合规性要求,这部分与容器加固一样,主要处于防护阶段。
9、零信任与传统面向网络的授权和访问控制不同,它主要是面向应用的,因此将其置于服务应用层。它主要是处于防护阶段,但“永不信任,随时验证”的理念又要求其在检测阶段需要持续评估上下文,因而也会有部分在检测阶段。
10、云原生应用是云原生生态的重点,应保证其在运营阶段功能正常,不被攻陷。
11、云原生场景下服务被拆分成众多微服务,有些通过服务网格形成了Ad-hoc的连接模式,相关的安全机制也会出现一些变化。
12、无服务器计算是云原生场景下的一种创新计算模式,对应的风险和安全机制与普通的云原生应用和微服务也有所不同。
以上是从DevSecOps的角度来看云原生安全体系,如果从其他维度,则会看到不同的架构图,这都是正常的。