ftp被动模式和主动模式分析

   在http://www.cnblogs.com/dhb133/archive/2007/05/31/765955.html文章中有句话“客户端缺省为active(port)模式;近来,由于Port模式的安全问题,许多客户端的FTP应用缺省为Passive模式”

  为什么呢?

客户端和服务器端21端口建立连接后,客户端软件使用 PORT命令,这个命令包含了一个暂时的端口和一个ip地址,这个ip地址和端口一般是客户端自己的ip和一个随机端口,但是这个ip地址和端口可以伪造(未经过验证,理论值),那如果是一个被攻击者的ip和80端口,这样就可以找到很多ftp服务器,去连接被攻击者的80端口,会发生什么后果就不知道了。

   正常情况下客户端发送一个ip地址和端口,如果客户端安装了防火墙,那么服务器端就不能连接,而且这个端口不好开放,因为这个端口是个随机的端口。

被动模式下,是服务器端告诉你一个端口,由客户端去连接,这个端口可以随机,也可以限制某一个端口段或者某一个端口,服务器端也比较好开放防火墙端口。

但是这里也有一个问题,就是在客户端和21连接后,服务器端会返回一个自己的ip和端口让客户端去连接,如果此服务器是在内网的话,会返回内网的ip,那客户端肯定不能连接, serv-u里面可以设置被动模式使用的ip,这样就可以解决问题,但是如果服务器自己连自己,就又出现新的问题,在某种路由器下面,自己访问自己的外网ip是不能到达的,也就是说这样设置的话,ftp服务器端自己不能连接自己的ftp。另一个解决办法就是客户端使用filezilla在属性里面设置,如下图,使用服务器的外部ip地址来代替

posted on 2011-02-14 15:12  dhb133  阅读(401)  评论(1编辑  收藏  举报

导航