从前,安全防护只是特定团队的责任,在开发的最后阶段才会介入。当开发周期长达数月、甚至数年时,这样做没什么问题;但是现在,这种做法现在已经行不通了。采用 DevOps 可以有效推进快速频繁的开发周期(有时全程只有数周或数天),但是过时的安全措施则可能会拖累整个流程,即使最高效的 DevOps 计划也可能会放慢速度。

一、DevSecOps是什么

在 DevOps 协作框架下,安全防护是整个 IT 团队的共同责任,需要贯穿至整个生命周期的每一个环节。这个理念非常重要,因此催生出了“DevSecOps”一词,即在开发和运维紧密结合的基础上再强调了Security,强调必须为 DevOps 计划打下扎实的安全基础。

DevSecOps 意味着从一开始就要考虑应用和基础架构的安全性;同时还要让某些安全网关实现自动化,以防止 DevOps 工作流程变慢。选择合适的工具来持续集成安全防护(比如在集成开发环境(IDE)中集成安全防护功能)有助于实现这些目标。但是高效的 DevOps 安防需要的不仅是新工具。它更需要整个公司实现 DevOps 文化变革,从而尽早集成安全团队的工作。

二、DevSecOps目标及原因

DevSecOps的目的和意图是建立在“每个人都对安全负责”的思想基础上,目标是在不牺牲所需安全性的前提下,将安全决策快速、大规模地分发给拥有最高级别上下流的人员。

如今,也是同样的原因致使传统的安全领导者竭力争取自己在行政会议上的一席之地。虽然这一席之地能够保证安全决策有效性的提高,但由于价值创造过程中缺乏所需安全技能的供应,导致成果在产出过程中摩擦增多、速度减缓。如果没有足够的人手,企业经营者就无法达到业务运营商所期望的速度,也就意味着他们必须改变安全价值的贡献方式,否则风险就会增加。

随着DevOps、敏捷和公共云服务的业务需要,传统的安全流程已成为需要削减的主要目标。但可悲的是,这又是最容易忽略的一点。传统安全性的出发点是,一旦设计了系统,便可以由安全人员确定系统的安全缺陷,并由业务运营商在发布系统之前对其进行纠正。这一原则允许流程将有限的安全技能应用于结果,并且不必在大型系统中额外增加安全环境。但是,这样设计的流程只有在业务活动的速度是瀑布式的并且得到各方同意的情况下才有效。更糟的是,在迭代中引入认为安全必须以这种方式运行的想法是有缺陷的,也会在系统内增加固有风险。因为业务决策需要内联平衡并以较快的速度解决。因此,这一方式尚未得到实现。

三、DevSecOps优势及实施

在价值创造生命周期的最后阶段,安全团队几乎不可能拥有呈现安全决策所需的所有信息。而且,随着价值创造过程加快提供迭代价值,以便紧密地联系客户的需求,更可能的是,一次性完成整个系统的测试实际上对结果具有破坏性。实际上,以这种方式做出的大多数安全决策很少有效,经常被业务领导人否决,并且通常会在事件或破坏发生时受到质疑。

​因此,随着DevOps的不断变化,传统的安全性不再是一种选择。在通过迭代构建的系统的设计和发布中,协作已经太晚了。但是,随着DevSecOps的引入,业务运营商或安全人员都没有必要放弃降低风险的措施;相反,组织内的每个人都应该拥抱并改进它,使其得到那些有能力为系统贡献安全价值的人的支持。有个很棒的说法是,如果没有刻意的内置安全控制,系统故障是肯定的,因为仅仅是避免安全就会给系统带来更多风险。因此,认为价值创造与安全性不能合作的观点是非常荒谬的。

DevSecOps建立的思维模式包括为业务运营商提供了工具和决策,帮助他们进行安全决策,以及为安全人员提供使用、调整这些工具的支持,这非常适合协作型团队。在这种情况下,安全工程师与DevSecOps宣言保持一致,该宣言表明了安全从业者必须提供的价值,以及他们必须做出的更改,以使安全价值能够提供给更大的生态系统。通过这种方式,DevSecOps工程师为系统提供的价值是在非合作的攻击者发现缺陷之前持续监视、攻击并确定缺陷。这需要业务生态系统中的所有人,包括安全人员,为迭代的价值创造做出贡献,并不需要为了团队中安全从业者的缺失而过度焦虑。

DevSecOps作为一种思维方式和安全性转换,有助于流程与其他安全更改合作。换句话说,如果您认为需要将安全性添加到“开发”或“运营”或某些其他业务流程中,那就没关系了!需要将安全性添加到所有业务流程中,并且需要创建一个专门的团队来建立对业务的理解、发现缺陷的工具、持续的测试,以及预测作为业务操作人员如何做出决策的科学。此外,为了实现全面的转型,DevSecOps需要执行管理层和董事会参与提供相关信息,这些信息是业务如何在当今经济所代表的竞争日益激烈的低信任度环境中运营和保护团队的关键指标。

