DevSecOps 对 DevOps 进行了改进,以确保安全性仍然是该过程的一个重要部分。到目前为止,DevOps 在 IT 世界中已广为人知,但其并非完美无缺。试想一下,你在一个项目的现代应用程序交付中实施了所有 DevOps 工程实践。你已经到达开发流程的末尾,但是渗透测试团队(内部或外部)检测到安全漏洞并提出了报告。现在,你必须重新启动所有流程,并要求开发人员修复该漏洞。
在基于 DevOps 的软件开发生命周期(SDLC)系统中,这并不繁琐,但它确实会浪费时间并影响交付进度。如果从 SDLC 初期就已经集成了安全性,那么你可能已经跟踪到了该故障,并在开发流程中就消除了它。但是,如上述情形那样,将安全性推到开发流程的最后将导致更长的开发生命周期。
这就是引入 DevSecOps 的原因,它以自动化的方式巩固了整个软件交付周期。
在现代 DevOps 方法中,组织广泛使用容器托管应用程序,我们看到 Kubernetes 和 Istio 使用的较多。但是,这些工具都有其自身的漏洞。例如,云原生计算基金会(CNCF)最近完成了一项 kubernetes 安全审计,发现了几个问题。DevOps 开发流程中使用的所有工具在流程运行时都需要进行安全检查,DevSecOps 会推动管理员去监视工具的存储库以获取升级和补丁。
什么是 DevSecOps?
与 DevOps 一样,DevSecOps 是开发人员和 IT 运营团队在开发和部署软件应用程序时所遵循的一种思维方式或文化。它将主动和自动化的安全审计以及渗透测试集成到敏捷应用程序开发中。
要使用 DevSecOps,你需要:
- 从 SDLC 开始就引入安全性概念,以最大程度地减少软件代码中的漏洞。
- 确保每个人(包括开发人员和 IT 运营团队)共同承担在其任务中遵循安全实践的责任。
- 在 DevOps 工作流程开始时集成安全控件、工具和流程。这些将在软件交付的每个阶段启用自动安全检查。
DevOps 一直致力于在开发和发布过程中包括安全性以及质量保证(QA)、数据库管理和其他所有方面。然而,DevSecOps 是该过程的一个演进,以确保安全永远不会被遗忘,成为该过程的一个重要部分。
了解 DevSecOps 流程
典型的 DevOps 流程有不同的阶段;典型的 SDLC 流程包括计划、编码、构建、测试、发布和部署等阶段。在 DevSecOps 中,每个阶段都会应用特定的安全检查。
- 计划:执行安全性分析并创建测试计划,以确定在何处、如何以及何时进行测试的方案。
- 编码:部署整理工具和 Git 控件以保护密码和 API 密钥。
- 构建:在构建执行代码时,请结合使用静态应用程序安全测试(SAST)工具来跟踪代码中的缺陷,然后再部署到生产环境中。这些工具针对特定的编程语言。
- 测试:在运行时使用动态应用程序安全测试(DAST)工具来测试您的应用程序。 这些工具可以检测与用户身份验证,授权,SQL 注入以及与 API 相关的端点相关的错误。
- 发布:在发布应用程序之前,请使用安全分析工具来进行全面的渗透测试和漏洞扫描。
- 部署:在运行时完成上述测试后,将安全的版本发送到生产中以进行最终部署。
DevSecOps 工具
SDLC 的每个阶段都有可用的工具。有些是商业产品,但大多数是开源的。在我的下一篇文章中,我将更多地讨论在流程的不同阶段使用的工具。
随着基于现代 IT 基础设施的企业安全威胁的复杂性增加,DevSecOps 将发挥更加关键的作用。然而,DevSecOps 流程将需要随着时间的推移而改进,而不是仅仅依靠同时实施所有安全更改即可。这将消除回溯或应用交付失败的可能性。
你需要知道的DevSecOps流程及工具
发表于:2019-10-23
作者:Sagar Nangare
来源:Linux中国
 相关文章
以DevSecOps为主导的七大软件开发趋势 如何将SAST融入DevSecOps流程中? 关于DevSecOps的5个优秀实践 DevOps与DevSecOps有何区别? 导致DevSecOps失败的7种最常见原因 DevSecOps五个需要关注的编码问题- 周排行
- 月排行
-   缓存技术:加速应用,提高用户体验
-   六个好用的在线代码编辑器,你选哪个?
-   C++简单String类的实现
-   适合Java开发者学习的Python入门教程
-   在软件开发中实施AI与敏捷管理的九点建议
-   快速提升 UI 设计效果的 6 个小技巧
-   如何将SAST融入DevSecOps流程中?
-   微服务架构:构建高灵活性的分布式系统
-   智能可穿戴设备的主要测试步骤
-   这 14 个 VSCode 插件,让你写代码如同神一般
-   大模型系列:提示词管理
-   C++性能优化指南:让你的程序飞起来!
-   缓存技术:加速应用,提高用户体验
-   分布式系统:常见陷阱和应对复杂性的...