文 / 中国人民银行抚顺市分行  陈立福 丛琳 陈曦 张航

随着信息技术的发展,云原生以其快速更新的能力、高效稳定、快速响应的特点极大地发挥了云计算效能,为企业数字化转型提供了有力支撑,为业务应用创新提供技术支持。云原生技术架构利用云计算特性改变传统应用设计、开发、部署和运行模式,同时也带来新的安全风险挑战和安全需求。传统的基于边界安全防护机制的防护模型已不能适应云原生技术应用发展,需要构建满足云原生技术应用的全新安全防护模式。

云原生技术发展应用形势

云原生技术应用经历了阶段性发展,促使应用的敏捷开发、迭代及交付效率持续提升,易于开发、降本增效,因此被很多行业视为数字业务应用创新的有效手段。相关报告显示生产环境容器技术采用率创新高,用户纳管集群规模持续增长,服务部署形态趋多元化,混合云部署增长显著。云原生技术以其高效稳定、快速响应等特点被广泛采纳,以容器、微服务等为代表的全新模式的云原生技术,逐步进入规模实践应用。

云原生技术架构改变云端应用的设计、开发、部署和运行模式的同时,也带来新的安全挑战,目前针对云原生的攻击种类越来越多。2018年特斯拉K8s集群被入侵植入挖矿程序事件。Docker大量使用的Alpine Linux被曝有严重漏洞,攻击者可借助其漏洞侵入容器。2019年Docker容器镜像库遭到非法入侵,造成敏感数据泄露。2021年Rapid7遭到Codecov攻击,造成数据泄露。

多数企业认识到云原生安全建设的重要性,并逐步建设从局部到全流程的防护能力构建,但是云原生安全能力建设技术门槛高、人力及运维成本高、研发运维人员参与安全建设等因素。微服务化、多服务实例、资源共享等云原生的特有模式带来了架构安全、权限控制、供应链等领域全新的安全需求,传统基于边界的防护模式无法满足云原生安全的需求,必须进行防护模式的转变。亟需从架构层面及全生命周期构建基于动态工作负载的云原生安全防护模式,满足云原生技术架构的独特属性和应用的规模需求,同时适应不断变化的安全风险。

云原生架构下的典型安全风险

云原生架构的安全风险包含云原生基础设施自身的安全风险,以及云原生应用带来的新安全风险,其中比较典型的是云原生架构下涵盖容器安全、镜像安全等计算环境安全,应用与数据安全,运营安全。

容器化基础设施作为云原生技术应用的重要载体,提供了隔离与封装,因此其自身的安全风险给云原生计算环境带来了风险。容器特性以及持续动态变化使得容器全生命周期存在多种风险。创建容器的镜像作为软件供应链重要环节,镜像来源不可信、基础镜像存在漏洞或包含恶意代码、镜像投毒等,为容器镜像分发部署引入风险。容器运行阶段,配置不当、危险挂载、程序漏洞等导致容器逃逸风险。容器编排管理组件存在漏洞、配置不当存在入侵风险。容器网络管控隔离不合理增加了横向渗透、对集群攻击的风险。容器网络细粒度划分引入了越权攻击的风险。

云原生应用风险继承了传统应用的风险,云原生架构下微服务的增多,API数量激增,微服务间的网络流量多为东西向流量,无法通过传统边界防御的方式检测,带来新的应用风险。云原生环境API爆发式增长增加了滥用风险,针对API的重放攻击、DDoS攻击、注入攻击、中间人攻击、内容篡改、参数篡改等风险增加,身份认证、权限控制、通信安全、攻击防护问题更加显著。API接口作为内外部应用接口,被大量频繁调用,面临接口访问越权、未授权访问、数据泄露等安全威胁,带来了相应的安全风险。

多云、混合云部署下,不同云环境之间的应用存在较大差异,安全工具、安全策略、操作习惯等存在较大的分别,因此用户对庞大的资产进行运维和管理方式难以统一,可能出现安全管理工作的疏漏,并由此引发新的安全风险。大多数云服务商提供的内置服务只适用于自身的云平台,因业务需求驱使采用多云策略时,这种孤岛现象可能导致出现问题,需要采取满足安全需求的有效控制措施。各大云服务提供商提供各自的安全工具供用户使用,但是实现方式差异很大,没有统一的标准,增加了用户学习、使用的难度。同时,不同云之间使用不同的运营术语,也增加了多云环境的安全运营难度。

