基于容器技术的艺术院校招生系统微服务架构安全应用*

北京电影学院 张亮

容器是在新环境(例如测试环境)中运行软件的一种流行的解决方案。它“包含”整个运行环境,其中包括应用程序、所有依赖项、配置文件和库。从信息技术角度讲,“容器”在很多方面都优于虚拟化技术,组件依赖性较弱,所需数量更少,运行时对资源的需求更低。这些特征使其在高校数字校园应用建设中,特别是艺术类院校招生系统建设中具有更大优势,由于我国艺术类院校具有专业校考环节,招生系统随招生政策及人才选拔要求的变化而不断变化,基于容器技术的微服务IT架构能很好满足招生业务需求。容器环境下,“单进程模型”虽完美契合了应用架构微服务化的未来趋势,且容器化程度的不断提高使架构演进更加可靠成熟,但它对应用巨大的侵入性使其无法在有着复杂多样存量应用的大规模场景顺利落地。因此在艺术院校信息系统应用中,容器安全问题伴随业务系统架构的不断升级,逐渐受到更多重视。

微服务架构由多个“微服务”组成,因此开发对象将由“库”变为“微服务”,这与其他软件开发方式有很大不同。单个微服务对应单一、独立的业务功能,并且只对“必须的”操作进行定义。整体上看,软件会被解耦为多个小片段,每个片段功能相对独立,彼此不会发生关系,如此一来,当有故障发生时,便不会影响整个软件运行,微服务架构会第一时间响应请求,并针对故障问题做出快速变更。容器的作用在于,它能够针对解耦做进一步扩展,使软件与底层硬件彼此分离,这样,微服务的充分分解应用程序目的便能顺利达成,开发和部署会变得更加敏捷[1]。

微服务与ESB具有明显差异性,与ESB相比,微服务可以实现服务间的交互,并不包含规范化数据建模,也不会对同级别接口进行控制。ESB则不同,它包含着大量差异性内容,如模式验证、消息路由等。相比之下,微服务架构更适合艺术院校业务系统的开发使用。在开发速度上,微服务优势更加明显,其服务衍变只需匹配业务需求即可。微服务架构特性包括以下4个方面。

1.1 独立部署

微服务架构下,微服务运行进程表现出明显的独立特性,针对任何一个微服务都可进行独立部署。传统架构则不同,无论变更对象有多小,都需要重新构建和部署整个架构。显然,微服务架构所具有的独立部署特性,使其更优于传统架构,更能满足应用需求,节省时间的同时,也提高了运行效率,同时也最大限度保证了系统环境安全性。

1.2 技术选型灵活

除独立部署外,微服务架构还具有技术选型灵活特性。它可以针对发展现状和实际需求来选择技术栈,并且被选择的技术栈通常都是最合适、合理的。更为重要的是,当需要升级技术栈时,需要承担的风险会更低,即便重构微服务也是十分容易的,这些都与微服务的简单性有直接关系。

1.3 容错

相比传统架构,微服务架构具有更强容错性。传统架构下,单组功能出现故障后,极易影响其他组进程,进而使整个应用无法正常运行。但微服务架构不同,一旦单个服务功能发展故障,会被第一时间进行隔离,使其他服务不会因故障影响停止。

1.4 扩展

微服务架构下,单个服务彼此独立,并且都能得到有效扩展。一旦各组件表现出明显的扩展需求差异时,微服务架构便会根据不同组件需求进行灵活调整。

容器作为学校业务系统重要的承载环境,其安全性和稳定性至关重要,可以从容器部署环境和容器自身架构安全方面进行分析,进行有针对性的安全防护保障。

(1)保护容器管道和应用。容器管道保护一般分为收集镜像、管理访问权限、整合安全测试和自动化部署等4项内容。由于“容器”是在一定数量文件创建过程中出现的,所以这些文件也被称作“容器镜像”。而对于容器安全来说,确定基础镜像的可靠性,提高可信程度就变得十分重要。但在实际应用中却发现,镜像的可靠性一般很难得到充分保证,随着应用添加行为地增加,以及配置更改次数的增多,变数就会越大[2]。因此,在高校教育应用中,内容管理强度与外部内容引入频率通常是相辅相成的。访问限制和升级一般在“镜像”获取之后,这就意味着,已构建成功的镜像需要受到严格保护。参考一般业务系统的分权控制机制,根据不同用户身份来控制访问权限是一种稳妥的保障思路,可通过配置文件来进行配置,保障元数据安全可控。

