在生产环境中使用Composer Install的安全问题

 辰小坏2602938945 发布于 2022-12-17 23:31

我正在尝试为企业级应用程序设计部署过程.关于Composer是否可以在生产环境中使用,我听到了相互矛盾的意见.

我知道运行composer update会是一个错误,因为你可以提供未经测试的版本.而在生产中,建议仅composer install使用.

所以说,我最关心的是安全问题.中间人的攻击有多容易.如果packagist遭到攻击,我们可以删除被黑客入侵的代码吗?

我不希望每次部署时都有一个手动流程,我必须手动将供应商文件移除.目前,Jenkins将把源文件移到生产环境中.如果可能的话,我不想版本控制供应商文件夹.

    如果我使用,我真的应该关心安全吗composer install

    如果我不在生产中使用composer,你如何建议我部署供应商文件?

Sven.. 6

是的,您应该关注并尝试了解涉及哪些数据传输.

Composer的当前实现确实在内部使用了很多校验和,但是没有涉及包签名,因此在期间下载的任何内容都composer install可能是任何软件,具体取决于托管软件存储库或TGZ/ZIP的服务器,或者被询问元数据是一个有效的目标,可能会被篡改以影响您的安装.

但请注意,这不仅与安全性有关.如果您依赖于在生产部署期间可安装的软件包,则更有可能是所提到的任何服务器都处于脱机状态.您如何保护您的部署免受第三方软件托管的任何服务器中断?这个问题的答案非常简单:在本地托管软件.

这个答案也会影响安​​全问题:如果您在本地托管软件包,您还可以在内部提供这些版本之前对其进行审核.根据您需要的安全级别,您可以检查您获得的每个版本,并将可用版本限制为只能检查的少数版本,或者您可以创建一种更慷慨的方式来断言您获得的软件从原始的Git存储库中获取,并在本地创建该软件的ZIP版本(如果您不打算进一步开发IMO软件包,则ZIP更方便).

目前只有两种软件产品可以提供帮助:Toran Proxy是Jordi Boggiano(Composer核心开发人员之一)的商业产品,应该也有助于为Composer和基础设施的开发提供资金.另一个软件是Satis,它还允许创建您使用的软件包的本地副本.

免责声明:我的回答可能没有深入细节,可能会提供一些过于简短或可能错误的细节.它并不是要解决每个安全细节,而是要给出一个广泛的概述.软件包的安全性和真实性检查是一个相当长时间讨论的主题(例如参见https://github.com/composer/composer/issues/38),但到目前为止还没有任何结果.

1 个回答
  • 是的,您应该关注并尝试了解涉及哪些数据传输.

    Composer的当前实现确实在内部使用了很多校验和,但是没有涉及包签名,因此在期间下载的任何内容都composer install可能是任何软件,具体取决于托管软件存储库或TGZ/ZIP的服务器,或者被询问元数据是一个有效的目标,可能会被篡改以影响您的安装.

    但请注意,这不仅与安全性有关.如果您依赖于在生产部署期间可安装的软件包,则更有可能是所提到的任何服务器都处于脱机状态.您如何保护您的部署免受第三方软件托管的任何服务器中断?这个问题的答案非常简单:在本地托管软件.

    这个答案也会影响安​​全问题:如果您在本地托管软件包,您还可以在内部提供这些版本之前对其进行审核.根据您需要的安全级别,您可以检查您获得的每个版本,并将可用版本限制为只能检查的少数版本,或者您可以创建一种更慷慨的方式来断言您获得的软件从原始的Git存储库中获取,并在本地创建该软件的ZIP版本(如果您不打算进一步开发IMO软件包,则ZIP更方便).

    目前只有两种软件产品可以提供帮助:Toran Proxy是Jordi Boggiano(Composer核心开发人员之一)的商业产品,应该也有助于为Composer和基础设施的开发提供资金.另一个软件是Satis,它还允许创建您使用的软件包的本地副本.

    免责声明:我的回答可能没有深入细节,可能会提供一些过于简短或可能错误的细节.它并不是要解决每个安全细节,而是要给出一个广泛的概述.软件包的安全性和真实性检查是一个相当长时间讨论的主题(例如参见https://github.com/composer/composer/issues/38),但到目前为止还没有任何结果.

    2022-12-17 23:48 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有