APP下载

基于云原生的安全防护策略

2021-03-16

通信电源技术 2021年19期
关键词:镜像虚拟化容器

姚 娟

(湖北邮电规划设计有限公司,湖北 武汉 430070)

0 引 言

云计算技术不断发展成熟,其作为新基建中信息技术基础设施的重要部分组成,成为数字化转型的重要支撑。云计算的应用加速了从互联网行业向政务、医疗、金融以及工业等传统行业的渗透,但同时对其安全性提出了更高的质量要求。

1 计算技术的发展

云计算技术于2006年提出并不断的迭代更新,其早期的核心是虚拟技术,为云计算提供了系统虚拟层面的支持。通过服务器虚拟化、存储虚拟化以及网络虚拟化实现硬件基础设施的集约化建设,但仅把部署在物理机上的业务迁到虚拟机上,并未充分体现云端强大的服务能力。

如何让应用最大程度地利用云的能力,发挥云计算的价值,基于云化架构的特点定义一条最佳路径成为行业的迫切需求。近年来,云原生架构应运而生,以容器、微服务以及DevOps为代表的云原生技术可以为业务提供更高的灵活性和可移植性。未来,云计算的应用场景将从资源优化转向效能提升。

从技术角度来看,云原生是一类技术的统称,基于此可以构建更易于灵活扩展的应用程序。从业务角度来看,云原生可以带来更快的业务响应速度和高效的需求实施,有效缩短应用程序交付周期,更快地将需求转化为代码,再将代码转化为在线应用程序,最终为用户服务[1]。

云原生架构主要特性主要包括以下几个方面。一是容器化封装,云原生技术架构以容器技术为基础,可实现毫秒级的弹性需求响应,相较于传统虚拟机分钟级的弹性需求响应有了很大提高,而且在容器中作为独立的应用程序部署单元运行应用程序和进程,以实现高水平资源隔离。二是动态管理,通过集中式的编排调度系统来快速构建跨多个容器的应用服务,可实现应用故障的自动排除和重构,自愈能力强,可任意处理,另外大规模复制能力可实现跨区域、跨平台甚至跨服务提供商的大规模复制和部署能力[2]。三是面向微服务,服务松耦合,通过标准的应用程序接口(Application Program Interface,API)进行通信。

2 云原生存在的安全风险

传统安全更多的是基于边界,以Mac为标识来进行访问,在流量的出入口设置一个防火墙,解决大部分的安全问题。到云安全这个阶段时,业务可随时随地接入,因此传统的安全防护形式已不适用,因此开始基于网络之间互连的协议(Internet Protocol,IP)来进行防护,这种模式下可以防护所有的虚拟机。云原生阶段,云原生技术架构充分发挥云效能的同时,也带来了新的安全需求和挑战,容器化部署使得东西向流量加大,服务的力度会变得越来越细,原来基于IP的防护方式也不能满足需求,要实现对云原生技术架构和大规模应用的全面保护,则需要更细粒度的应用层保护。

隔离性方面包括设备隔离、文件系统隔离、进程隔离、进程间通信隔离、网络隔离以及资源限制等,是Docker容器技术与传统虚拟化技术在运行时安全性差异的主要体现[3]。在Docker容器环境中,操作系统内核由多个容器共享,并且容器只是运行在主机上的若干进程,因此其安全性,特别是隔离性,与传统虚拟机存在一定的差距。根据Docker容器的主要特点并结合其在安全应用中出现的实际问题可知,存在的技术性安全风险可以分为东西向的攻击、镜像安全风险以及容器虚拟化安全风险等,下面进行具体分析。

2.1 东西向的攻击

无论是物理设备还是虚拟机,都难以完全避免存在的网络安全风险,这是互联网上所有信息系统面临的重要风险。较传统网络,容器网络环境中的网络安全风险显得更为复杂严峻。如果在容器组之间、容器网络与物理网络之间没有做好网络权限管控,外网攻击者就能通过东西向流量在集群网络内部的实例之间进行横向攻击,在集群中造成威胁[4]。

2.2 镜像安全风险

镜像用于创建一个或多个容器,其安全性将会影响容器安全。Docker镜像的安全风险存在于创建过程、获取来源以及获取途径等各个方面,Docker容器官方镜像仓库Docker Hub是一个完全开放的平台,其中的镜像数量丰富、版本多样,但质量参差不齐,可能由个人开发者上传,甚至包含恶意漏洞的恶意镜像,因而可能存在较大的安全风险。

2.3 容器虚拟化安全风险

Docker容器不拥有独立的资源配置,且没有做到操作系统内核层面的隔离,与传统虚拟机相比,其不完全的资源隔离和不充分的资源约束可能会导致安全风险。

3 云原生的安全策略

云原生时代的到来引入了新的安全风险,因此需要搭建一个真正端到端的纵深防御的云原生系统,将安全与云计算深度融合,帮助业务系统安全上云,让云计算成为更加安全的新型基础设施[5]。

