发展合作:更好的软件,更快


“最大的问题是,人们一开始并没有意识到自己有一个。”——爱德华兹·戴明,德文普斯的守护神。

澄清一个大问题

我最近分享了一个消息,去年下载的16个开源和第三方组件中有一个包含已知的漏洞。在你意识到平均每个公司每年下载超过200,000个组件之前,这似乎还不算太多。这些组件是由开发团队下载的,他们通常不知道随之而来的漏洞。

手动检查您想要下载和使用的每个组件是不可能的。没有人有时间或资源去做那件事。要做到这一点,就需要为每个组件和您的组织投入两到四个小时的研究consumes thousands of unique components each year

有一种更容易(也是免费)的方式来了解您的存储库是否包含已知安全漏洞或许可证风险的组件。60,000个活跃的Nexus存储库管理器安装中的每一个都带有一个名为Repository Health Check。如果你有大问题,健康检查会让你知道;如果你的回购没有脆弱和风险成分,你也会学到这一点。

守卫前门、房子和后门

保护前线

假设您为您的Nexus存储库管理器打开了存储库运行状况检查功能,并且报告显示了不良组件的存在。您的组织可能希望探索新的Nexus防火墙产品,该产品在您的存储库的前门提供“网络防护”,以防止将来下载已知的易受攻击、有风险或过时的组件。

保护内部

我们经常说成分像牛奶一样老化,而不是葡萄酒。是的,我们都知道今天好的部分明天可能会变坏。因此,您可以继续使用存储库运行状况检查报告来自动审核您的存储库随时间的变化。

保护背部

此外,对于那些利用staging repositories在您的配置中,Nexus防火墙可以帮助分析您的候选版本。暂存套件(在Nexus Repository的商业版本中提供)允许组织创建临时暂存库,并管理组件从暂存库到发布库的升级。这种创建独立的、可被放弃或提升的候选版本库的能力使得支持认证版本的决策成为可能。这使您能够更好地控制最终将被发布的二进制文件的确切集合。

当与Nexus防火墙解决方案结合使用时,可以评估暂存库中的每个组件是否存在已知的安全漏洞、过时或不受欢迎的版本以及有风险的许可证。以这种方式使用,Nexus防火墙不仅在组件首次下载时保护您的前门,而且在发布前保护您的后门。

解决大问题

正如戴明所建议的,要解决一个大问题,你首先需要意识到你有一个。希望本文前面提到的存储库运行状况检查功能能够对您的软件开发生命周期和软件供应链中发生的事情有所帮助。

我们都有一个软件供应链,它将组件输入到我们的存储库管理器和应用程序开发生命周期中。通过更好地了解我们正在使用的组件,我们可以更快地交付更好的软件。

虽然这个故事只涵盖了开发运营的一个方面,但是关于这个主题还有很多东西需要学习。我最近读过的最好的论文之一来自于尼尔·麦克唐纳和伊恩·海德在高德纳的文章,题目是How to Seamlessly Integrate Security Into DevOps。值得一读。