From e376be4dfa88526fa6f2952d7ddb7f0d2ceb48a4 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Tue, 23 Aug 2022 13:10:24 +0200 Subject: [PATCH] microsite: add security audit blog post Signed-off-by: Patrik Oldsberg --- .../2022-08-23-backstage-security-audit.md | 41 ++++++++++++++++++ .../22-08-23/backstage-security-audit.png | Bin 0 -> 50389 bytes 2 files changed, 41 insertions(+) create mode 100644 microsite/blog/2022-08-23-backstage-security-audit.md create mode 100644 microsite/blog/assets/22-08-23/backstage-security-audit.png diff --git a/microsite/blog/2022-08-23-backstage-security-audit.md b/microsite/blog/2022-08-23-backstage-security-audit.md new file mode 100644 index 0000000000..d81b9b1cf6 --- /dev/null +++ b/microsite/blog/2022-08-23-backstage-security-audit.md @@ -0,0 +1,41 @@ +--- +# prettier-ignore +title: Backstage Security Audit & Updates +author: Patrik Oldsberg, Spotify +authorURL: https://github.com/Rugvip +--- + +**TL;DR** Backstage’s security posture continues to mature! Today, we’re releasing a report from an independent security audit and the first version of the Backstage Threat Model. + +![Backstage Security Audit & Updates](assets/22-08-23/backstage-security-audit.png) + +As an [Incubating project](https://www.cncf.io/blog/2022/03/15/backstage-project-joins-the-cncf-incubator/) within the [Cloud Native Computing Foundation (CNCF)](https://www.cncf.io/), Backstage was fortunate enough to take advantage of a sponsored security audit. The [Open Source Technology Improvement Fund (OSTIF)](https://ostif.org/) sponsored the audit as part of its ongoing efforts to secure the open source software ecosystem, and the audit itself was performed by [X41 D-Sec](https://x41-dsec.de/). Our goal with the audit was to evaluate and improve Backstage’s security posture, focusing on the core Backstage framework and plugins. + + + +## Report Findings and Fixes + +The security audit and improvements concluded earlier this month, on August 18th. The audit **findings** totalled two critical, two high, five medium, and three low severity vulnerabilities, alongside 15 side findings with no direct security impact. As of the [Backstage 1.5 release](https://backstage.io/docs/releases/v1.5.0), eight out of the 12 main findings and many of the side findings are fully remedied. If you are a few versions behind there’s no need to worry though, most fixes were included in the 1.3 release. + +Out of the four findings that have yet to be fixed, three are related to rate limiting or internal DoS concerns. With the introduction of the Backstage Threat Model (more on that below), Backstage’s positioning states that this is outside the scope of the security concerns of Backstage. Rather, we trust internal users of Backstage to not intentionally sabotage the availability of the service. This is not to say that we will never aim to get these findings addressed, but we have pushed them to be potential future improvements as we focus our near-term efforts on improving the product in other ways. + +The last outstanding finding is to build out the capabilities of our service-to-service auth system. This is an area where the audit identified a couple of missing pieces in our early version of the implementation. We have since closed the gap by introducing token expiration, and will continue to work on this as we open up for more complex and hardened deployment patterns through the [evolution of the backend system](https://github.com/backstage/backstage/issues/11611). + +Another important finding was the potential for confusion and user impersonation due to most authentication providers having sign-in enabled by default. This finding reinforced our decision to switch sign-in to being disabled by default for all authentication providers, which was part of the [1.1 release](https://backstage.io/docs/releases/v1.1.0). + +Perhaps the most important outcome of this audit is that it helped us focus our efforts to keep improving the security of Backstage. It identified priority areas in both implementation and documentation for us going forward. One particular area that was pointed out in a finding is the documentation around the security model of Backstage deployment. There have been several efforts to highlight this in documentation, but it is still not clear enough. What we’ve been lacking is documentation that is completely dedicated towards detailing the security concerns of Backstage. That is why in addition to publishing the security audit report, we are also introducing the [Backstage Threat Model](https://backstage.io/docs/overview/threat-model). + +## Introducing the Backstage Threat Model + +The existing Backstage documentation has many security concerns interwoven within its text, but to find them all, you need to spend a lot of time reading. We previously lacked a one-stop-shop for readers that are interested in the security model and concerns of Backstage. So, we are happy to introduce the [Backstage Threat Model](https://backstage.io/docs/overview/threat-model), which closes this gap. The Threat Model outlines key security considerations for operators, developers, and security researchers. It is a living document that will evolve and expand alongside the Backstage project. + +The threat model document covers the trust model and roles involved in a typical Backstage setup, the responsibilities that fall on integrators of Backstage, and common configuration concerns across all Backstage projects. Beyond these three topics, it also dives deeper into a number of core features. The `auth`, `catalog`, `scaffolder`, and `techdocs` plugins are all covered separately with their individual security concerns. + +We’d like to point out a few key parts in case you are in a rush. Be sure to familiarize yourself with the integrator's responsibility to protect the Backstage installation from unauthorized access. If you ingest organizational data into the catalog and use that to sign in users, you’ll also want to check out the first halves of the authentication and catalog sections. + +## Links and References + +- [Full Audit Report](assets/22-08-23/X41-Backstage-Audit-2022.pdf) +- [Backstage Security Policy](https://github.com/backstage/backstage/blob/master/SECURITY.md) + +On behalf of the Backstage maintainers and community: thanks to the CNCF, OSTIF, and X41 D-Sec for the opportunity to improve the project. diff --git a/microsite/blog/assets/22-08-23/backstage-security-audit.png b/microsite/blog/assets/22-08-23/backstage-security-audit.png new file mode 100644 index 0000000000000000000000000000000000000000..d45d43168c9b0bdc3e11a433571571dc837d4309 GIT binary patch literal 50389 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 z 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