一种DevSecOpsCI流水线配置方法技术

技术编号:37150607 阅读:11 留言:0更新日期:2023-04-06 22:06
本发明专利技术涉及容器技术领域,提供一种DevSecOps CI流水线配置方法,包括:对进入流水线的代码进行代码级的安全检查;对DockerFile进行安全检查,在构建服务器中根据通过安全检查的DockerFile构建容器镜像;通过镜像扫描平台对步骤S3构建的容器镜像进行安全扫描,将通过安全扫描的容器镜像部署或升级到开发环境中;对开发环境中处于运行状态的容器进行安全检查,对通过安全检查的容器进行自动化接口测试。根据本发明专利技术示例性实施例的DevSecOps CI流水线配置方法,可以在开发和代码集成阶段将危害云原生安全的内容自动扫描出来,提升应用的安全性;通过自动化的流程执行提升代码集成速度,提升软件的开发效率;降低安全规范宣贯和执行的难度。低安全规范宣贯和执行的难度。低安全规范宣贯和执行的难度。

【技术实现步骤摘要】
一种DevSecOps CI流水线配置方法


[0001]本专利技术涉及容器
,尤其涉及一种DevSecOps CI流水线配置方法。

技术介绍

[0002]DevOps是Development(开发)和Operations(运维)的组合,在敏捷开发流程的基础上演进而来的。其特点是重视软件开发人员和运维人员的沟通合作,通过自动化流程使软件构建、测试、发布更加迅速和可靠。DevOps在流程上分为CI和CD两个部分,分别是持续集成(Continuous Integration)和持续交付(Continuous Delivery)。
[0003]持续集成指的是在代码集成到主干之前必须全部通过自动化测试,只要有一个测试用例失败,就不能集成。持续集成要实现的目标是在保持高质量的基础上,让产品可以快速迭代。在软件开发阶段,当一个产品需求特性被纳入开发迭代计划中后,开发团队为需求特性拉出一个多个开发分支,软件代码的修改都在特性分支上进行。正式发布的版本需要在版本分支上打出,版本分支接受来自特性分支的合并,合并之后,版本分支就包括了新的特性。影响版本开发效率的问题就容易发生在合并过程中,当合并的代码质量有问题,那么质量问题就被带入了版本分支。在持续集成中,团队成员频繁集成他们的工作成果,一般每人每天至少集成一次,也可以多次。每次集成会经过包括静态扫描、安全扫描、自动测试等过程的自动构建检验,以尽快发现集成错误,减少集成引起的问题,加快团队合作软件开发的速度。
[0004]DevSecOps是云原生应用开发自动化流程向应用安全领域的自然拓展,它将持续安全流程并入到传统CI/CD过程中。当前DevSecOps流程普遍只强调工具链的部署和应用,在工具链上嵌入持续集成的组件,提升了软件价值流转的效率。但是在实际应用中,由于DevSecOps天然是将不同利益述求、不同目标定位的团队进行贯通,在贯通过程中一定会遇到团队目标不同而产生的关注点偏差,进而由于关注点的偏差而造成的职责不清、沟通协调成本高等问题,最终降低了价值流转的效率,增加了业务应用交付过程中出问题的概率。
[0005]另一方面,由于云原生业务应用的运行环境已经不同于传统业务应用场景,在传统业务应用场景下,安全管控主要依赖于网络边界设备,比如防火墙、IDS/IPS、WAF等。云原生业务系统运行在云化的环境中,网络边界普遍已经虚拟化和模糊化。云原生环境有大量的多租户共享以及多业务应用共用的情况,各个业务系统需要在代码、配置和技术选型使用上都要注意安全问题。如果不遵守一个好的安全规范实践,日积月累的小的安全问题会让业务系统漏洞百出,也许业务系统在常规情况下能够稳定运行,在扩展性和性能等方面表现良好,但是一旦遇到攻击,很容易就会出现严重的安全事故,比如数据泄露、资源泄露或者遭受网络欺诈,造成严重后果。
[0006]因此,如何提供一种能够嵌入到DevSecOpsCI流水线配置中的高效、安全的容器镜像安全策略,成为亟待解决的技术问题。

技术实现思路

