云原生技术成为近年来炙手可热的话题,是业务创新发展的重要驱动力。随着云原生产业规模不断扩大,云端应用在整个生命周期中的每一个阶段都面临着不同的安全挑战,企业需要在安全的架构下设计DevOps流程与工具。
2021年9月8日,悬镜安全携手青藤云安全联合举办“云原生技术体系构建与创新应用”主题直播。悬镜安全合伙人、华东区技术运营负责人周幸带来《云原生下的IAST落地实践》主题演讲。
内容摘要:
-
云原生概述
-
云原生下的应用安全
-
IAST简介
-
IAST结合容器化和微服务
-
IAST结合DevOps流水线
-
思考与展望
周幸悬镜安全合伙人华东区技术运营负责人
【演讲实录】
01云原生概述
云原生计算基金会(CNCF)的定义:
-
“云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。
-
云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。目前大家比较常用的可能是容器、微服务。
-
云原生对技术也提出了一些要求。它要求这些技术能够很好地构建容错性好、易于管理和便于观察的松耦合系统。
-
云原生下要结合现有可靠的自动化手段,使工程师们能够轻松地对系统作出频繁和可预测的重大变更。
云原生应用的三大特征:
第一,容器化封装。不同于以往应用运行在云主机、虚拟主机上,随着容器化的推广,允许应用以容器为基础,在容器中运行,同时可以结合微服务,作为应用程序部署的独立单元。
第二,动态管理。通过集中式的编排调度系统来动态的管理和调度,比如常见的K8s。
第三,面向微服务。明确服务间的依赖,相互解耦。以往通过前端应用和后端服务结合提供相应的功能,比如点击一个页面,从请求到响应,所有功能集成在一个后端应用完成,而现在通过微服务将原有的功能切割成模块化,形成微服务模式。
为了实现云原生应用的三个特征,云原生需要四种能力:
首先,应具备提供微服务的能力,应用之间通过RESTful API的方式进行通信,在按功能和模块划分之后,将原有的应用进行解耦合,使服务具有更强的去耦合凝聚力。
第二,相比以往只发布单个或少量应用,现在会发布N个模块化的微服务应用,需要引入自动化工具进行集成。DevOps或CI/CD工具能快速部署到生产环境,让开发和运维协同工作。
第三,将应用拆分之后,每个模块的功能上线都会变得更加频繁,