广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >怎么在整个DevOps中建立分层安全
  • 952
分享到

怎么在整个DevOps中建立分层安全

2024-04-02 19:04:59 952人浏览 独家记忆
摘要

这篇文章主要介绍“怎么在整个devops中建立分层安全”,在日常操作中,相信很多人在怎么在整个DevOps中建立分层安全问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么在整

这篇文章主要介绍“怎么在整个devops中建立分层安全”,在日常操作中,相信很多人在怎么在整个DevOps中建立分层安全问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么在整个DevOps中建立分层安全”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

将我们的DevSecOps方法分成多层,可以在对强大安全性的需求与快速移动并经常部署的需求之间找到适当的平衡。

DevOps运动改变了我们集成和发布的方式。它使我们从缓慢的发行周期(有时是每年的发行周期)过渡到每天(有时甚至是每小时)发行。我们能够编写代码并几乎立即看到生产中的变化。DevOps是突破壁垒并支持对市场变化、客户需求快速响应的令人惊叹的第一步,但是仍然需要打破一堵重要的壁垒,我们需要折中的一个重要群体:安全运营(SecOps)。

为了在生产变更持续集成和部署(CI/CD)中包括这个至关重要的小组,我们将DevOps重新定义为DevSecOps。我们在这项工作中面临的挑战与在将开发和运营整合在一起时所面临的挑战相同:开发人员希望快速行动并经常进行更改,而运营则需要稳定和不频繁的更改。安全团队倾向于支持稳定性和不频繁的更改,因为更改可能意味着重复安全测试并再次对环境进行认证。

当我们以DevOps的速度前进时,我们如何期望这些团队每天或每周重做他们的工作?

安全分层

在深入探讨这个问题之前,我们应该谈谈一种关键的安全实践:分层安全或深度防御。分层安全是一种应用多种安全措施的实践,每一层都与前一层和下一层重叠,以创建一个安全控制网络,这些网络可以一起工作以保护技术系统。

  怎么在整个DevOps中建立分层安全

在分层安全方法中,公司通过使用诸如WAN网关防火墙和静态数据加密之类的访问控制来减轻对技术系统的入侵。控件列表很广泛,但要点是,没有任何控件可以充分保护技术系统。同样的方法适用于对我们的应用程序执行安全性分析。

与公司的应用程序安全团队联系,询问他们使用哪些扫描工具来确保编写的应用程序安全。可能的是,他们不会使用一种工具进行答复,因为没有一种工具可以全部完成。相反,他们可能会为您提供他们使用或期望开发团队使用的工具列表或工具类型。

这使我们回到了之前的问题:在进行所有这些扫描并使用所有这些工具时,我们如何期望维持一个持续的部署周期?这是一项艰巨的任务。其中一些扫描和工具需要花费数小时,数天或更长时间。

内联扫描

尽管某些安全工具和扫描器确实需要很长的时间才能运行,但仍有一些更快的工具可以在开发生命周期的早期使用,以形成我们的第一层DevSecOps。这就是左移背后的想法:将流程从开发生命周期的末尾(或右侧)移到开始或中间,即再向左移。

第一层应包括需要几秒钟(或几分钟)运行的工具和扫描程序。一些常见的示例是代码lint,单元测试,SonarQube之类的静态代码分析器,OWASP  Dependency Checker等第三方依赖项漏洞检查,以及集成测试的子集。

您可能会问:“整理代码和运行单元测试如何适合DevSecOps?”  软件中的错误可以为正在寻找的对手提供完美的解决方案。例如,OWASP在过去的两个关键WEB应用程序安全报告(2013年和2017年)  中将代码注入列为第一漏洞。单元测试和静态代码分析可以帮助捕获我们的一些错误,并可能有助于防止代码中的安全漏洞。

由于这些工具扫描只需要很少的时间,因此最好将它们推到开发生命周期中的最左侧。当开发人员将代码推送到我们的git存储库并打开请求时,这些工具和扫描程序将运行以确保代码在合并之前通过。除了确保我们的主干分支保持可构建状态外,在开发生命周期的早期就拥有这些工具还可以尽早且经常向开发人员提供反馈。

部署前扫描

DevSecOps的第二层与我们的部署管道内联运行的工具,需要几分钟甚至一小时才能完成。这可能包括更深入的第三方漏洞扫描,Docker镜像扫描和恶意软件扫描。

该层的关键之一是,扫描器和工具在生成构建工件之后且在将它们存储到Artifactory或Amazon Elastic Container  ReGIStry等任何位置之前都可以运行。更重要的是,此层中的任何故障都应立即停止当前部署,并向开发团队提供反馈。

