由于 DevOps 方法的广泛采用以及由此产生的快速产品交付和部署,许多部门已采用更敏捷的方法来开发生命周期。在满足市场速度和规模要求的同时,设计安全的软件一直是现代 IT 公司共同面临的问题。结果,超过 52% 的组织因为担心上市速度落后而放弃了安全性。 由于传统技术下的安全漏洞,生产版本也出现了延迟。因此,一些企业已经采用 DevSecOps 方法来解决这个安全方面的问题。然而,当公司从 DevOps 转向 DevSecOps 时,他们经常面临一系列标准障碍。

或许对于 DevSecOps 这个词大家并不陌生,那么对于 DevSecOps 的了解又有多少呢?阅读本文,带你全面理解 DevSecOps 是什么。

什么是 DevSecOps?

DevSecOps 是描述开发、安全和运营集成的术语。它是一种文化、自动化和平台设计策略,强调安全是整个 IT 生命周期中的共同责任。DevSecOps 从一开始就考虑到安全性来创建应用程序和基础设施的做法,同时涉及自动化安全检查,以免减慢当前的 DevOps 流程。为了满足安全目标,安全团队为持续集成安全选择和配备合适、正确的工具来满足必要的保护。

DevSecOps 的工作原理

DevSecOps 是开发组织解决安全问题的必然和自然发展。在过去,企业确保软件安全的方式往往是在开发周期结束时由安全团队为软件添加保护,然后再通过 QA 团队进行测试。这在不那么频繁地提供软件升级的时候确实是可行的。

然而随着软件工程师转向敏捷和 DevOps 以将软件开发周期缩短数周甚至数天,传统的“附加”安全方法已经无法继续有效保障软件安全性。而 DevSecOps 能够将应用程序和基础架构安全性无缝地结合到敏捷和 DevOps 流程和工具中。一旦发现安全漏洞,就会立即进行处理和修复,这样就能够以更容易、更快、更便宜的方式在软件投入生产之前缓解或消除安全风险。

此外,不同于 DevOps,DevSecOps 让应用程序和基础设施的安全性成为开发、安全和 IT 运维团队的共同责任,通过在不减慢软件开发过程的情况下自动化安全软件交付。

DecSecOps 的优势

DevOps 将业务关键应用程序在性能、速度、功能和规模方面提升到了一个全新的水平。但是由于缺乏合规性和可靠的安全性,这些应用程序有时会滞后。而将 DevSecOps 集成到软件开发生命周期中就等于把开发、安全和运营置于一个统一的框架之下。借助 DevSecOps,每个开发人员和运维人员都将在开发和部署关键业务应用程序的每个阶段优先考虑安全性。

DevSecOps 的优势在于:

  • 降低合规成本
  • 更快地部署应用程序
  • 提高软件交付率
  • 从软件开发的最开始就进行安全检查、持续监控和自动部署检查
  • 从应用程序开发的早期阶段提高可视性和透明度
  • 在遭受安全攻击的情况下能够更快地恢复
  • 通过启用进一步安全自动化来提高整体安全性

DevSecOps 的实施

实施 DevSecOps 能够让企业保持高速、敏捷地开发和创新,同时满足合规要求且永远领先攻击者一步。从 DevOps 切换到 DevSecOps 看起来复杂且不易执行,企业可以参考以下六点:

  • 代码分析 - 以小规模、高频率的版本交付代码,以便更轻松高效地检查漏洞,同时将代码分析嵌入 QA 流程中。
  • 变更管理 - 允许并鼓励开发人员随时提出重要任务安全更改建议并尽可能在24小时内批准更改,让变更管理流程变得更加高效。
  • 合规监控 - 在开始编写代码或进行更改时收集合规性证据,以便让开发持续处于合规状态。
  • 威胁研究 - 针对使用新交付代码对企业所做出的更改而产生的威胁或漏洞进行查找、调查、研究并且进行修正。
  • 漏洞管理及评估 - 在发布代码并完成漏洞检查后,定期进行扫描并进行代码审查和渗透测试。
  • 安全培训 - 鼓励技术人员参加行业会议或安全认证会议,并定期为他们提供安全开发的相关培训。

图片来源:Sumologic

结 论

将业务环境切换到 DevSecOps 环境的过程是一项重大任务,充满了各种各样已知和未知的挑战。企业需要始终明白的一点是, DevSecOps 既不是万能的解决方案,也不是黄金流水线。想要将 DevSecOps 变为实践的企业必须首先制定战略,通过坚持上述建议的指导建议,相信可以在安全开发方面取得可观的结果。

