他们提议弃用并删除Fedora SCP协议

雅各布·杰伦(Jakub Jelen) (红帽安全工程师) 建议将SCP协议分类为过时的 以后继续消除它。 如 SCP从概念上讲接近RCP,并继承了体系结构问题 潜在漏洞的根源。

特别是在SCP和RCP中,服务器接受有关将哪些文件和目录发送给客户端的决定,并且客户端遵循服务器的指令,并且仅检查返回的对象名称的正确性。

通过连接到由攻击者控制的服务器,该服务器可以传送其他文件, 从而反复导致漏洞的识别。

例如,直到最近,客户端仅检查当前目录,但并未考虑服务器可以发布具有不同名称的文件并覆盖未请求的文件(例如,代替“ test.txt”根据请求,服务器可以发送一个名为».bashrc«的文件,该文件将由客户端写入。

在Jakub Jelen发表的帖子中,您可以阅读以下内容:

您好Fedora用户! 近年来,SCP协议中存在多个问题,这使我们开始讨论是否可以在初始阶段摆脱它。

大多数声音表示,他们主要将SCP用于简单的临时复制,因为sftp实用程序没有提供用于来回复制一个或两个文件的简单接口,并且因为人们只习惯于编写scp而不是SFTP。

SCP协议的另一个问题是参数处理功能.

既然提到了 将文件复制到外部服务器时,文件路径将附加到scp命令的末尾 例如在本地,当您在服务器上运行命令«scp / sourcefile remoteserver:'touch / tmp / exploit.sh` / targetfile'»时,命令»touch / tmp / exploit.sh»和文件/ tmp已创建/exploit.sh,因此在scp中使用正确的转义符非常重要。

当使用scp在接受文件名中的“`”字符的文件系统中递归传递目录内容(“ -r”选项)时,攻击者可以创建带有撇号的文件并将其制成要运行的代码。

在OpenSSH中,此问题仍未得到纠正, 因为在不破坏向后兼容性的情况下进行修复很麻烦,例如,运行命令以在复制之前检查目录是否存在。

先前的讨论表明,scp通常用于将文件从一个系统复制到另一个系统。

然而, 由于界面更简单,许多人使用scp而不是sftp 而且很明显要复制文件,或者只是出于习惯。 Jakub建议使用scp实用程序的默认实现,转换为使用SFTP协议(在某些特殊情况下,该实用程序提供“ -M scp”选项以还原为SCP协议),或向sftp实用程序添加兼容模式它允许您使用sftp作为scp的透明替代。

几个月前,我为scp编写了一个补丁,以在内部使用SFTP(可以使用-M scp将其改回),并在某些测试中成功运行了它。

上游的总体反馈也很积极,因此我也希望听到我们的用户的反馈。 它仍然有一些局限性(缺少支持,如果服务器未运行sftp子系统,它将无法工作,…),但是对于大多数常见用例来说,它应该已经足够好了。

限制之间 建议的方法 提到了与不启动sftp子系统的服务器交换数据的可能性, 并且两个外部主机之间没有通过本地主机进行传输的传输模式(“ -3”模式)。 一些用户还注意到,在带宽方面,SFTP稍微落后于SCP,在连接延迟高且延迟的情况下,SFTP变得更加明显。

为了进行测试,已经在copr存储库中放置了一个替代的openssh程序包,并通过SFTP协议使用scp实用程序的实现对其进行了修补。

数据来源: https://lists.fedoraproject.org/


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。