保护 Nexus 免受供应链攻击

Secure Nexus against supply chain attacks

我们从可公开访问的 reprepro Debian 软件包存储库(由 Apache Web 服务器提供支持)切换到 Sonatype Nexus Repository OSS,这是一款很棒的软件。但是我们 运行 遇到了一个问题:当有人上传 Debian 软件包时,它会在 Nexus 服务器上签名,我们将其暴露给 customers/the 互联网。此外,用于包签名的 Nexus 已知 GPG 密钥和密码。

或者换句话说:我害怕类似SolarWinds供应链攻击的情况。场景:Person 攻击可公开访问的 Nexus server/Nexus 本身,接管 Nexus,更改现有包并使用 GPG key/GPG 密码退出它们。然后,向我们的客户提供恶意代码。

我考虑将文件 blob 存储目录作为只读目标公开给公开公开的 Web 服务器,并将 Nexus 公司内部保留。遗憾的是内部文件 blob 存储布局不同,所以这是不可能的。

所以我的问题:

但也许已经有这样的 feature/another 方法,而我只是在文档中遗漏了它?

最后我们想出了几个步骤来最小化风险:

  • 使用通过 GeoIP 过滤的代理(只能从我们客户所在的国家/地区访问存储库)
  • 阻止除以下以外的所有 URI(替换为您的存储库名称):
    • /service/rest/repository/browse/REPONAME/*>
    • /repository/REPONAME/*>
    • /static/css/nexus-content.css*>
    • /favicon.ico*>
    • /favicon-*.png>