您现在的位置是:首页 > IT基础架构 > 网络与安全 >

一些文件传输协议为人诟病的缺点

2012-02-14 22:02:00作者: 来源:

摘要文件传输协议(FTP)有一个漫长的演化史,是互联网上最重要的应用之一,但时至今日,却已江河日下。本文作者从各方面列举了一些文件传输协议(FTP)为人诟病的缺点。 ...

  文件传输协议(FTP)有一个漫长的演化史,是互联网上最重要的应用之一,但时至今日,却已江河日下。本文作者从各方面列举了一些文件传输协议(FTP)为人诟病的缺点。

  1.数据传输模式不合理

  不考虑文件自身的内容,一味使用ASCII模式传输数据是不合理的。文件传输协议(FTP)应该具有自动检测功能,当然用户也可以进行自定义。

  虽然现在许多Linux和Windows客户端已经支持自动传输模式,但多达数代的UNIX和Windows客户端都默认使用ASCII传输模式,这种传输模式甚至会造成文件损坏。

  2.工作方式设计不合理

  文件传输协议(FTP)可以在主动模式(PORT)或被动模式(PASV)下工作,这决定了数据链接建立的方式。

  在主动模式下,客户端首先向服务器端发送IP地址和端口号,然后等待服务器端建立TCP链接。在被动模式下,客户端同样首先建立到服务器的链接,但服务器端会开启一个端口(1024到5000之间),等待客户端传输数据。

  文件传输协议(FTP)中最让人不可思议的是,客户端会侦听服务器端!

  3.与防火墙工作不协调

  在文件传输协议(FTP)诞生在网络地址转换(NAT)和防火墙之前,那时的网络还不存在恶意攻击。今天大多数最终用户的IPv4地址已不可路由,这是因为防火墙的使用和IPv4地址的短缺。

  这对FTP意味着什么呢?这意味着如果FTP客户端IP地址不可路由,或者位于防火墙之后,那么就只能使用被动传输模式进行数据传输。

  如果服务器端的IP地址也不可路由,或者位于防火墙之后呢?FTP将无法进行数据传输!

  现在,许多防火墙适用于NAT环境,可以使用一些特殊的技巧(hacks)允许FTP在防火墙之后正常工作。当然,这需要对防火墙进行配置。

  4.密码安全策略不完善

  在互联网早期,文件传输协议(FTP)并没有对密码安全作出规定。在FTP客户端和服务器端,数据以明文的形式传输,任何对通讯路径上的路由具有控制能力的人,都可以通过嗅探获取你的密码和数据。

  我们当然可以使用SSL封装FTP,但FTP是通过建立多次链接进行数据传输的,我们即便是保护了密码安全,也很难保护数据传输的安全性。

  自文件传输协议(FTP)发布以来,安全的数据传输也经历了长足发展,推荐使用SCP取代FTP进行文件传输。

  5.FTP协议效率低下

  从FTP服务器上检索一个文件,包含繁复的交换握手步骤:

  ● 客户端建立到FTP服务器端控制端口的TCP Socket链接,并等待TCP握手完成

  ● 客户端等待服务器端发送回执

  ● 客户端向服务器端发送用户名并等待响应

  ● 客户端向服务器端发送密码并等待响应

  ● 客户端向服务器端发送SYST命令并等待响应

  ● 客户端向服务器端发送TYPE I命令并等待响应

  ● 如果用户需要在服务器端切换目录,客户端仍然发送命令并等待响应

  ● 主动模式下,客户端需要发送PORT命令到服务器端,然后等待响应(被动模式与主动模式相反)

  ● 建立数据传输链接(需要经过三次握手,建立一条TCP Socket连接)

  ● 通过链接传输数据

  ● 客户端等待服务器端从控制连接发送2xx指令,以确保数据传输成功

  ● 客户端发送QUIT命令,并等待服务器响应

  同样的情形,我们来看看HTTP协议:

  ● HTTP客户端向HTTP服务器端建立一条TCP Socket连接

  ● HTTP客户端向HTTP服务器端发送GET命令,包含URL、HTTP协议版本、虚拟主机名等等,并等待响应

  ● HTTP服务器端的响应包含了所有想要的数据,完成!

  传输一个文件,FTP需要往复10次,而HTTP只需要2次!如果传输多个文件,FTP可以省略发送用户名和密码的步骤,而HTTP则可以使用固定的套接字(Socket),在相同的TCP连接中传输文件。

  综上所述,虽然文件传输协议(FTP)曾经显赫一时,但现在已经过时了,它是一个既不不安全,也不不友好,而且效率低下的协议,势必被取而代之


(本文不涉密)
责任编辑:

站点信息

  • 运营主体:中国信息化周报
  • 商务合作:赵瑞华 010-88559646
  • 微信公众号:扫描二维码,关注我们