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

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

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

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

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

[复制链接]
发表于 2019-10-9 14:19:28 | 显示全部楼层 |阅读模式
具体执行
至此,企业中的每个人都应该知道自己在DevSecOps中所处的角色和作用了,那么我们来看看如何具体遵守规则,并执行各种策略。
如果在管道中,人工操作无法满足各种有关软件和基础设施的执行,那么我们就需要使用工具来自动化地实现上述定义好的各项目标与任务。下面我将为您列举与之相关的一套工具集:
注意:我在此不会去罗列那些专有的工具,因此您可以通过访问诸如stackshare.io的网站,来寻找它们的付费版本。
不暴露密码
此处所涉及到的密码包括:密码串、私钥、数据库帐户、或令牌。
为了不暴露密码,首先我们不能将密码简单地保存在未加密、或使用硬编码的文件,以及Git存储库中,当然也应该定期更换密码。因此我们自然而然地会想到必须使用一个中央存储工具来管理各种密码。
该存储工具必须能够管理密码的整个生命周期,并能在泄漏发生时减少自身漏洞的暴露。通过使用成熟的此类工具,我们还可以管理许多不同类型的信任凭据,如数据库、操作系统、云服务提供商等。同时,这些工具也能够让用户通过API,以编程方式来获取不同的密码。例如:
·      HashiCorp Vault来管理密钥 - https://www.vaultproject.io/
·      Gitrob扫描Git存储库以发现漏洞 - http://michenriksen.com/blog/gitrob-now-in-go/
如果您在管道中使用了SSH密钥,那么就可以直接从自动化运行程序(例如Jenkins)中调用它。
无过期的证书
如今在各种Web应用中TLS已成为了标配,那么我们就必须管理好证书的过期问题,以防止出现SSL的握手错误。
因此我们可以使用如下工具,来监控公司内部(私有域)和外部(公有域)中的每一种证书:
·      Sensu来检查TTL证书 - https://sensu.io/
·      HashiCorpVault来管理私有域中的证书 - https://www.vaultproject.io/
注意:Sensu虽然没有开箱即用(out-of-the-box)的功能,但它有个很好的插件 - https://github.com/sensu-plugins/sensu-plugins-ssl。通过它,我们可以监控许多相关的方面。您可以通过https://sensu.io/features/core来了解更多信息。
无过时或无效库
大公司一般会并行开展数千的项目,那么当您的团队开始研发新的微服务时,他们很容易会使用到一些过时或无效的库。因此,我们需要尽量避免这种情况的发生。
注意:上述提到的是“开始研发新的......”,也就是说:我们对于生产环境中现有系统的执行应非常小心,不要仅仅为了跟风,而在现有环境中强制推行实施。我们需要在了解新策略可能带来的影响,然后通过团队合作,来避免产生混乱的局面。
可见,我们要选取适合手头项目平台和语言的特定工具。通过运用如下“必要”的工具,我们将能够及时地识别出,那些依赖项中存在的各种过时的、且带有bug的库:
·      OWASP依赖项检查:适用于Java.NET项目。 - https://www.owasp.org/index.php/OWASP_Dependency_Check
·      RetireJS:适用于JavaScript项目。 - https://retirejs.github.io/retire.js/
我们必须在自己的管道中创建相应的步骤,以实现在每一次编译中都能被执行到的既定目标。同时,这也保证了我们不会轻易地放过任何一个未经授权的、过时的或带有bug的依赖项。
另外,如果面对的是服务器的集群,我们还可以使用ChefInspect之类的工具,来管理配置并维护系统的稳定性。这些工具能够在操作系统级别执行维护,当然它们也需要在各个主机上安装好代理程序。
无代码漏洞
SAST(静态应用程序安全测试)的目标是查出各种bug、错误的实践、潜在的内存泄漏、无限循环、以及任何程序上的漏洞。SonarQubehttps://www.sonarqube.org/)是该领域的一个知名工具,它提供了多种方法来扫描各个源文件、查找bug和错误的实践方法,而且它能够被用在许多种编程语言的场景中。
·      Infer by Facebook:这是Facebook提供的一种工具,我们可以用来扫描JavaC/C++Object-C - http://fbinfer.com/
遵守 OWASP Top 10
OWASP Top 10是业界常用的十大安全风险的集合,它的最新版本已于2017年被更新(您可以通过该链接查看到全部:https://www.owasp.org/index.php/Top_10-2017_Top_10)。我们可通过遵循该准则,来提供更好的Web安全应用。如今网上已有许多工具能在遵循该准则的基础上,实施自己的检查策略。在此,我仅列出如下两种常用工具供您参考:
·      OWASP ZAP:源自OWASP的渗透测试和漏洞挖掘工具。 - https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project
·      IronWASP:一款开源的Web应用渗透测试与漏洞扫描工具。 - https://ironwasp.org/
考量效果
通过考量效果,我们能够获知上述各项DevSecOps策略的执行情况,从而避免整个公司长期处于“黑暗球场”的状态。
同样,网上也有许多十分优秀的开源工具,可被用来考量各项指标,并通过界面予以显示。我个人非常喜欢使用Grafanahttps://grafana.com/),它即能清晰地呈现各种监测到的指标,又能将它们进行存储。另外,我也建议您使用InfluxDBhttps://www.influxdata.com/)。它可以被集成到我们的管道中,从而获取精确的考量参数值。当然GrafanaInfluxDB之间也有着很好相互集成。
那么我们具体能够考量哪些指标呢?一般包括如下:
·      Git存储库中发现的密码值
·      各种过期的证书
·      续订过期证书的平均时间
·      过时无效的依赖项
·      过时无效的操作系统库
·      在源代码中所找到的各种严重漏洞
·      在应用程序中发现的前十大漏洞
上述便是我对于实现有效DevSecOps的一些可行性的建议。现如今DevSecOps的概念已经被炒作得有些过热了,因此,我强烈建议大家:与其坐而言,不如起而行。
【原标题】EffectiveDevSecOps(作者:Fabio Jose Moraes)
原文链接:https://dzone.com/articles/effective-devsecop

  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
发表于 2019-10-9 15:23:31 | 显示全部楼层
感谢版主分享。下面是相关内容的链接,方便小伙伴阅读,谢谢!

【原创翻译】如何实现有效的DevSecOps(1)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
发表于 2019-10-9 17:22:35 | 显示全部楼层
感谢大神,持续无私的原创翻译
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver | 思科社区  

GMT+8, 2019-12-16 10:11 , Processed in 0.091217 second(s), 33 queries .

京ICP备09041801号-187

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

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