logo

当开发者驱动开源时如何保证安全性?

作者:OSCHINA2021.08.26 14:06浏览量:90

简介:开源已经成为最可行、最具成本效益和最前沿的解决方案,使企业在创新中获得优势。

原文:How security keeps up when developers drive open source 作者:John Walsh,编译:御坂弟弟

随着开发人员越来越多地使用开源软件,强有力的安全措施也已经提上日程。

技术转型正日益成为竞争差异化的手段,各行业的企业都在新的平台、工具和框架上大量投资。结果是,开源已经成为最可行、最具成本效益和最前沿的解决方案,使企业在创新中获得优势。

企业不再需要购买或在内部构建所有他们需要的软件。取而代之的是,开发人员现在可以从整个开发社区的工作中受益,在其基础上利用他们的集体力量,而不必从头开始。这使得无数新的创新链得以实现,并提高了新产品的上市速度。根据研究,69% 的 IT 领导者认为开源对企业的整体企业基础软件计划非常重要。但软件开发并不总是这样做的。

改变企业软件的采购模式:从专有软件、免费软件到开源软件

在过去的三十年里,软件的选择、采购和使用都发生了巨大的变化。20 世纪 80 年代,MS-DOS 投放市场,并迅速成为计算机技术的企业标准。不久之后,微软发布了 Windows 1.0,Oracle 和 SAP 等软件公司的数据库产品开始掀起波澜。

当时 CIO 们完全负责他们公司将使用的工具和软件,企业内部的技术用户很少被咨询他们所喜欢的平台。选择一个特定的专有工具的过程也很广泛。每一个工具都有一个高昂的价格标签,这意味着购买的决定是经过仔细考虑的,工具要经过测试和再测试,而且上岗通常需要几个月甚至更长的时间。

随着 2000 年代初免费增值模式的引入,这一切都发生了变化,因为软件变得更加开放、易于使用和易于实现。CIO 仍然参与采购决策,但整体决策权却转移到了运营领导手中。因此,组织开始采用新的应用程序,承诺简化流程、提高生产力和增强体验。

又过了 10 年,自下而上的决策模式已经司空见惯。企业正在应对越来越大的压力,通过让开发人员和其他技术用户自己动手,更好更快地构建和交付软件和服务。为了满足不断增长的期望,他们需要获得能够帮助他们自动化 CI/CD 管道、大规模构建和部署应用程序并快速解决新挑战的工具。

自由、开源软件为这种情况提供了 “完美 “的解决方案。由于它不需要授权,开发人员可以在不涉及高级 IT 领导层的情况下快速部署它,而且往往在他们完全不知情的情况下部署。鉴于开发人员的影响力越来越大,开源使用越来越成为一种公认的规范,DevOps 团队现在经常被授权推动创新的边界,并推动数字化转型计划。

保护开源的秘密

安全团队意识到了这种决策的转变,但更多的时候仍只能看到表面。为了更快地生产代码,DevOps 团队在采用最新、最好的开源工具之前,往往没有与安全团队协商。这可能会导致不安全的做法,包括在应用程序和配置文件中嵌入秘密,例如敏感数据库的凭证或云访问密钥。

随着围绕开发人员工作的社区意识的增强,在组织外共享代码的推动下,与这些嵌入的秘密相关的风险也随之增加。共享代码带来了重要的好处,但也会暴露代码中嵌入的秘密和其他机密信息,使企业容易受到攻击。当开发人员在没有足够的审查或关注更新的情况下重新使用第三方代码时,也可能出现这种情况。事实上,31% 的组织在去年怀疑或已经核实了与开源组件相关的漏洞。当选择和使用一个开源工具时,开发人员必须评估它的潜在安全问题,特别是工具安全处理机密的能力。

不幸的是,大多数传统的安全管理解决方案和实践都是为了支持传统的软件应用和开发方法而设计的。对于开源软件、微服务、容器、协调器和无服务器技术的快节奏世界来说,它们太慢、太复杂了。DevOps 需要一种全新的安全方法,在不影响速度的情况下降低风险和不确定性。安全领导者必须寻找方法,授权开发人员更安全地使用开源工具。

赋予开发者开源秘密管理的四种方法

许多安全团队正在将开源秘密管理引入其开发同行,以帮助确保 DevOps 管道的安全,并且该技术在三个关键用例中获得了特别的助力:

确保容器的安全和认证。容器通过提高应用的可移植性和速度,为 DevOps 和工程团队解决了很多问题。但它们的短暂性使其难以识别和确定访问权限。在审查容器的秘密请求时,零信任方法是必不可少的,其中容器与其关键属性进行匹配以进行身份验证。然后可以在需要知道的基础上与它们共享信息。

管理弹性和自动扩展环境秘密。云提供商提供自动扩展功能,以支持弹性和按增长付费的经济效益。但云自动伸缩的动态特性为组织带来了安全管理挑战。通常,当一台新主机上线时,主机的所有者可以手动设置权限,但这种人为的互动并不能扩展。但是,如果有合适的认证措施,新主机的身份注册就可以自动完成。

消除多云、多工具的安全岛。秘密通常是单独维护和管理的,使用不同的系统或 “安全岛”,这使得共享秘密和建立统一的安全策略变得困难。在这种情况下,可以使用中央身份验证系统来控制和审计跨领先工具堆栈、容器平台和云环境的非人类访问。这可以作为一个强大的秘密管理系统,帮助简化操作和提高合规性。

开源秘密管理允许开发人员继续做他们喜欢的事情,而不用担心安全问题。对于企业需求不断扩大的组织来说,它代表了一个全面的解决方案,可以在现有的工作流程中确保 DevOps 环境中的机密和其他凭证的安全。

相关文章推荐

发表评论