我是来自于公安部第三研究所检测中心的陈妍。
非常高兴能和大家来一起分享CSA云安全联盟的一个标准,标准名字叫《云原生安全技术规范》,也是第一次对外跟大家分享该标准。
本次分享的内容分为四个部分
第一部分:云原生的基本概念
第二部分:云原生的安全问题
第三部分:云原生的安全框架
第四部分:云原生的安全建议
第一部分,先看云原生,它的英文缩写是Cloud+Native,是一个组合词,其中cloud就是我们的云。指的是说这个运用程序是运行在云计算环境中的。Native,它是一个原生的,或者是本来就是这样子的(含义),这个指的是说应用程序在设计之初,就已经充分考虑了云计算的弹性和分布式的特性。
所以,在云原生的架构下,现代的IT快速发展,并且迭代非常快,开发也需要非常的迅速,通过这样的云原生架构可以降低整个IT的成本。
2015年,云原生计算基金会成立。
基金会主要是在推动以容器为中心的云原生系统,它给出了目前被广泛接收的一个云原生的定义,定义是指云原生技术。它用在哪里?它是指有利于各组织在公有云,私有云和混合云等新型动态的一个环境中去构建以及运行可弹性扩展的应用。
其实要掌握云原生,需要了解容器,要了解服务网格,要了解微服务,要了解什么是不可变的基础设施以及声明式API,通过了解这些技术,会对云原生有比较深的了解。通过这样的一些技术,能够去构建容错性好,易于管理和便于观察的一个松耦合系统,结合可靠的一些自动化手段,云原生的技术让工程师也能够适应现代IT环境的快速迭代,以及敏捷开发的变化。
2013年,Pivotal公司首次提出了一个云原生的概念,当时提出这个概念是为了区分为云而设计的应用,以及云上部署的一个传统应用。
2017年,Pivotal公司在最新的官网上对云原生的概念进行了概括,主要是分为四个点,包括微服务,DevOpS,持续交付以及容器。
在微服务的架构下,应用的各个服务其实可以独立的去开发、部署、更新和扩容,这样更好地利用了云计算按需分配和弹性扩展的特性。其中的DevOps,就是让开发,测试和运维能够相互的融合,从而可以实现快速的编译、自动化的测试、部署、发布和回滚。它为微服务的架构提供了技术的支撑,而持续交付指的是说在DevOpS开发运维一体化的支撑下,能够去更快更敏捷地进行软件的开发、测试、部署和升级,从而实现持续地交付。
最后的一个容器,其实是一个轻量级的一个虚拟机,它和虚拟机不一样的是,它共享我们宿主机操作系统的一个内核,具有轻量化的特点。它能够和编排系统一起实现,实现我们快速启动、按需服务、弹性扩展,是微服务的一个底层的基础设施。
当然随着技术的发展,为了更好地开展云原生治理和应用,可以说云原生到了2.0,它出现了向服务网格,无服务器计算这样的一些概念。
接下来,我们来看一下云原生面临的安全问题。
云原生经过了这些年的发展,它已经成为云计算市场的宠儿,它解决了非常多在传统的IT架构中部署困难,升级缓慢,架构复杂等等问题,但同样也面临了非常多的安全风险。比如说像特斯拉K8S的容器集群被黑等等这一系列针对云原生安全事件发人深省,让大家非常关注云原生的安全。
云原生安全一般来说包含两层意思,第一层就是云原生环境的安全,第二层是利用云原生的安全。那什么是云原生环境的安全呢?它指的是采用相应的一些措施去保护云原生环境。这种安全措施是多种多样的,它可以用传统的一些安全防护产品,我们都知道的防火墙,IPS安全审计等等。
另外,也有利用云原生技术的安全,采用了云原生弹性扩展,按需分配等等特点,利用这些特点,来进行安全产品的设计开发和部署,这样让这些安全产品能够不在云原生的环境中,同样也可以为传统的IT架构来提供安全防护。
未来我们觉得云原生环境一定是会采用了云原生技术的安全,上述两种相互融合成为一个整体。在云计算环境中的安全,一般也是采用云计算技术的安全,采用云计算技术的安全,也能够为云计算环境的安全去添砖加瓦,从而实现我们想要的持续交付,持续安全,达到业务和安全齐头并进这样的一个特点。
下面,我们来分析一下云计算环境下不同层次的一些安全。
先看容器安全,容器作为微服务的主要载体,前面讲过是底层基础设施,但是因为它要适应应用的快速部署和迭代,容器也有很多的特点,比如说它的数量非常的庞大,相比于传统的服务器和虚拟机,它的生命周期也非常短暂。它可能宕机了,或者是因为什么原因,它马上就关闭又重新起来,那而且在容器的一个新建和消失的过程中,用于标识容器的IP名称可能都会发生变化,传统的一些安全产品,是基于IP的一些访问控制,那这样的特点,它其实对于我们基于IP的一个访问控制是一个比较大的挑战。那我们也通过分析容器面临的一些安全,提出需要考虑容器镜像的安全、容器间流量和访问控制的一个复杂性带来的一些安全挑战、以及逃逸的风险、配置过于复杂带来的安全风险、以及特权容器的一个权限控制,这是容器安全面临的一些挑战。
再来看看编排系统,我们知道编排系统是配合容器的。它是容器的大脑,可以提供用户所需的一些部署,容器的部署管理和扩缩容等等编排的功能。大家都耳熟能详的K8S其实就是最为广泛使用的一个容器的编排系统。编排系统的安全问题同样对云原生的安全影响非常大,主要考虑的安全问题,其实我们可以想到的就是比如说我们一些不安全的配置,因为它是容器的大脑,如果配置不安全,就会造成容器运行时存在安全的风险。包括我们的容器编排系统存在的漏洞,然后包括敏感数据被获取、横向移动、远程控制和持久化驻留等一些安全挑战。
再来看看编排系统,我们知道编排系统是配合容器的。它是容器的大脑,可以提供用户所需的一些部署,容器的部署管理和扩缩容等等编排的功能。大家都耳熟能详的K8S其实就是最为广泛使用的一个容器的编排系统。编排系统的安全问题同样对云原生的安全影响非常大,主要考虑的安全问题,其实我们可以想到的就是比如说我们一些不安全的配置,因为它是容器的大脑,如果配置不安全,就会造成容器运行时存在安全的风险。包括我们的容器编排系统存在的漏洞,然后包括敏感数据被获取、横向移动、远程控制和持久化驻留等一些安全挑战。
再来看一下服务网格,服务网格被认为是下一代的微服务架构,它主要就是对服务进程间的通信进行管理。它是一个进一步的技术,它是云原生的发展和延伸,我们知道的一个Istio就是一款典型的微服务管理和服务网格的框架的项目。
当然有新技术必然会有一些风险,必然再对它进行设计和部署。主要考虑的安全风险包括我们通信的一些安全,然后就是南北向和东西向的认证授权和访问控制等等。
还有最上面的一层,比如说无服务器计算也是近来非常火的,其实我们今天也有嘉宾会分享无服务器计算这一块。无服务器计算是什么呢?它并不是说没有服务器了,只是说不需要考虑服务器,是在不考虑服务器的情况下构建并运行应用程序和服务,这样可以让我们的开发者不需要去管它,不需要去关注底层的基础设施以及设备的管理。
无服务器计算不是说完全没有服务器,只是说这个服务器是由服务商来进行一个管理的。无服务器计算也是新的云原生的模式,也面临很多的安全问题,包括无服务器计算里面可能会用到函数,那它会需要去考虑一些复杂和流动的攻击面、数据注入、非授权访问、操作不可见和我们无法溯源,因为没有服务器,可能溯源上会有一些困难,需要有一些新的考量。
还有最上面的一层,比如说无服务器计算也是近来非常火的,其实我们今天也有嘉宾会分享无服务器计算这一块。无服务器计算是什么呢?它并不是说没有服务器了,只是说不需要考虑服务器,是在不考虑服务器的情况下构建并运行应用程序和服务,这样可以让我们的开发者不需要去管它,不需要去关注底层的基础设施以及设备的管理。
无服务器计算不是说完全没有服务器,只是说这个服务器是由服务商来进行一个管理的。无服务器计算也是新的云原生的模式,也面临很多的安全问题,包括无服务器计算里面可能会用到函数,那它会需要去考虑一些复杂和流动的攻击面、数据注入、非授权访问、操作不可见和我们无法溯源,因为没有服务器,可能溯源上会有一些困难,需要有一些新的考量。
通过分析我们云原生的一些安全问题,我们也给出了云原生的安全框架。
通过这个框架,可以明确云原生这样的一个系统应具备的安全技术或能力。这个框架中我们可以看到,它的横轴是开发运营的安全,涉及了需求设计,开发运营阶段,细分可以分为需求、设计、编码、测试、集成、交付、防护、检测、响应。因为考虑到响应在不同的云原生技术中差异性比较大,所以在我们这个标准中是不涉及响应的阶段,其他阶段都有涉及。而纵轴呢?是按照我前面分析到的云原生系统五块的安全风险,进行整个标准的设计,我们可以看到最底层的容器、基础设施的安全、容器编排平台的安全、微服务的安全、服务网格的安全还有无服务器计算的安全。
我们再看一下这个框图,先从云原生安全的视角,可以看到这个框图里面它有不同的颜色。云原生系统各层所需要的安全是我们纵坐标的这些,它对应的是我们图中蓝色标注的部分,从DevSecOps的这样的一个视角涉及的能力范围其实是涵盖了横轴的各个阶段,对应我们图中紫色的部分。云原生安全体系其实它不同的层次都有一些通用的要求,比如说像认证授权、监控追踪、日志审计,那这一部分是在我们的黄色标注的部分。我们通过这样的一个安全架构,也给出我们不同层次的一个能力要求。
在容器基础设施安全这个层呢,它主要是会去考虑内核,容器安全的配置、容器安全的加固、容器运行时安全、镜像安全、仓库安全以及我们通用的日志审计、监控追踪、认证授权等。我们也给出了比如说像容器编排平台的安全,因为我们前面讲到过容器编排安全,它可能面临的风险,包括配置,然后配置漏洞等等,所以我们在这里会提到了配置的核查品,安全的加固以及密钥管理等等相关的一些内容。还有包括微服务,我们会关注微服务之间的一个API的安全,然后应用的安全。AIP安全会细化到云原生的API网关,API的脆弱性评估等等。服务网格主要还是我们的认证日志,监控和配置核查。然后提出无服务器计算的安全,包括了无服务器的应用安全,平台的一些安全。
云原生作为云计算深入发展的产物,其实已经在我们的各个领域得到比较广泛的应用,而且和5G、人工智能、大数据也都有很好的结合。
以容器编排系统,微服务为关键技术的云原生系统,也是因为具有快速的迭代,敏捷的开发,降低成本等等特点,被广泛的部署。然后我们其实也经常会听到有一些云原生安全的事件,特别是容器,因为容器的安全其实需要有它自己的安全,能安全的配置。
目前阶段还需要外界的一些安全产品或者是安全方案的支撑。对于容器的安全考虑的不是特别多的情况下,其实会发生很多的攻击事件,这些攻击事件让大家对于云原生的安全也是关注度非常高。在这种情况下。其实我们认为对云原生系统进行一个整体的安全评估是非常重要的,这样子能够给客户,用户建立一定的信心。
我们其实也在云原生这一块做了很多的工作,比如说我们中心立项的一个公安行业标准,就是《容器安全监测产品安全技术要求》,这个标准主要就是关注容器的一个安全。标准会从容器的镜像、容器运行时的安全、编排的安全以及自身的安全四个方面对于容器安全监测产品提出了相关的一些功能要求。
此外我今天介绍的我们整个云原生安全的框架,是我们中心和国际的云安全联盟,也就是CSA以及云计算厂商和安全厂商一起编制的。这个规范它建立了云原生安全的框架,而且我们讲到它从横坐标和纵坐标,是从开发运营安全和云化系统安全两个维度来考虑安全机制,然后提出了五个部分的安全要求,这五个部分也是涵盖了开发和运营各个阶段的,能够为云原生类的产品厂商和甲方去构建安全的云原生产品和系统提供一些参考和指导。
我们其实也在云原生这一块做了很多的工作,比如说我们中心立项的一个公安行业标准,就是《容器安全监测产品安全技术要求》,这个标准主要就是关注容器的一个安全。标准会从容器的镜像、容器运行时的安全、编排的安全以及自身的安全四个方面对于容器安全监测产品提出了相关的一些功能要求。
此外我今天介绍的我们整个云原生安全的框架,是我们中心和国际的云安全联盟,也就是CSA以及云计算厂商和安全厂商一起编制的。这个规范它建立了云原生安全的框架,而且我们讲到它从横坐标和纵坐标,是从开发运营安全和云化系统安全两个维度来考虑安全机制,然后提出了五个部分的安全要求,这五个部分也是涵盖了开发和运营各个阶段的,能够为云原生类的产品厂商和甲方去构建安全的云原生产品和系统提供一些参考和指导。
最后跟大家讲一下前面讲到的两个认证机构,以及我们一个测评机构简单的介绍。公安部第三研究所安全防范与信息安全产品及系统检验实验室是1988年的时候成立的,是国内最早做网络信息安全或者网络安全相关的一个实验室,是第三方的一个测评机构。我们中心也是经过了国家认监委的一个计量认证合格,并通过了中国合格评定国家认可委员会的一些认可,是第三方具有公正地位的面向社会的开放型的一个检测机构。覆盖的范围也是非常广的,其实不仅仅包括我们的信息安全,其实主要还包括信息安全产品的销售许可、等级保护、等保人员的培训、然后体系的建设、能力的审核、还包括了像防盗报警、视频监控、电磁兼容和安防等等相关的内容。中心也做了非常多的科研项目,这是我们其中的一个认证机构的简介。
国际云安全联盟创建于2008年,也是国际上的对于云安全这一块关注非常多非常大的一个机构。其实在2021年七月份的时候,在网信办、工信部和公安部的支持下,作为网络安全类的首家在中国境内备案的一个境外的非政府组织,然后也有许多的会员。
最后,测评机构就是国家网络与信息系统安全质量检验检测中心,也是同样的在国家人监委的授权下,依托公安部第三研究所在2015年成立的第三方测评机构。它会做非常多一些新业务的工作,所以我们这次的认证其实就在我们国家中心的支持下来开展的。
今天的分享就到这里,谢谢大家的观看。