请选择 进入手机版 | 继续访问电脑版

设为首页 收藏本站
思科社区 关注
思科社区

   思科 CCO 登录 推荐
 找回密码
 立即注册

搜索
热搜: 邮件服务器
查看: 518|回复: 2

【原创翻译】如何实现有效的DevSecOps(1)

[复制链接]
发表于 2019-9-25 13:31:05 | 显示全部楼层 |阅读模式
引言:系统安全从来不是某个团队的单独责任,让我们来讨论一下通过企业内部的共同协作,如何实现DevSecOps策略的落地。

众所周知,系统安全并不只是一本写满了要求开发人员和运营人员需要遵循的各种规则与策略的小册子。系统安全也并不只是在项目进展到失去了方向时,网络安全小组用来确保开发和运营安全的工具。
通常情况下,公司的安全团队会通过各种会议来贯彻不同的规则和策略;并在发生安全泄漏事件之后,通过查询电子邮件或聊天记录,来获知企业当前安全态势,以追踪罪犯。这些都是些典型的安全攻防方式。
可以说系统网络安全在我们的企业中无时不刻、无处不在地影响着每位员工。
让我们更有效
将公司的安全重任集中归责于某个单一团队是一种普遍的错误。其实每一个直接接触、或间接参与公司数据与系统的人员都承载着安全的责任。
DevSecOps的落地过程中,我自己曾有过一些误解,也走过不少弯路。在此,我将通过本文和您分享:如何在避免出现错误方法的前提下,实现有效的DevSecOps
执行规则和策略
虽然我们的确需要各种章程来指导自己的行动,但这绝非是靠单向地从作战室(war room)或咖啡间里发出指令来完成的。正如我们不应将整体安全重任归责于某个单一团队那样,我们需要通过软件定义和嵌入到DevOps管道(pipeline)中的模式来贯彻执行。
在执行规则和政策的过程中,我们有着许多可选的工具和方法。下面,我将向您展示如何通过有效地激发DevSecOps的能动性,来使企业收获实施的效果。
为了达到该目标,我们应采用以下的行动步骤:
1.定义目标
2.创建蓝图
3.开展宣传
4.具体执行
5.考量效果
在此,我假设您的公司已经达到了成熟的DevOps水平。
定义目标
为了知道自己将要达到什么的效果,我们必须首先制定好目标和努力的方向,以避免出现“脚踩西瓜皮,滑到哪里算哪里”的情况。我们可以小组讨论、集思广益的形式,罗列出一个个“小目标”,以方便深入讨论。例如包括:
·        不暴露密码:保证不会泄漏任何密码、口令、证书链或私钥等。
·        无过期的证书:特别是要避免TLS证书的过期。
·        无过时或无效库:扫描各种项目依赖项、操作系统库、系统服务和实用程序。
·        无代码漏洞:静态扫描各种源代码,以发现其中的漏洞和bug
·        遵守OWASP Top 10(开放式Web应用程序安全项目):动态扫描各种运行中的应用,以查找潜在漏洞。
除了上述安全目标,我们还能以头脑风暴的形式快速列出更多的方便:消除未授权的进程、未授权的端口、未授权的存储库、未授权的帐户、有bug的软件库,实现生命周期管理、漏洞管理,遵守公共漏洞和暴露(Common Vulnerabilities and ExposuresCVE)规范,实现TLS全覆盖等。
创建蓝图
蓝图是我们定义如何让开发(development)与运营(Operations)在安全(security)的基础上协同工作的关键步骤。因为我们将定义一些开发和运营人员都值得关注的安全问题。在蓝图中,我们需要为整个公司定义各种规则,并准备好下一步执行的步骤。
下面的图表,是基于上面的目标定义所绘制出的一个蓝图范例:
如表所示,我用四个深色模块:密码管理、代码质量的静态应用程序安全测试(SAST)、安全加固、和运行质量的动态应用程序安全测试(DAST),来对映我们的上述目标。与此同时,针对DevSecOps的实施计划,我们还需要将它们下方的各个具体要点,按照规则、执行、工具集的分类逐一映射到相应的目标之中。
至此,您可以在公司的内网开始创建一个共享空间,写上简明清晰的标题,注明在蓝图中所表述的每一个细节,并重点做到如下方面:
·        将蓝图与各个目标相连接
·        详细说明深色模块里的内容
·        如何对它们予以实施
·        会用到哪些工具集
·        强调安全的第一性
·        建立安全体系
·        列出例外之处
·        如何遵守相关法规
·        画出路线图
如上述流程图所示,我们必须尝试着将蓝图中的深色模块映射到自己的DevOps管道之中,以辅助我们去收集和考量在执行过程中的参数指标,并将它们作用到日常项目之中。
开展宣传
现在,我们需要设法在公司内部营销这些新的安全举措了。毕竟再好的蓝图,如果没人采纳的话,也将丝毫不会让企业受益。
由于公司中的每个人都会在DevSecOps中扮演着相应的角色,因此大家首先需要理解蓝图的重要性。我们不应当以一种“大爆炸”式的节奏去迅速推进,而应该让每一个人都参与进来,促进蓝图的逐步完成。因此,我们在宣传方面需要做到如下方面:
·        广开传播渠道,可以拉横幅、发布到内部网络、分发视频、以及用电子看板等方式展示路线图。
·        制作T恤、水瓶、粘纸、帽子等衍生小礼物。
·        招募愿意提前试用的“早鸟”。
·        举办研讨会,造势预热。
·        举行内部主题活动。
·        推送列举了诸多优点与好处的邮件。
·        提供与安全相关的场景演练。
可见,良好的方案往往源自良好的沟通和营销方式。如果没人真正参加进来,那么再好的蓝图也只能停留在纸面上。我们要确保每一个IT人员在开发软件、或提供和配置基础结构的时候,能够清楚地知晓何为正确、何为错误的。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
发表于 2019-9-25 18:49:45 | 显示全部楼层
感谢版主分享。下面是相关内容的链接,方便小伙伴阅读,谢谢!

【原创翻译】如何实现有效的DevSecOps(2)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
发表于 3 天前 | 显示全部楼层
这篇文章不错。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver | 思科社区  

GMT+8, 2019-10-15 12:50 , Processed in 0.134165 second(s), 33 queries .

京ICP备09041801号-187

版权所有 :copyright:1992-2019 思科系统  重要声明 | 保密声明 | 隐私权政策 | 商标 |

快速回复 返回顶部 返回列表