[0007]有鉴于此,为了克服现有技术的不足,本专利技术提供一种DevSecOps CI流水线配置方法。
[0008]一方面,本专利技术提供一种DevSecOps CI流水线配置方法,包括:
[0009]步骤S1:对进入流水线的代码进行代码级的安全检查;
[0010]步骤S2:对DockerFile进行安全检查,在构建服务器中根据通过安全检查的DockerFile构建容器镜像;
[0011]步骤S3:通过镜像扫描平台对步骤S3构建的容器镜像进行安全扫描,将通过安全扫描的容器镜像部署或升级到开发环境中;
[0012]步骤S4:对开发环境中处于运行状态的容器进行安全检查,对通过安全检查的容器进行自动化接口测试。
[0013]进一步地,本专利技术DevSecOps CI流水线配置方法的步骤S1,包括:
[0014]步骤S11:在代码库上对代码进行评审,将通过评审的代码发送至流水线;
[0015]步骤S12:在流水线中执行通过评审的代码的单元测试用例;
[0016]步骤S13:通过代码质量扫描工具对代码进行代码质量扫描;
[0017]步骤S14:通过代码漏洞扫描工具对通过代码质量扫描的代码进行代码漏洞扫描。
[0018]进一步地,本专利技术DevSecOps CI流水线配置方法的步骤S2中,对DockerFile进行安全检查,包括:
[0019]检查是否使用指定的容器基础镜像,当未使用指定的容器基础镜像,判定DockerFile不安全;
[0020]检查Dockerfile中是否包含敏感信息,当Dockerfile包含敏感信息,判定DockerFile不安全;
[0021]检查是否安装扩展软件包。
[0022]本专利技术DevSecOps CI流水线配置方法的步骤S2中,指定的容器基础镜像是Alpine、CentOS、CoreOS和CCLinux容器基础镜像中的一种或多种。
[0023]本专利技术DevSecOps CI流水线配置方法的步骤S2中,敏感信息包括:账号信息、密码信息、应用启动时的属性配置、应用所依赖组件的访问地址和端口信息以及应用对外提供服务的端口信息。
[0024]本专利技术DevSecOps CI流水线配置方法的步骤S4中,对开发环境中处于运行状态的容器镜像进行安全检查,包括:
[0025]检查处于运行状态的容器镜像是否挂载系统关键路径,所述系统关键路径包括:/etc路径、/bin路径、/root路径,当容器镜像挂载所述系统关键路径,判定所述容器镜像不安全;
[0026]检查处于运行状态的容器的进程所属用户ID是否为root,当进程所属用户ID为root时,判定所述容器不安全。
[0027]本专利技术DevSecOps CI流水线配置方法的步骤S4中,对开发环境中处于运行状态的容器镜像进行安全检查,还包括:当容器镜像上安装由扩展软件包,检查所述扩展软件包是否包含无用附属文件,当扩展软件包中包含无用附属文件时,判定容器镜像不安全。
[0028]本专利技术DevSecOps CI流水线配置方法中,所述无用附属文件包括:辅助性说明文
档和帮助文件、编译过程中产生的临时文件以及用于功能调试的命令和脚本。
[0029]另一方面,本专利技术提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时,执行杉树方法的步骤。
[0030]最后,本专利技术还提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。
[0031]本专利技术的DevSecOps CI流水线配置方法,具有以下有益效果:
[0032]1.可以在开发和代码集成阶段将危害云原生安全的内容自动扫描出来,提升应用的安全性。
[0033]2.通过自动化的流程执行提升代码集成速度,从而提升软件的开发效率。
[003本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种DevSecOps CI流水线配置方法,其特征在于在于,所述方法包括:步骤S1:对进入流水线的代码进行代码级的安全检查;步骤S2:对DockerFile进行安全检查,在构建服务器中根据通过安全检查的DockerFile构建容器镜像;步骤S3:通过镜像扫描平台对步骤S3构建的容器镜像进行安全扫描,将通过安全扫描的容器镜像部署或升级到开发环境中;步骤S4:对开发环境中处于运行状态的容器进行安全检查,对通过安全检查的容器进行自动化接口测试。2.根据权利要求1所述的DevSecOps CI流水线配置方法,其特征在于,步骤S1,包括:步骤S11:在代码库上对代码进行评审,将通过评审的代码发送至流水线;步骤S12:在流水线中执行通过评审的代码的单元测试用例;步骤S13:通过代码质量扫描工具对代码进行代码质量扫描;步骤S14:通过代码漏洞扫描工具对通过代码质量扫描的代码进行代码漏洞扫描。3.根据权利要求1所述的DevSecOps CI流水线配置方法,其特征在于在于,步骤S2中,对DockerFile进行安全检查,包括:检查是否使用指定的容器基础镜像,当未使用指定的容器基础镜像,判定DockerFile不安全;检查Dockerfile中是否包含敏感信息,当Dockerfile包含敏感信息,判定DockerFile不安全;检查是否安装扩展软件包。4.根据权利要求3所述的DevSecOps CI流水线配置方法,其特征在于在于,步骤S2中,指定的容器基础镜像是Alpine、CentOS、CoreOS和CCLinux容器基础镜像中的一种或多种。5.根据权利要求3所述的DevSecOps CI流水线配置方法,其特征在...

【专利技术属性】
技术研发人员:李学峰
申请(专利权)人:中电云数智科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1