开始了解 DevSecOps 1
DevOps 对金融科技的小伙伴并不陌生,从业界最佳实践来看,主要有几个关键的要素:
持续集成,持续交付,微服务,自动化测试,基础设施即代码,监控和日志方案等。
在平时的传统模式下,在整个研发流程(需求,开发,测试)完成之后和上线前需要进行安全评审,以保证应用安全性。因此,简单来说,整个开发的交付周期就是研发时长加上安全评估的时长。在 DevOps 模式下,通过自动化,敏捷开发,团队协作等 DevOps 理念和技术手段,提高了研发效能。研发阶段的时长缩短了,从而也减少了整个交付周期的时长。然而,由于传统 DevOps 模式没有考虑安全,因此上线前的安全评审时长没有改变。甚至在 DevOps 成熟的情况下,团队继续提高研发效能的瓶颈已经不在研发阶段,而是在安全评审阶段。在上线频次增多,交付目标短平快的背景下,安全人员的资源在整个流程中越来越显得捉襟见肘。
那么在传统的安全模式无法跟上 DevOps 模式下越来越快的交付模式,因此需要摸索出一套适合不停迭代和快速交付的全新安全模式的方法论。在最近几年中,DevSecOps 横空出世,它的最终目的就是通过安全左移到开发测试团队,使安全评审阶段的时长变短,从而进一步缩短交付周期。当然另外一个好处是可以在更早的阶段发现并修复安全漏洞,从而减少上线前发现安全漏洞的返工成本。
虽然说 DevSecOps 是 DevOps 演进的必然结果,可是在落地过程中,仍然面临来自技术,流程,人和文化诸多方面的困难和挑战,其中技术挑战主要有两个方面:
1.在市场上上适用 DevSecOps 的商用工具与开源工具很少
2.现有的很多 DevSecOps 工具也不成熟(例如:较高的误报率),增加了推广与实施过程的难度。
相比技术的挑战,人和文化方面的挑战影响更大。对于程序员来说,他们的主要工作时写代码,可能缺乏必要的安全知识;而且有很大一部分的程序员都认为安全不是他们的职责,更应该是安全部门负责。因此如果没有管理层自上而下的支持,DevSecOps 的推动会非常的有限。
版权声明: 本文为 InfoQ 作者【Hillz】的原创文章。
原文链接:【http://xie.infoq.cn/article/17bfcff49885a58ebd8cbf9d0】。文章转载请联系作者。
评论