另一个关键是在这一层以及所有未来的层中实现并行化。开发人员希望尽快部署他们的更改,并且连续运行多次扫描(每次扫描可能长达一个小时)会不必要地减慢部署周期。通过并行运行这些工具,部署速度的降低等于运行时间最长的扫描。

部署后扫描

DevSecOps的下一层包括在将代码部署到预生产环境之后我们可以使用的工具和扫描程序。这些工具可能包括性能和集成测试以及应用程序扫描程序,例如OWASP  Zap。我们应该努力使这一层快速运行,希望在一小时或更短的时间内运行,以向开发人员提供快速反馈并限制对CD流程的影响。

为确保我们不会错误地将易受攻击的代码部署到生产中,此层应作为CD管道的一部分运行,目的是在任何扫描程序发现漏洞或以下情况时删除工件,回滚环境。否则失败。

根据行业,安全性和法规要求,我们可以在此层成功完成后自动将部署到生产中。管道中应该已经有足够的自动扫描和测试,可以合理地证明应用程序的安全性和坚固性。

持续扫描

我们讨论的大多数扫描仪和工具都已嵌入CI/CD管道中。我们的目标是在平衡这些工具对CI/CD管道的时间线的影响的同时,为应用程序的安全性提供合理的保证。

DevSecOps的最后一层是持续续扫描或持续续安全性(CS)。正如持续集成,测试和部署是DevOps的代名词一样,持续安全性是DevSecOps的代名词和基石。该层包括Nessus,Qualys,IBM  App Scan等工具,以及其他基础结构,应用程序和网络扫描工具。

CS并非嵌入在CI/CD管道中,而是作为异步的,并向开发人员提供持续的反馈。开发人员如何接收和响应该反馈需要进行讨论和达成共识。开发人员将在收到任何反馈后立即对其进行处理,并在较长的周转时间内解决。

这些工具和扫描程序的启动方式以及运行频率是利益相关者应同意CS的另一个方面。部署完成后,可以通过CI/CD管道启动具有api的工具。其他可能根据需要或基于一定的时间节奏来完成。无论如何完成,重要的是这些工具和扫描仪不会仅运行一次,甚至每年运行一次或两次。相反,这些工具和扫描仪应尽可能频繁地运行,并应对应用程序有意义。

到此,关于“怎么在整个DevOps中建立分层安全”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: 怎么在整个DevOps中建立分层安全

本文链接: https://www.lsjlt.com/news/84414.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么在整个DevOps中建立分层安全
    这篇文章主要介绍“怎么在整个DevOps中建立分层安全”,在日常操作中,相信很多人在怎么在整个DevOps中建立分层安全问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么在整...
    99+
    2022-10-19
  • 怎么在python中建立一个TCP框架
    怎么在python中建立一个TCP框架?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的...
    99+
    2023-06-14
  • 怎么在Linux中建立一个Shell数组
    这期内容当中小编将会给大家带来有关怎么在Linux中建立一个Shell数组,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1.数组定义[chengmo@centos5 ~]$ a=(1 2 3 4 5)[c...
    99+
    2023-06-09
  • 怎么在python中建立一个pyqt5网格布局
    本篇文章给大家分享的是有关怎么在python中建立一个pyqt5网格布局,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。python主要应用领域有哪些1、云计算,典型应用Open...
    99+
    2023-06-14
  • Java中怎么安全组建一个系统线程组
    今天就跟大家聊聊有关Java中怎么安全组建一个系统线程组,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在 Java 中,除系统线程组外的每个线程组又隶属于另一个线程组,你可以在创建线...
    99+
    2023-06-17
  • 怎么在Centos 7中建立一个swap文件增加虚拟内存
    这篇文章给大家介绍怎么在Centos 7中建立一个swap文件增加虚拟内存,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1.首先需要创建一个swapfile,如下:[root@ip-172-31-29-22 etc]#...
    99+
    2023-06-06
  • 怎么在SQL中利用Function创建一个长整形的唯一ID
    本篇文章给大家分享的是有关怎么在SQL中利用Function创建一个长整形的唯一ID,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。实现方法一开...
    99+
    2022-10-18
  • 怎么在Java8中实现一个线程安全日期类
    这期内容当中小编将会给大家带来有关怎么在Java8中实现一个线程安全日期类,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。LocalDateTimeJava8新特性之一,新增日期类。在项目开发过程中经常遇到...
    99+
    2023-06-14
  • 怎么在Android应用中利用RecycleView 实现一个左滑上下分层功能
    怎么在Android应用中利用RecycleView 实现一个左滑上下分层功能?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。独立Adapter的操作方式思路: ...
    99+
    2023-05-31
    android recycleview recycle
  • 怎么在Node中构建一个轻量级的位置分析报告服务API
    这篇文章主要为大家展示了“怎么在Node中构建一个轻量级的位置分析报告服务API”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么在Node中构建一个轻量级的位...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作