项目帖子最初由Spotify 的 Patrik Oldsberg[1]在的Backstage 博客[2]上发表
TL;DR(长话短说):Backstage 的安全态势继续成熟!今天,我们将发布一份独立安全审计报告和第一版 Backstage 威胁模型。
作为 CNCF 的孵化项目[3],Backstage 有幸利用了获赞助的安全审计。OSTIF[4](Open Source Technology Improvement Fund,开源技术改进基金)赞助了这次审计,作为其正在进行的保护开源软件生态系统的努力的一部分,审计本身由X41 D-Sec[5]执行。我们审计的目标是评估和改善 Backstage 的安全状况,重点关注核心 Backstage 框架和插件。
报告调查结果和修复
安全审计和改进在本月早些时候,即 8 月 18 日结束。审计发现总共有两个严重、两个高、五个中等和三个低严重性漏洞,以及 15 个没有直接安全影响的附带发现。在Backstage 1.5 版本[6]中,12 个主要发现中的 8 个和许多辅助发现都已完全修复。如果你落后几个版本,也不必担心,1.3 版本中已经包含了大多数修复。
在尚待解决的四项调查结果中,三项与速率限制或内部监督事务司关切有关。随着 Backstage 威胁模型的引入(更多信息见下文),Backstage 的定位声明这不在 Backstage 的安全考虑范围之内。相反,我们相信 Backstage 的内部用户,不会故意破坏服务的可用性。这并不是说我们永远不会致力于解决这些发现,但是我们已经推动它们成为未来潜在的改进,我们将近期的努力集中在以其他方式改进产品上。
最后一个突出的发现是构建我们的服务对服务认证系统的功能。这是审计在我们早期版本的实现中发现的几个缺失部分。此后,我们通过引入令牌过期弥补了这一差距,并将继续致力于此,我们将通过后端系统的发展[7]为更复杂和更坚固的部署模式开辟了道路。
另一个重要发现是,由于大多数身份认证提供者默认启用登录,因此可能会造成混淆和用户假冒。这一发现加强了我们的决定,即将所有身份验证提供者的登录切换为默认禁用,这是1.1 版本[8]的一部分。
也许这次审计最重要的结果是,它帮助我们集中精力不断提高 Backstage 的安全性。它确定了我们今后在实施和文档方面的优先领域。调查结果中指出的一个特殊领域是围绕 Backstage 部署的安全模型的文档。在文档中已经做了一些努力来强调这一点,但是仍然不够清楚。我们一直缺少的是完全致力于详细说明 Backstage 安全问题的文档。这就是为什么除了发布安全审计报告之外,我们还引入了 Backstage 威胁模型。
引入 Backstage 威胁模型
现有的 Backstage 文档在其文本中交织了许多安全相关的内容,但是要找到它们,你需要花费大量时间阅读。我们以前缺乏一个一站式服务,让对安全模式和 Backstage 问题感兴趣的读者可以使用。因此,我们很高兴引入Backstage 威胁模型[9],它弥合了这一差距。威胁模型概述了操作员、开发人员和安全研究人员的主要安全考虑事项。它是一个活的文档,将随着 Backstage 项目一起发展和扩展。
威胁模型文档涵盖了典型 Backstage 设置中涉及的信任模型和角色、Backstage 集成者的职责以及所有 Backstage 项目的常见配置问题。除了这三个主题,它还深入探讨了许多核心特性。“auth”、“catalog”、“scaffolder”和“techdocs”插件都分别提到各自的安全问题。
如果你赶时间,我们想指出几个关键部分。请务必熟悉集成者保护 Backstage 安装免受未授权访问的责任。如果你将组织数据接收到目录中,并使用它来登录用户,你还需要查看身份验证和目录部分的前半部分。
链接和参考
- Full Audit Report[10]
- Backstage Threat Model[11]
- Backstage Security Policy[12]
代表 Backstage 维护者和社区:感谢 CNCF、OSTIF 和 X41 D-Sec 给我们改进项目的机会。
参考资料
[1]
Spotify 的 Patrik Oldsberg: https://github.com/Rugvip
[2]
Backstage 博客: https://backstage.io/blog/2022/08/23/backstage-security-audit
[3]
孵化项目: https://www.cncf.io/blog/2022/03/15/backstage-project-joins-the-cncf-incubator
[4]
OSTIF: https://ostif.org/
[5]
X41 D-Sec: https://x41-dsec.de/
[6]
Backstage 1.5 版本: https://backstage.io/docs/releases/v1.5.0
[7]
后端系统的发展: https://github.com/backstage/backstage/issues/11611
[8]
1.1 版本: https://backstage.io/docs/releases/v1.1.0
[9]
Backstage 威胁模型: https://backstage.io/docs/overview/threat-model
[10]
Full Audit Report: https://backstage.io/blog/assets/22-08-23/X41-Backstage-Audit-2022.pdf
[11]
Backstage Threat Model: https://backstage.io/docs/overview/threat-model
[12]
Backstage Security Policy: https://github.com/backstage/backstage/blob/master/SECURITY.md