写点什么

安全至上:落地 DevSecOps 最佳实践你不得不知道的工具

  • 2022 年 8 月 02 日
  • 本文字数:3185 字

    阅读完需:约 10 分钟

安全至上:落地DevSecOps最佳实践你不得不知道的工具

Hi!我们是DevSecOps研发安全运营一体化解决方案提供商、Atlassian全球白金合作伙伴——龙智。在过去的十多年间,传统软件研发模式发生巨变,从瀑布式开发到敏捷再到 DevOps,开发和运维之间曾经明确的界限正在慢慢变得模糊。


DevOps 由于能够促进开发、运维、测试等不同部门的沟通、协作与整合,正在悄然成为软件研发运营主流趋势。发展至今,DevOps 也结合了新的流程,比如持续集成和持续部署来快速交付价值。


如果您对 DevOps 还知之甚少,或是想要更深入地了解 DevOps 工具链,请不要错过本系列文章。龙智将从 DevOps 的概念、DevOps 工具链、CI 及工具对比、DevOps 监控、DevSecOps 五个方面入手,让您从起源开始,逐步深入了解 DevOps 这个已流行数十年的方法论。


尽管软件公司尽了最大努力,但安全漏洞依然存在,并层出不穷。自 2000 年以来,大约有 35 亿人的个人数据被盗。发生这些问题的一部分原因在于,随着软件应用程序代码库规模和复杂性的增长,安全漏洞和漏洞利用的区域也在增长。


此外,随着越来越多的企业采用 DevOps 方法,自动化和集成软件开发和 IT 团队之间的流程,这让传统的安全工具不再适用。现在,开发人员需要将安全措施嵌入到开发工作流程的每个阶段中,并通过安全左移在 SDLC 早期预防安全风险。当涉及到 DevOps 工作流的安全性时,这种做法称为 DevSecOps。


什么是 DevSecOps?


DevSecOps 是将安全性集成到持续集成、持续交付和持续部署 Pipeline 中的实践。通过将 DevOps 价值融入软件安全,安全验证成为开发过程中一个积极的、集成的部分。


与 DevOps 非常相似,DevSecOps 是一种将项目管理工作流与自动化 IT 工具相结合的组织和技术方法。

DevSecOps 将主动地安全审计和安全测试集成到敏捷开发和 DevOps 工作流程中,从而使安全性内置于产品中,而不是应用到成品中。


要实施 DevSecOps,团队应该:

  • 在整个软件开发生命周期中引入安全性,以最大限度地减少软件代码中的漏洞。

  • 确保整个 DevOps 团队,包括开发人员和运营团队,共同承担遵循安全最佳实践的责任。

  • 通过将安全控制、工具和流程集成到 DevOps 工作流程中,在软件交付的每个阶段启用自动安全检查。通过“安全左移” 将安全程序(代码审查、分析、测试等等)移动到软件开发生命周期(SDLC)早期阶段,从而防止缺陷产生和尽早找出漏洞。


通过 DevSecOps,安全应该被应用到典型的 DevOps Pipeline 的每个阶段:计划、编码、构建、测试、发布和部署。


DevOps 必须向左移动以确保安全


在传统的 DevOps 流程中,安全评估在开发流程结束时进行。这种安全至上的方法会减慢开发生命周期,导致开发人员和安全团队产生间隙,因为他们需要重新处理几乎交付的代码来修复本可以更早发现和解决的安全问题。


因此,组织已经开始向左转移,即主动将安全性引入开发生命周期本身,而不是在最后一刻 进行安全修复。安全“左移”是 IT 开发和 DevOps 人员使用的专业术语,用于描述将安全测试和安全技术向软件开发周期上游移动。当前,安全“左移”已经成为软件行业的共识,因为在软件开发生命周期早期修复漏洞远比在后期进行补救更加省时省力。


“左移”的实践:将安全测试提前到编码和构建阶段


从实践方面来说,左移,意味着在早的阶段——编码和构建阶段就可开始进行安全测试,在早期就扫描代码中的漏洞是保障产品安全的基本,也是首要步骤。将漏洞扫描工具集成到 CI/CD 流程中,是显而易见的开始实施 DevSecOps 的地方。


这意味着要确保在交付 Pipeline 的每个主要阶段都检查代码是否存在漏洞,为了达到这种集成水平,企业需要确保负责 Pipeline 各个阶段的各方都具有他们所需的培训和工具,以检测代码中的漏洞。


相关技术包括用于检测专有代码中的漏洞的 SAST 和用于检测具有已知漏洞的开源组件的 SCA 工具。许多 SAST 和 SCA 供应商都提供与 CI 服务,构建工具,存储库的集成,还提供与 IDE 的集成,以帮助开发人员尽早发现问题。