(2)容器的基础运行环境是容器安全的基础。容器自身的设计架构安全性是比较有保障的,主要利用主机操作系统(OS)提供的隔离,而若要使容器平台的弹性得到进一步加强,通过网络命名空间来隔绝应用和环境,被认为是比较好的一种方式,同时也能够实现附加存储。

根据笔者的调研,Docker是目前高校业务系统探索容器化改造应用技术最广泛的容器技术之一,其技术架构非常契合高校业务系统进行微服务架构改造建设的总体趋势。相比其他容器平台,Docker并不具有很强的IaaS和PaaS边界性,甚至在某种程度上会使它们模糊化,这是其众多优点之一。除此之外,还包括部署与测试的持续性,以及支持跨云平台。关于Docker容器安全性,Docker容器技术相比传统虚拟化技术也具备独立的安全特性,包括不同容器进程之间独立运行,具有各自独立的网络环境,文件系统高度隔离等特点。在Docker容器环境中,各容器相当于运行在宿主机上的若干特殊应用程序,这些应用程序将共享宿主机操作系统资源包括运算处理器、内存等,有别于传统虚拟化完全虚拟出一个独立的操作系统环境不同,不同容器进程间的安全隔离特性与传统虚拟化方式相比天生具备理论差距,这点不可避免[3]。

Docker容器安全风险主要包括3方面内容,即镜像安全风险、容器虚拟化安全风险、网络安全风险。因篇幅有限,本文仅介绍前2种安全风险。

4.1 镜像安全风险

4.1.1 镜像创建过程分析

通过分析Docker镜像不同的打包方式,我校在进行业务系统容器化改造中为了去报最小安装原则,采用Dockerfile文件构建容器镜像,在基础镜像上只打包必要的应用依赖环境,随着业务系统的需要不断添加完善。

4.1.2 镜像漏洞分析

镜像漏洞目前在市场上是广泛存在的,根据调研目前已发送多起在Docker镜像中植入数字货币挖矿恶意程序的镜像,损害Docker容器用户利益,不法黑客利用容器漏洞可获取容器高级别的管理权限,用于数据窃取或挖矿等行为进行经济获利。对于已知漏洞,可及时进行镜像补丁更新进行漏洞安全加固,对于未知漏洞,可结合外部网络安全防护措施进行保障,比如在宿主机上部署杀毒软件,在宿主机对外的通信网络关键节点上部署APT防护系统等,多种安全防护措施协同保障容器安全。对于学校而言,容器镜像的安全至关重要,是一类或多类重要教学、管理业务系统的底层运行环境,一旦环境安全得不到保障,对业务系统稳定性、重要数据的安全性都会造成重大威胁,可能酿成重大安全事件,造成不良社会影响。

4.1.3 镜像仓库安全分析

镜像仓库的安全包括镜像仓库自身环境安全以及镜像获取过程中的安全,获取过程中又涉及镜像完整性安全、传输安全等。对于镜像仓库环境安全,对Docker容器技术在高校的应用需要特别注重,因为我校业务系统众多,部分业务涉及校职工及学生敏感数据,私有镜像仓库的建立必不可少,不同于公有云环境可由公有云供应商保障镜像仓库环境安全,学校的私有镜像仓库必须由自身进行保障,一旦被不法黑客所控制,那么其中所有镜像的安全性将无法得到保证。对于镜像获取过程中的安全,可通过在我校私有镜像库和用户端采用加密链路传输来保障传输安全问题,目前通用的明文传输方式在传输过程中容易遭受中间人攻击,造成镜像被非法截取,非法篡改植入恶意代码,最终给业务系统带来安全风险,镜像仓库也可基于国密算法进行镜像的加密存储、完整性校验,持续保障镜像安全可靠。

4.2 容器虚拟化安全风险

容器虚拟化安全主要涉及容器隔离、容器逃逸攻击等问题。

4.2.1 容器隔离

Docker容器相对传统的虚拟化技术,不同容器之间共享宿主机的运算处理器、内存、操作系统等资源,理论上可能存在容器与容器之间、容器与宿主机之间安全隔离不当的安全风险,造成不同应用系统直接数据非法传输、网络非授权访问、进程间非必要通信等问题。

4.2.2 容器逃逸攻击