给DevOps加点料:融入安全性的DevSecOps的更多相关文章

  1. 如何一步一步用DDD设计一个电商网站(六)—— 给购物车加点料,集成售价上下文

    阅读目录 前言 如何在一个项目中实现多个上下文的业务 售价上下文与购买上下文的集成 结语 一.前言 前几篇已经实现了一个最简单的购买过程,这次开始往这个过程中增加一些东西.比如促销.会员价等,在我们的 ...

  2. 使用Dynamics 365 CE Web API查询数据加点料及选项集字段常用查询

    微软动态CRM专家罗勇 ,回复336或者20190516可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me. 紧接上文:配置Postman通过OAuth 2 implicit ...

  3. 使用IronPython给.Net程序加点料

    开发的时候,经常被策划频繁变动的方案而苦恼.这时候就想要加入点动态语言来辅助一下. 在考虑用动态语言之前也曾想过使用动态加载dll的方式,实现基础接口来调用.在卸载的时候遇到了问题,虽可以通过应用程序 ...

  4. 给你的移动网站加点料:推荐下载App,如果本地安装则直接打开本地App(Android/IOS)

    纵观现在每家移动网站,打开首页的时候,都有各种各样的形式来提示你下载自身的移动App(Android/IOS),这是做移动客户端产品的一个很好地引流的手段.当然各家引流下载的交互和视觉各不相同,有的是 ...

  5. Python装饰器-给你的咖啡加点料

    今天你的咖啡加糖了吗? 让我们通过一个简单的例子来引出装饰器的概念及用法.在引出装饰器之前,我们先来了解一下函数的概念. 一.函数回顾 1.在python中函数是一等公民,函数也是对象.我们可以把函数 ...

  6. 【云原生 · DevOps】DevOps 解决方案

    DevOps 解决方案 1.1 容器化 CI/CD 1.2 容器化流水线 1.3 深度集成 Jenkins 1.4 灰度发布 1.5 制品库设计 1.6 DevOps 安全 1.6.1 CI/CD 安 ...

  7. [持续交付实践] 研发协作平台:DevOps背景下的组织结构

    前言 今年以来做的事情越来越杂,负责的技术方向越来越广,精力越来越分散(创业公司的典型特点),编码的时间越来越少,有时候也会觉得很疲惫没办法专注一个事情. 除了技术方向上的实践,组织上如何组建一个最优 ...

  8. JavaScript寻踪OOP之路

    上一集中,重点介绍了谁动了你的代码.这里先总结一下:咱们的代码从敲下来到运行出结果,经历了两个阶段:分析期与运行期.在分析期,JavaScript分析器悄悄动了我们的代码:在运行期,JavaScrip ...

  9. 【Vegas原创】SQLServer2008防小人利器:审核/审计功能

    小人见怪不怪,世界上最可怕的就是会技术的小人,防不胜防! sa密码泄露也就算了,关键是人家也可以前台攻击,直接把你弄的没辙! 在诅咒这种小人的同时,除了加强服务器安全管理,密码策略等,SQL Serv ...

  10. Java开发者职业生涯要看的200+本书

    作者:老刘链接:https://www.zhihu.com/question/29581524/answer/684872838来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...

随机推荐

  1. 生成文本聚类java实现3

    由于carrot2对中文的理解很不靠谱,所以参考了网络上的一些资料,现在贡献出来所有代码. 代码的思路就是找字或者词出现的频度,并进行打分,最后按照出现次数和重要性,找出重要的语汇.现在贴出来一些可用 ...

  2. centos7系统安装部署zabbix5.0

    一.简介 zabbix是一个基于[WEB]界面的提供分布式[系统监视]以及网络监视功能的企业级的开源解决方案.zabbix能监视各种网络参数,保证[服务器系统]的安全运营:并提供灵活的通知机制以让[系 ...

  3. 题解:CF1776L Controllers

    CF1776L Controllers 题解 分析 先把题目形式化.设 \(n\) 次加减中有 \(x\) 个加,\(y\) 个减,其中 \(a\) 加了 \(u\) 次,减了 \(v\) 次,显然 ...

  4. P8392 BalticOI 2022 Day1 Uplifting Excursion

    P8392 BalticOI 2022 Day1 Uplifting Excursion 贪心加动规,好题,这两个甚至完全相反的东西可以融进一道题-- 思路 物品较少,贡献较小,体积较小,但总体积巨大 ...

  5. 2022 GDOI普及组游记

    2022 GDOI普及组游记 注:传送门均为校内网址 day -4 被年级主任集中开会,给我们免了亿堆作业,灌了亿壶鸡汤,宣布了为期一(亿)周的集训开始. day -3 中午一直在复习期中(4.21- ...

  6. 结合反射与 XML 实现 Java 编程的动态性

    反射是 Java 语言被视为动态或准动态语言的一个关键性质,结合反射和 XML 会帮助我们更快.更方便地实现一些动态代码,从而解决编程中可能遇到的不确定问题.本文将结合反射与 XML 对 Java 编 ...

  7. Java 理论与实践: 并发在一定程度上使一切变得简单

    util.concurrent 包简介 对于每个项目,象许多其它应用程序基础结构服务一样,通常无需从头重新编写并发实用程序类(如工作队列和线程池).这个月,Brian Goetz 将介绍 Doug L ...

  8. 面试:10亿数据如何最快速插入MySQL?

    转载:https://mp.weixin.qq.com/s/kL1srP3FZjaTSXLULsUS5g 最快的速度把10亿条数据导入到数据库,首先需要和面试官明确一下,10亿条数据什么形式存在哪里, ...

  9. 使用Acme.sh免费签发SSL证书

    github:https://github.com/acmesh-official/acme.sh 概述一个纯粹用Shell(Unix shell)语言编写的ACME协议客户端.完整的ACME协议实施 ...

  10. Java Class 文件中Method的存储

    class文件是java编译后的文件类型.其代表一个类,其有专门的存储格式.其中会存放数据也会存放方法,而所谓的方法存放就是将方法中的调用都转换成java字节码指令.所方法调用从机器的角度看就是对于寄 ...