引言
随着愈来愈多的公司意识到将安全性集成到其DevOps流水线的重要性,对DevSecOps产品的需求一直在强劲增加。可是,投入DevSecOps市场寻求选择的IT和DevOps专业人员很快意识到,DevSecOps工具和框架的数量众多且使人困惑。选择过多,每每使他们陷入决策疲劳和分析瘫痪的境地,由于他们试图了解选择哪一种安全解决方案以及如何将其集成到他们的软件开发流水线中。安全
可是,为何首先将DevSecOps成为如此关注的焦点呢?为了跟上创新的步伐,开发人员已成倍地增长了对开源软件(OSS)的使用,使其现已普遍应用于应用程序开发交付过程当中。随着愈来愈多的源代码来自“外部”,现在,收集和理解其内容的需求变得相当重要。
在这篇文章中,咱们将研究在减轻OSS中可能包含的漏洞方面最成功的工具和技术类型。而后,咱们将分享一些技巧,这些技巧将帮助您从市场上脱颖而出,并在评估市场上的许多不一样选项时作出更好,更明智的决策,尤为是在软件组成分析(SCA)领域。架构
开发的现实&现状
现在,典型的应用程序使用多达90%的OSS组件,这些组件取自公开可用的开源库。这种趋势使得应用程序中存在的漏洞数量不断增长,进而致使漏洞***和破坏。公司经过载DevOps流水线中添加更多安全检查集成来作出反应。
可是,安全专业人员和开发人员真正须要哪一种类型的工具来确保其生产软件的安全性和稳定性?公平地说,有多种普遍的DevOps安全工具能够解决软件开发生命周期(SDLC)的不一样领域: 框架
DevSecOps的七个必备条件
选择DevSecOps工具时,须要确保如下7点:ide
1.能够本地管理和理解全部制品的工具
在团队在没有完成肯定哪一个OSS组件具备漏洞的任务以前,他们首先须要一个通用的DevOps平台,该平台能够做为一个基本要求,在集中位置管理全部组件和二进制制品文件,而不论其技术栈类型如何。DevOps平台须要知道项目使用了哪些组件以及它们之间的依赖关系,还有项目建立了哪些制品文件。工具
2.使用最好的燃料云计算
最有效的解决方案将须要像VulnDB这样的世界一流的漏洞情报源的力量,以确保它具备最新的漏洞知识库。世界上最好的汽车若是他们没有最好的燃料来推进他们什么也不是blog
3.坚持可见性和影响分析
DevSecOps的“赢家”不只可以了解您的二进制文件使用了哪些OSS库和组件,并且还能了解如何解压和扫描它们并查看全部底层和依赖项,甚至包括打包在Docker映像和zip文件中的那些底层和依赖项。可以了解组织中制品文件和依赖关系结构的解决方案能够为企业提供软件交付可见性,并在交付过程当中的任何地方发现其漏洞或许可证违规的影响范围。递归
4.须要支持容器和云原生框架
解决方案应支持基于容器的发布框架,容器框架已迅速成为云原生部署的事实上的标准。对容器技术的深刻,递归的理解以及深刻探究每一层layer的能力将确保漏洞不会被掩盖。不幸的是,某些扫描工具不支持容器,或者对它们的全部不一样层和可传递依赖项了解不足。生命周期
5.自动化治理
与公司安所有自动化协做管理的能力是DevSecOps的重要筹码。治理系统必须可以自动执行公司策略,并在不进行干预的状况下采起相应的措施。主要功能应包括:ip
6.遍布整个流水线
DevSecOps中的差别化点是如何将制品的详细数据与横跨制品仓库,构建,部署,运行等阶段的安全扫描结合起来。即便在生产部署以后(运行时),一个能够覆盖整个SDLC并持续检测和监视漏洞和合规性违规的平台将脱颖而出。
7.混合动力
即便您还没有维护混合型的基础架构。如今选择支持您的持续云计算旅程和基础架构混合的工具和解决方案,将确保您不管在何处的DevSecOps流水线中都具备一致性和标准。
总结
DevSecOps将再也不停留在CIO的心愿单。如今它是必须执行的IT战略,它必须成为任何组织SDLC不可或缺的一部分。即便组织选择了合适的DevSecOps解决方案,领导者也须要确保他们在各个团队之间实施完善的DevSecOps流程。这包括须要继续就应用程序安全最佳实践对开发人员和DevOps从业人员进行培训。开发人员安和全专业人员比例一般是250:1,所以在开发团队之间分享安全知识是弥补安全缺失的基础。
选择一个能够管理存储库,二进制文件,CI / CD自动化和OSS组件分析并支持容器化发布框架的DevSecOps平台彷佛是一项艰巨的任务。此外,支持本地,云,多云和混合部署是一个额外的挑战。可是,解决方案需求清单是一个很好的起点。咱们但愿这七个技巧将为您向供应商提出正确的问题,消除市场噪音以及作出明智的决定奠基坚实的基础。