容器逃逸攻击指的是容器利用系统漏洞,“逃逸”出了其自身所拥有的权限,实现了对宿主机和宿主机上其他容器的访问。由于容器与宿主机共享宿主机的运算处理器、内存、操作系统等资源,为避免容器获取宿主机高级别操作权限,可规范容器使用操作流程,未来我校在容器部署应用中要求操作人员不许采用特权模式运行Docker容器。

5.1 镜像安全保护方案

如前面所述,容器是基于具体的镜像内容来进行构建的,而镜像又是由从不同路径所获取的文件所组成的,任何一个带有恶意性的文件存在于镜像中,或镜像本身存在未被察觉的漏洞,容器安全自然会受到威胁。显然,容器安全由镜像安全直接决定。

5.2 容器虚拟化安全保护方案

容器虚拟化安全保护的主要内容是保护容器的部署环境和基础架构,利用主机操作系统(OS)提供的隔离对主机和容器进行保护。

5.2.1 利用访问控制机制对容器部署环境和基础构架进行保护

SE Linux全称为安全增强式Security-Enhanced Linux(SE Linux),一般Linux发行版本都默认带的功能,在开启SE Linux的情况下(Enforcing模式),可通过在系统内核中实现强制存取控制(MAC)安全性机制,让所有访问默认是被拒绝的,类似防火墙可设置开启白名单功能,SE Linux可通过配置例外策略实现部分系统服务、进程、用户等具备有限的系统资源访问权限[4]。对于我校招生系统而言,这样的设计能够在很大程度上解决考生资料泄露的问题,考生报名时所填写的信息也将很难被篡改。

5.2.2 容器资源隔离与限制

在资源隔离方面,Docker基于Namespace机制实现容器与容器之间、容器与宿主机之间应用程序、数据资源、网络资源、文件系统的相对独立,这是一种在充分利用宿主机上环境资源的基础上较为合理的安全设计。

在资源限制方面,在笔者调研实验中基于CGroups实现宿主机上不同容器的资源访问限制与数据调用审计,包括对运算处理器、系统内存、硬盘I/O、网络资源等IT基础资源进行适用性调整,有效防止单个容器耗尽所有资源造成其他容器或整个宿主机的拒绝服务安全风险,保证所有容器的正常运行。

根据笔者在工作中的实际分析,与虚拟化技术相比,基于Docker容器技术对招生系统进行微服务架构改造,具有节约成本、易维护、安全性高等特点,尤其面对艺术类院校招生系统每年随着政策变化的客观现状,容器系统可实现测试环境与正式生产环境的业务系统的快速迁移同步。容器技术对于集约高效设计理念相比传统虚拟化技术弱化了部分安全隔离特性,而且由于自身的设计理念、部署方式、应用特点还引入了部分新的安全风险,涉及到本文提到的容器镜像漏洞安全、镜像仓库安全、资源共享访问安全、网络隔离安全等各个层面。艺术院校招生系统的安全稳定性要求不言而喻,在应用容器技术进行系统部署时,应充分评估安全风险,根据各学校应用场景进行针对性设计,并结合整个智慧校园环境形成整体部署方案,才可能形成容器技术在艺术院校招生系统安全应用最佳实践。

引用

[1]宋胜攀,刘振慧,庄东燃.开源容器技术安全分析[J].保密科学技术,2021(1):29-35.

[2]李佳曦.基于容器技术的云化平台安全风险与应对分析[J].信息通信技术,2020,14(6):26-31+38.

[3]吴栋淦.Docker容器技术在网络安全实验室的应用研究[J].韶关学院学报,2020,41(6):23-28.

[4]张楠.云计算中使用容器技术的信息安全风险与对策[J].信息网络安全,2015(9):278-282.

猜你喜欢 镜像虚拟化容器 容器倒置后压力压强如何变中学生数理化·八年级物理人教版(2022年4期)2022-04-26镜像当代党员(2020年20期)2020-11-06难以置信的事情读者·校园版(2019年24期)2019-12-10基于OpenStack虚拟化网络管理平台的设计与实现电子制作(2019年10期)2019-06-17镜像小康(2018年23期)2018-08-23对基于Docker的虚拟化技术的几点探讨电子制作(2018年14期)2018-08-21浅析虚拟化技术的安全保障电子制作(2017年7期)2017-06-05H3C CAS 云计算管理平台上虚拟化安全防护的实现电子制作(2017年24期)2017-02-02取米小朋友·聪明学堂(2015年8期)2015-11-30镜像小康(2015年4期)2015-03-31

推荐访问:微服 容器 架构