构建云原生安全防护方案建议

云原生技术突破了传统的安全防护框架,云原生安全思路是构建从开发到运行覆盖全生命周期、多维度一体式云上安全防护方案。实现云原生从底层的基础设施安全,到云原生计算环境安全,再到顶层的云原生应用安全、数据安全、研发运营安全。安全防护模型要求在应用的全生命周期中采用高度自动化、流程化,通过架构设计来确保安全防护方案落地。

构建云原生安全防护模型,遵循安全“左移”设计原则,DevOps的全流程安全左移,从开发到运行全生命周期打造云原生制品安全。云原生制品建设初期,进行安全左移设计,将安全防护更多地放到开发安全。云原生制品安全主要从供应链安全、镜像安全、安全检测和制品环境安全等层面进行安全能力构建。供应链安全,在开发阶段通过对应用程序、代码的安全性进行全面检测,从而发现安全漏洞,确定应用程序是否存在漏洞、恶意代码、后门或非法访问权限。镜像安全,通过镜像安全扫描,帮助用户提前发现容器镜像中的漏洞、恶意代码等威胁,降低安全风险;安全检测,通过安全自动化检测,让应用中的安全漏洞尽早暴露及时验证并修复,降低安全风险。制品环境安全,主要是镜像仓库安全、镜像拉取安全,代码仓库安全,并具备持续交付环境以及制品安全加固的能力。

构建云原生计算环境安全,针对容器安全,通过制定与主机或外部服务之间的访问控制策略、更细粒度的网络隔离、增加网络入侵行为的监控。针对镜像安全,通过镜像扫描、镜像签名、敏感信息扫描,采取镜像仓库访问控制、镜像仓库安全通信等措施,实现镜像、镜像传输的安全。针对编排及组件安全,可以增加自动化安全基线扫描、针对容器集群管理系统的漏洞扫描、敏感信息加密、访问控制的资源隔离与限制。针对运行时安全,应具备资产清点、风险发现、入侵检测与响应处置等方面的能力。为工作负载提供漏洞利用防护、微隔离、风险监测、恶意软件扫描、安全响应等安全防护,保护工作负载免受攻击,对容器进行全面持续的监控,实现精准检测,基于零信任模型,实现自适应安全,阻止攻击。

构建应用与数据安全,实施应用防护和治理。应用防护主要是Web应用和API的防护,包括Web应用防火墙、API保护、Bot防护和DDoS攻击防护,多维度全方位扩展安全防护广度和深度。网络微隔离方面通过流量识别、流量隔离和统计分析,识别云原生网络流量信息及异常,根据流量特征进行精准隔离,并实现不同维度的流量日志的统计分析,实现自动化隔离策略对网络流量的管理。应用治理主要是微服务治理、API的自动发现和API的控制和治理。利用多种工具实现云原生应用生命周期各个过程中的API自动发现,实施API的参数、访问权限等控制。云原生数据安全主要进行数据的分类治理,针对敏感数据和重要数据实施保护策略。在数据传输、存储等全链路使用密码技术,采取数据加密和脱敏保护措施,保障数据的可用性、完整性、机密性。通过身份认证、访问权限控制等方式对数据存取使用进行统一管理,实现云原生数据全生命周期安全防护。

构建云原生运营安全,建立涵盖云原生安全架构和流程等完善的云原生安全标准体系,确保云原生在规划、建设、运营等阶段的安全,以应对云原生面临的安全风险和挑战。依托云原生安全服务,构建一套完善的监控、检测体系,在云原生环境DevOps流程中嵌入云原生安全产品或工具实现安全控制高度的流程化、自动化,对DevOps工作流实现检查、安全风险分析、控制策略设置和提供安全控制,实施安全问题修复、跟踪管理,具备全局安全管理能力,实现统一监测和统一管理,实现应用开发与运营全生命周期的安全管理。通过安全运营管理打通组织管理上壁垒,实现持续集成和持续交付,对云原生安全及时响应、阻断、加固,采用自动化的流程与手段,提高处置效率,并做到安全事件溯源。

声明:本文来自金融电子化,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。