在 DevSecOps 中,最流行的 SAST 工具是 SonarQube。SonarQube 是一个自动代码扫描工具,用来持续分析和评测项目源代码的质量。它支持 29 种开发语言,包含 java、python、C#、C++等,以及可从代码量、安全隐患、测试覆盖率等多个维度分析代码。SonarQube 涵盖了编程语言的静态扫描规则:代码编写规范+安全规范,能够与代码编辑器、CI/CD 平台完美集成。


另一个常见工具是兼顾 SCA 和 SAST 的 Mend(原 WhiteSource)。Mend 是一个侧重于 SCA,管理开源组件的一站式安全、许可和质量的解决方案。它可以准确检测所有开源许可,包括库的许可,自动化强制实施在新加组件上的许可政策。用户因此可以阻挡不期望的组件进入自己的软件。


通过使用 Mend,使企业能够通过自动修复方式,保护其专有和开源代码的安全,从而使开发人员能够集中精力开创新型应用程序。Mend 部署在云上,为 SCA 和 SAST 提供自动修复功能,并直接呈现在开发人员的存储库中。


与左移中其他工具集成


在 Atlassian 的 DevOps 解决⽅案中,同样采取了左移,将过去在测试阶段才进行的部分测试左移到了构建阶段。之前 SonarQube 是放在 Bamboo 中的,相当于在 CI/CD 阶段才使用 SAST 工具。现在左移后,通过 SonarQube for Bitbucket 插件,让 SonarQube 与 Bitbucket 紧密集成,代码扫描就被左移到了编码阶段。

使用 SonarQube for Bitbucket 插件集成这两个软件后,您可以直接在 Bitbucket 中调用 SonarQube 扫描代码语法错误等,并在两个软件中均能查看扫描结果。


Mend 与 Bitbucket 的集成同样是通过插件,方便快捷。使用 WhiteSource for Bitbucket,让 SCA/SAST 工具在编码阶段即可扫描开源组件中的已知漏洞,保障提交的代码干净。


如果您想要把 Mend 集成到 CI/CD Pipeline 中,Atlassian 的 Marketplace 中并不提供相关插件。您可以联系 Atlassian 全球白金合作伙伴——龙智,我们为您提供定制开发服务,通过脚本搭建 Mend 与 Bamboo 的集成,让您能够轻松把 Mend 集成到 CI/CD Pipeline 中。


安全贯穿于整个 DevOps 流程:应用于所有阶段、保障安全的工具


除了编码和构建,安全理念和实践还需要落实到更多的 DevOps 阶段。因为只有将安全融入到软件开发的整个生命周期中,并实现安全左移,才能落地 DevSecOps 的最佳实践。Perforce 公司的版本管理软件——Helix Core 可以实现贯穿始终的安全。从计划到部署,每一个环节都是它的用武之地。


Helix Core 在一个存储库中安全管理所有数字内容,提供单一可信来源,统一、灵活、颗粒度访问控制,具有全面可跟踪性。凭借对多因素身份验证和其他强大安全功能的支持,Helix Core 是为您最宝贵资产——知识产权,提供坚固保护的最安全的版本控制系统。


除了 Helix Core 以外,还有许多版本控制软件可供选择,例如 Bitbucket、SVN 等。如果您的企业同时使用多个版本控制软件,那么通过 Atlassian 公司的源代码库深度查看软件 Fisheye 来管理这些版本管理软件是个很好的选择。Fisheye 与 Jira 深度集成,让您能够直接通过 Jira 来管理这些版本管理软件。


龙智集成世界主流工具,为您量身定制 DevSecOps 解决方案


随着越来越多的开发团队发展他们的流程并采用新工具,他们需要认真对待安全。DevSecOps 是一个循环过程,应该不断迭代并应用于每个新的代码部署。漏洞和攻击者都在不断发展,现代的软件团队也必须随之发展。


龙智延续开放式DevOps的理念,帮助您集成Atlassian工具和各种安全工具,为企业量身定制DevSecOps解决方案。


同时,龙智作为 Atlassian 全球白金合作伙伴,为帮助释放及拓展 Atlassian 工具的力量,也自主开发了多款 Atlassian 插件,更适合本土企业使用。包括帮助用户保护文档版权、跟踪文档内容来源以及提高可信度的Confluence水印插件(Watermark for Confuence);实施记录、限制用户在 Confluence 中复制页面内容、下载附件等行为的 Confluence 附件与页面安全管理插件,以及Jira工时管理插件(TimeWise for Jira)Jira工作流扩展和并行审批插件(WorkflowWise for Jira)等,欢迎咨询试用。


想了解更多 Atlassian DevOps 解决方案、工具及客户案例?欢迎您立即咨询Atlassian全球白金合作伙伴—龙智

电话:400-775-5506

邮箱:marketing@shdsd.com


用户头像

还未添加个人签名 2021.05.18 加入

还未添加个人简介

评论

发布
暂无评论
安全至上:落地DevSecOps最佳实践你不得不知道的工具_DevOps_龙智—DevSecOps解决方案_InfoQ写作社区