云原生安全包括两个层面的意思,一是云平台安全原生化,二是云安全产品原生化。云平台安全原生化是充分利用云计算分布式存储、资源统一管理以及网络虚拟化等特性,有效规避部分安全风险,实现数据高可靠性、安全管理统一化、流量隔离与精细控制等能力。前置安全管理,云服务商从研发阶段关注安全问题,采用内嵌的方式而非引流外挂,将安全组件内嵌融合于云平台实现云安全产品原生化,解决云计算环境和传统安全架构割裂的痛点。此外,充分发挥云平台原生的资源和数据优势,有效地与用户云资源以及其他原生安全产品联动,以解决云计算特有的安全问题。

云原生整体安全框架包括网络安全、计算环境安全、应用安全、数据安全以及安全管理等5个方面,如图1所示。

图1 云原生安全框架

3.1 网络安全

网络安全主要体现在网络访问控制、网络攻击检测与防御以及网络隔离3个方面。网络设备的访问要明确授权机制和安全的双、多因素认证机制,做到最小化的网络访问权限控制。访问控制权限策略变化需要有平台化的审核、授权流程以及操作的审计记录,基于类似访问控制列表(Access Control Lists,ACL)的策略进行实现,允许或禁止两个实体间通信,实体可以是集群、节点、租户、命名空间、容器或者IP地址段[6]。此外,云原生平台应支持细粒度的控制,阻断南北向和东西向攻击,具体实现方式包括IP Tables和Network Policy等,而且可以根据实际需求选择白名单模式或黑名单模式。

在基础网络攻防层面,通过内置在云平台的分布式拒绝服务(Distributed Denial of Service,DDoS)攻击防护体系进行流量清洗与流量牵引,通过云防火墙实现云上流量的可信及可控,通过云Web防火墙对Web应用的恶意流量及访问行为进行检测和拦截。此外,内置云平台的网络安全服务组件依托云主机和容器等计算资源,以集群方式提供服务,可靠性高,并且可以按需弹性伸缩,实现安全防护能力的平滑扩展。

3.2 计算环境安全

计算环境安全从镜像安全和容器安全两方面考虑。镜像作为容器运行的基础,安全重要性不言而喻。使用数字签名和https保障容器镜像在下载和上传时的完整性与机密性,无法通过完整性校验的镜像,需通过一定的控制手段阻止部署到容器集群中。此外,镜像需要进行安全扫描,包括安全基线检测、漏洞检测以及恶意镜像检测等内容。对镜像的实例化运行进行防护,针对不安全镜像进行告警或阻断。同时,镜像仓库需要实现用户的身份认证与访问权限控制,避免用户访问其他用户的镜像资源[7]。

3.3 应用安全

微服务架构将关联的业务逻辑及数据放在一起形成独立的边界,云原生基础架构应基于零信任理念,默认微服务之间没有信任,所有的微服务均需要有身份及合理的权限配置,所有的互访均需要认证鉴权[8]。

根据业务需求,提供细粒度的内、外部服务认证,支持单点登录(一次登录,全部访问)和第三方授权登录等功能。为了获得授权,需要一个集中的架构来提供和执行管理所有微服务的访问策略,微服务需具备网关对服务请求的控制能力。用户与服务(南北向)以及服务与服务(东西向)之间的安全通信使用安全套接层/传输层安全(Secure Sockets Layer/Transport Layer Security,SSL/TLS)建立安全的连接,针对运行中的代码以及服务或接口的动态扫描。

3.4 数据安全

数据安全防护策略需要与云原生架构相结合,主要包括3个方面。首先,需要对云上数据进行发现和分类治理,针对敏感数据和重要数据制定相应的保护策略。其次,在数据传输存储的整个过程中,应使用加密技术对上述数据进行加密和脱敏保护,通过密码技术保障数据的完整性和机密性。最后,通过身份认证、角色管理等手段对数据获取权限进行统一管理,完善对数据访问的控制能力,监测应用程序接口(Application Program Interface,API)安全状态及数据泄露风险,最终形成云原生数据全生命周期的安全防护。

3.5 安全管理

安全管理以身份为中心,进行动态访问控制,处理数据访问和认证验证,分别作用于应用程序的数据平面和网络通信的控制平面。终端用户通过控制平面发起访问请求,经身份认证及授权,获得许可后方可访问数据平台的数据,从而建立一次可信的安全访问链接,主要原则如下文所述。

一是身份访问控制,构建基于身份的访问控制体系,对网络、设备以及应用用户等对象赋予数字身份。二是最小权限原则,资源按需分配使用,限制资源的可见性,给予执行任务必要的最小特权[9]。三是实时访问控制策略,通过实时计算终端用户的身份与权限等信息,形成访问控制策略,每当授权决策依据发生变化时就会重新计算,必要时会变更授权决策。

4 结 论

云原生技术因其敏捷、轻量等特性,在推进业务上云方面具有不可替代性,但是为了提高效率也牺牲了隔离等安全性能。云原生安全涉及到镜像安全、容器安全以及网络安全等各个层面,在业务上云时,对安全风险进行充分评估,根据应用场景制定相应的安全防护策略。

猜你喜欢

镜像虚拟化容器
Different Containers不同的容器
镜像
难以置信的事情
基于OpenStack虚拟化网络管理平台的设计与实现
镜像
对基于Docker的虚拟化技术的几点探讨
虚拟化技术在计算机技术创造中的应用
存储虚拟化还有优势吗?
取米
镜像