一文读懂 DevSecOps:工作原理、优势和实现的更多相关文章

  1. 一文读懂遗传算法工作原理(附Python实现)

    选自AnalyticsVidhya 参与:晏奇.黄小天 近日,Analyticsvidhya 上发表了一篇题为<Introduction to Genetic Algorithm & t ...

  2. 一文读懂Java GC原理和调优

    概述 本文介绍GC基础原理和理论,GC调优方法思路和方法,基于Hotspot jdk1.8,学习之后将了解如何对生产系统出现的GC问题进行排查解决 阅读时长约30分钟,内容主要如下: GC基础原理,涉 ...

  3. 一文读懂 Kubernetes APIServer 原理

    前言 整个Kubernetes技术体系由声明式API以及Controller构成,而kube-apiserver是Kubernetes的声明式api server,并为其它组件交互提供了桥梁.因此加深 ...

  4. 一文读懂HTTP/2及HTTP/3特性

    摘要: 学习 HTTP/2 与 HTTP/3. 前言 HTTP/2 相比于 HTTP/1,可以说是大幅度提高了网页的性能,只需要升级到该协议就可以减少很多之前需要做的性能优化工作,当然兼容问题以及如何 ...

  5. 一文读懂高性能网络编程中的I/O模型

    1.前言 随着互联网的发展,面对海量用户高并发业务,传统的阻塞式的服务端架构模式已经无能为力.本文(和下篇<高性能网络编程(六):一文读懂高性能网络编程中的线程模型>)旨在为大家提供有用的 ...

  6. 从HTTP/0.9到HTTP/2:一文读懂HTTP协议的历史演变和设计思路

    本文原作者阮一峰,作者博客:ruanyifeng.com. 1.引言 HTTP 协议是最重要的互联网基础协议之一,它从最初的仅为浏览网页的目的进化到现在,已经是短连接通信的事实工业标准,最新版本 HT ...

  7. [转帖]从HTTP/0.9到HTTP/2:一文读懂HTTP协议的历史演变和设计思路

    从HTTP/0.9到HTTP/2:一文读懂HTTP协议的历史演变和设计思路   http://www.52im.net/thread-1709-1-2.html     本文原作者阮一峰,作者博客:r ...

  8. 一文读懂AI简史:当年各国烧钱许下的愿,有些至今仍未实现

    一文读懂AI简史:当年各国烧钱许下的愿,有些至今仍未实现 导读:近日,马云.马化腾.李彦宏等互联网大佬纷纷亮相2018世界人工智能大会,并登台演讲.关于人工智能的现状与未来,他们提出了各自的观点,也引 ...

  9. 即时通讯新手入门:一文读懂什么是Nginx?它能否实现IM的负载均衡?

    本文引用了“蔷薇Nina”的“Nginx 相关介绍(Nginx是什么?能干嘛?)”一文部分内容,感谢作者的无私分享. 1.引言   Nginx(及其衍生产品)是目前被大量使用的服务端反向代理和负载均衡 ...

  10. 一文读懂MySQL的事务隔离级别及MVCC机制

    回顾前文: 一文学会MySQL的explain工具 一文读懂MySQL的索引结构及查询优化 (同时再次强调,这几篇关于MySQL的探究都是基于5.7版本,相关总结与结论不一定适用于其他版本) 就软件开 ...

随机推荐

  1. springboot项目在docker中运行

    前端时间需要把项目打包到docker中运行,于是就让组员去探索,最后整个过程是这样的. 首先我们做java开发,一般都是使用springboot开发,开发完成,我们需要把springboot项目打包成 ...

  2. reverse--[HZNUCTF 2023 preliminary]easyAPK

    首先这是一个apk文件,一开始我是用jadx打开的,发现要aes加密啥的,后面我用jeb打开,发现账号和密码都已经解密出来了 真的很方便,然后根据代码逻辑判断,这应该是安卓程序的一个登录界面,接下来我 ...

  3. 用python计算圆周率PI,并显示进度条

    用python计算圆周率PI ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪ ...

  4. UIPath动态操作控制

    如果放弃太早,你永远都不知道自己会错过什么. 一.浏览器 打开浏览器:OpenBrowser: 关闭浏览器:Close Tab.Close Application.Kill Process: 二. 鼠 ...

  5. C#使用SqlSugar操作MySQL数据库实现简单的增删改查

    公众号「DotNet学习交流」,分享学习DotNet的点滴. SqlSugar简介 SqlSugar 是一款 老牌 .NET 开源多库架构ORM框架(EF Core单库架构),由果糖大数据科技团队 维 ...

  6. 数据分析工具 Datainside、Power BI、帆软(FineReport)怎么选?

    Datainside.Power BI和帆软(FineReport)都是数据分析领域常用的工具,它们各自有不同的特点和适用场景.下面将会详细介绍每个工具的功能和优势,以便您进行选择. Datainsi ...

  7. Go笔记(4)-流程控制

    5.Go语言流程控制 程序流程的控制结构一般有三种,顺序结构,选择结构,循环结构 (1)选择结构 if语句 if流程控制与其他语言的if流程控制基本相同 package main import &qu ...

  8. .NET8极致性能优化AOT

    前言 .NET8对于性能的优化是方方面面的,所以AOT预编译机器码也是不例外的.本篇来看下对于AOT的优化.原文:.NET8极致性能优化AOT 详述 首先明确一个概念,.NET里面的AOT它是原生的. ...

  9. vertx的学习总结2

    一.什么是verticle verticle是vertx的基本单元,其作用就是封装用于处理事件的技术功能单元  (如果不能理解,到后面的实战就可以理解了) 二.写一个verticle 1. 引入依赖( ...

  10. [ABC263D] Left Right Operation

    Problem Statement You are given an integer sequence of length $N$: $A=(A_1,A_2,\ldots,A_N)$. You wil ...