4

我目前在工作中遇到了一些问题,部署在每个人的计算机上的 BitDefender 防病毒套件阻止了对 Maven Central 的访问。

首先,我们不是软件商店,公司里只有 2 个人需要从 Maven Central 访问 jar,所以我们遇到的问题并不是整个公司都普遍存在。

我已经和 IT 经理谈过了,虽然他不想让 jar 从 Internet 上的任何位置访问,但他确实在 BitDefender 策略中添加了一个例外,以允许访问和下载来自 Maven Central 的 jar(我们的顺便说一句,构建工具是 Gradle)。好吧,除了还有一些我们无法从 Maven Central 成功访问的 jar 之外。

我的印象是,他倾向于为我们遇到问题的任何新罐子专门添加新的例外政策,并评论说“根据信息,我们可能需要继续调整和调整这些设置给定这些代码更新和包使用 HTTP 协议的方式的固有可疑性质。”

现在,我的想法是显然必须有安全可靠的方法来访问任何所需的 jar,至少来自 Maven Central 的任何 jar。当然,这就是主要软件商店的工作方式,对吧?这些行业标准的构建工具肯定不会“对 HTTP 协议的使用产生怀疑”,对吧?

所以,我的问题是软件商店等如何解决网络安全问题,同时仍然让他们的开发人员能够访问他们完成工作所需的 jar?是否有任何有用的信息可以解决“通过构建工具从远程存储库(例如 Maven Central)访问 jar 的安全性方面的问题?有什么我可以回到 IT 经理那里来争论我们如何/为什么应该减少访问限制的案例吗?

非常感谢所有帮助/评论!

4

3 回答 3

3

这就是我们在我的公司所做的事情,我在一家非常大的公司工作,那里的安全性非常高。

我们无法链接到 maven 中央存储库,但是有一个完整的团队致力于确保通过我们网络中的“内部”存储库可以使用任何和所有可能的软件工具。

如果我的项目需要某种技术,我会检查它是否在内部存储库中。如果没有,我可以要求将其包括在内。

根据您提供的信息,您没有大型软件部门,我建议您使用您当前需要的任何技术在公司网络中建立一个 repo,这与我们在此处所做的类似。这也很好,因为随着时间的推移和软件团队的成长(可能),您可以根据需要添加技术。

我希望我提供了一些见解/想法。

于 2013-10-31T19:02:04.320 回答
2

These industry standard build tools surely do not make 'inherently dubious use of the HTTP protocol', right?

如果这些工具中的任何一个(特别是 Maven)做了任何可疑的事情,我真的会感到非常惊讶。代码是开放的,我相信人们已经知道它是否在做任何恶意的事情。

具体来说 Maven Central,所有部署在 Maven Central 中的 jar 都需要使用 GPG 密钥进行签名。此外,这些文件还使用 SHA 校验和进行保护,以确保它们不会被修改。您可以在此处阅读详细的自述文件,了解将 jars 部署到 Maven Central 的过程,其中列出了将 jars 部署到 Maven Central 的所有强制性要求。

https://docs.sonatype.org/display/Repository/Central+Sync+Requirements

存储库管理器将始终为您提供帮助,因为您确保文件只下载一次,然后在本地提供。因此,如果您添加了本地存储库中缺少的依赖项,您只需要点击 Maven Central。Nexus 存储库管理器的商业版本能够根据 jar 的签名验证 jar,以确保它没有被修改。

我认为访问 Maven Central 是安全的,因为有足够的安全措施来确保数据的完整性。

请注意,如果您碰巧访问了任何其他第三方存储库,则这样做可能不一定安全。

总而言之,我确信它会下载这些 jar 文件。即使您不使用 Maven,您也必须从某个地方下载它们,同时确保您手动下拉所有传递依赖项并通过手动验证校验和来确保完整性。Maven 只是为您自动化整个过程。除此之外,它集中了所有这些库并通过单个服务器提供服务,这与您从各种服务器手动下载它们不同。

于 2013-10-31T19:29:05.437 回答
0

当安全考虑与发展需求发生冲突时,情况总是很困难。在与我合作的一家以前的公司中,我们使用存储库管理器解决了 Maven 存储库问题,该存储库管理器具有从外部存储库获取 jar 的必要权限。我强烈推荐这样一个工具,因为它也减少了对外部 repo 的依赖。即使目前无法访问外部存储库,您仍然可以构建您的软件。

当然,滥用它的可能性仍然存在。这是您只能通过在相关群体之间建立相互信任来克服的问题。

于 2013-10-31T19:11:48.010 回答