一文读懂 DevSecOps:工作原理、优势和实现
由于 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:工作原理、优势和实现的更多相关文章
- 一文读懂遗传算法工作原理(附Python实现)
选自AnalyticsVidhya 参与:晏奇.黄小天 近日,Analyticsvidhya 上发表了一篇题为<Introduction to Genetic Algorithm & t ...
- 一文读懂Java GC原理和调优
概述 本文介绍GC基础原理和理论,GC调优方法思路和方法,基于Hotspot jdk1.8,学习之后将了解如何对生产系统出现的GC问题进行排查解决 阅读时长约30分钟,内容主要如下: GC基础原理,涉 ...
- 一文读懂 Kubernetes APIServer 原理
前言 整个Kubernetes技术体系由声明式API以及Controller构成,而kube-apiserver是Kubernetes的声明式api server,并为其它组件交互提供了桥梁.因此加深 ...
- 一文读懂HTTP/2及HTTP/3特性
摘要: 学习 HTTP/2 与 HTTP/3. 前言 HTTP/2 相比于 HTTP/1,可以说是大幅度提高了网页的性能,只需要升级到该协议就可以减少很多之前需要做的性能优化工作,当然兼容问题以及如何 ...
- 一文读懂高性能网络编程中的I/O模型
1.前言 随着互联网的发展,面对海量用户高并发业务,传统的阻塞式的服务端架构模式已经无能为力.本文(和下篇<高性能网络编程(六):一文读懂高性能网络编程中的线程模型>)旨在为大家提供有用的 ...
- 从HTTP/0.9到HTTP/2:一文读懂HTTP协议的历史演变和设计思路
本文原作者阮一峰,作者博客:ruanyifeng.com. 1.引言 HTTP 协议是最重要的互联网基础协议之一,它从最初的仅为浏览网页的目的进化到现在,已经是短连接通信的事实工业标准,最新版本 HT ...
- [转帖]从HTTP/0.9到HTTP/2:一文读懂HTTP协议的历史演变和设计思路
从HTTP/0.9到HTTP/2:一文读懂HTTP协议的历史演变和设计思路 http://www.52im.net/thread-1709-1-2.html 本文原作者阮一峰,作者博客:r ...
- 一文读懂AI简史:当年各国烧钱许下的愿,有些至今仍未实现
一文读懂AI简史:当年各国烧钱许下的愿,有些至今仍未实现 导读:近日,马云.马化腾.李彦宏等互联网大佬纷纷亮相2018世界人工智能大会,并登台演讲.关于人工智能的现状与未来,他们提出了各自的观点,也引 ...
- 即时通讯新手入门:一文读懂什么是Nginx?它能否实现IM的负载均衡?
本文引用了“蔷薇Nina”的“Nginx 相关介绍(Nginx是什么?能干嘛?)”一文部分内容,感谢作者的无私分享. 1.引言 Nginx(及其衍生产品)是目前被大量使用的服务端反向代理和负载均衡 ...
- 一文读懂MySQL的事务隔离级别及MVCC机制
回顾前文: 一文学会MySQL的explain工具 一文读懂MySQL的索引结构及查询优化 (同时再次强调,这几篇关于MySQL的探究都是基于5.7版本,相关总结与结论不一定适用于其他版本) 就软件开 ...
随机推荐
- 使用 Vue 3 插件(Plugin)实现 OIDC 登录和修改密码(OIDC 系统以 Keycloak 为例)
背景 目前单位系统常用 Keycloak 作为认证系统后端,而前端之前写的也比较随意,这次用 Vue 3 插件以及 Ref 响应式来编写这个模块.另外,这个可能是全网唯一使用 keycloak 的 O ...
- Vue一些进阶知识-基于官网(笔记)
前言 主要根据vue官网文档完成.对一些平时可能会用到的知识.组件进行收集,为的是对vue的可用性有一个大致的了解.博客中的组件介绍可能只涉及简单用法,完整用法还是以官网为准. 基础 启动过程: 主文 ...
- 牛客多校第五场 K King of Range
题意: 给定一个\(n\)个数得序列\(a_i\),给定\(m\)个询问,每次给出一个\(k\),寻找有多少个区间\([l, r]\)中最大值与最小值之差严格大于\(k\). 思路: 可以发现,如果已 ...
- 微信小程序直播接入指南
微信小程序直播接入指南 小程序直播组件接入指引 一.简介 小程序直播,是微信提供给小程序开发者的直播组件.通过调用该组件,商家可以在小程序中实现直播功能. 按下面的使用说明接入,在你的小程序中引入直播 ...
- [CSAPP、APUE、UNP]文件、IO
<鸟哥的Linux私房菜:基础学习篇(第四版)> 第5章 Linux的文件权限与目录配置 第6章 LInux文件与目录管理(正在进行) <CSAPP> 第10章 系统级IO 1 ...
- scroll-view和swiper的使用
源码: <template> <viex class="out"> <view class="b ...
- Mybatis-Flex之增、删、改
方法全解 (1) INSERT BaseMapper 的接口提供了 insert 和 insertBatch 方法,用于新增数据: insert(entity):插入实体类数据,不忽略 null 值. ...
- 自定义线程池将异常"吃了"
今天在做项目时,写了一个使用自定义线程池执行远程调用 // 删除购物车信息 corePoolExecutor.submit(() -> { try { cartFeignClient.delet ...
- HDU-3591 混合背包
The trouble of Xiaoqian Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/ ...
- emoji表情符号备忘单
记录目的:写文章的时候想用一些小表情或图片,但是上传图片太麻烦还不兼容 emoji表情符号就是很好的选择 国际通用,开箱即用(复制粘贴),兼容性强(理论上能放文本就能放emoji) 博客文档,git文 ...