【翻译】开发运营--安全是无声的

在技术上有两个难点:缓存失效,给东西命名,以及偏离一个的错误。我们已经通过众多命名不当的东西一次又一次地证明了这一点。无论是AWS服务被称为雅典娜(Athena)、云9(Cloud9)、雪球(Snowball)和雪车(Snowmobile),还是对希腊航海词的过度利用,或者是我个人最讨厌的 "云",不用说得太细,我们在命名方面完全是狗屎。

大多数情况下,一个坏名字是无害的,或者最坏是一个小麻烦,但有时一个术语会产生不良后果。流行语DevSecOps是我个人不喜欢的术语之一,它设置了错误的期望,而且作为一个流行语,缺乏细微差别。

更糟糕的是,Michelle Ribeiro在她即将出版的O'Reilly书籍《学习DevSecOps》中把中心思想总结为 "让开发、安全和运营团队一起工作,通过使用持续安全的流程快速交付安全软件来创造商业价值",这是值得称赞的,但DevOps的关键概念--共享所有权已经包括安全。

虽然你可以通过询问99个人得到100个关于DevOps的定义,但如果你不把安全包括在全面实施DevOps所需要的定义中,你就有错了。

DevSecOps这个术语意味着安全是独立的,是第三支柱。在这种情况下,为什么它只限于安全?那么可观察性呢?复原力呢?灵活性?可扩展性?在这个意义上,Emily Freeman的 "软件开发的革命模式",把这些都作为共同的责任,更好地解释了这些不同的领域应该如何整合。

至少,

"安全问题左移 "这个术语也是令人沮丧的。除非你是在传统的瀑布模型中操作,否则向左转移的概念是无稽之谈。哪里是左边?在

测试方面,左移的原始概念可以追溯到2001年。那时,我们大多数人确实是在瀑布模型中操作,但今天重新使用这个术语是有问题的。

这很重要,因为它给了我们一个错误的心理模型

我们希望尽可能容易地提供价值。这些并不是我们需要通过的阶段,而是应该包括在软件交付过程中的所有方面和每个人的考虑。

DevAiSecBizObsMLOps

另一个问题是,技术术语经常被试图推进自己议程的公司创造或迅速合用,这在技术行业是一个持续的烦恼来源

随着一个新术语的流行,它很快就会被任何能够声称与他们的产品有哪怕是微小的相似之处的公司所掌握,花费大量的营销费用来故意在市场上制造混乱。一个术语越是模糊不清,它就越是糟糕。考虑到可观察性;你有多大信心知道可观察性工具和传统的APM监控工具之间的区别?

DevSecOps是XXOps的第一个变种,我们已经看到了很多,但很少有相关的。

撇开

所有的

坏话不说,在 "DevSecOps "运动中,有一些诚实的目标和积极的结果。长期以来,安全问题在软件开发中一直是个问题。根据我的经验,大多数组织在应用安全问题时似乎都陷入了两个极端中的一个

  1. 。 希腊甲骨文--任何为任何大型企业公司工作
过的
  1. 人都经历过与神秘的安全团队打交道的痛苦。安全团队通常看不见、叫不出名字,只能通过一个不知名的票务系统或物理电话联系,他们拥有极大的权力。他们会通过一个旨在混淆视听的复杂过程,将一项技术、产品功能或服务认定为值得或不值得。他们似乎对任何人都不负责任,只是为了挫败而存在。当拒绝一个解决方案时,他们很少给出任何解释,希望你能简单地接受他们的决定作为最终决定
  2. 。 牛仔--常见于初创企业,牛仔采用了著名的扎克伯格的口头禅:"快速行动,打破东西",其中 "东西 "包括客户的信任和政府法规。安全性充其量只是一种事后考虑,但更常见的是一种 "从未考虑过"。任何可能减慢功能开发速度的东西都会被抛弃,而安全是第一个被抛弃的。人们常说安全会在以后添加,但实际上这几乎从未发生过,因为重新填充安全总是非常昂贵的,而且在技术上也非常具有挑战性。

此外,对安全的关注,无论是通过糟糕的术语还是因为最新的高调泄漏,都导致了对安全的更多兴趣和教育。我们正在从安全仅仅是一个团队(或个人)的责任,转向一个每个人都意识到并对他们的应用程序/平台/服务的安全负责的世界。

云 - 默认不安全

重新关注安全是有原因的,特别是在DevOps和云方面。自2006年以来,技术和机会呈指数级增长,当时谷歌和亚马逊等供应商开始使用 "云计算 "来描述人们通过网络而不是桌面访问软件、计算机能力和文件。

但云在默认情况下是不安全的。云原生环境往往是高度复杂的。从软件的角度来看,它们包括诸如容器、微服务、服务网格和声明性API等东西。我们现有的许多安全工具和方法在新的环境中根本不起作用,即使它们被设计来解决的问题仍然存在。

在多云环境中,这个问题甚至更糟糕,无论是由于合并和收购的结果,还是通过故意的选择。正如麦肯锡最近的一份报告所指出的,"近年来,随着访问数据资产的途径激增,企业的周边环境已经发生了变化,没有单一的周边环境存在。托管企业内部、私有云和公共云环境的IT功能的涌入正在向我们袭来。因此,多云和混合云安全将继续成为关键,CISO将愿意为越来越难找到的服务提供商的技能(如主机安全)付费。"

但是,用一句话来说,WTF是DevSecOps的真正含义?在2019年的QCon伦敦会议上,Guy Podjarny给出了一个奇妙的定义。值得花时间观看演讲全文,但总结一下,Podjarny表示,DevOps有三个关键支柱,按照大致的演变顺序是:

  1. DevOps技术(容器、云、无服务器等)
  2. DevOps方法论(微服务、持续集成)
  3. DevOps共享所有权(使每个人都有责任操作软件并确保质量;WTF读者可能认为这更广泛的是文化)。

继而,在实践中,DevSecOps仅仅意味着:

  1. 保障DevOps技术的安全:使现有的安全工具适应这些新的技术栈,发现它们带来的新风险,并采取相应措施。
  1. DevOps方法论中的安全:利用新方法论为安全带来的机会(例如在我们的开发过程中使用CI来应用安全策略,应用GitOps等流程)。

将安全纳入DevOps的共享所有权:找到正确的方法让开发者接受安全。

最重要的是,为了让开发者承担更多的安全责任,我们需要提供针对开发者而非安全专家的工具,并提供与之匹配的教育材料。

结论

我不会抱着DevSecOps这个词会消失的希望。在这一点上,它已经在太多公司的OKRs中根深蒂固了。我也不期待与越来越多的关注安全的云计算公司作斗争。无论好坏,DevSecOps都会和我们一起留下来。

事实上,我勉强相信,"安全左移 "和 "DevSecOps "带来的好处多于坏处。因此,虽然我将继续抱怨不完美的命名和错误的使用术语,但我并不暗自高兴,因为讨论正在发生,焦点也在继续增长。

New call-to-action

猜你喜欢

转载自blog.csdn.net/community_717/article/details/128763802
今日推荐