54SA.COM|专注于系统运维管理,为中国SA提供动力!
当前位置: 主页 > Windows > 服务器 > ISA >

(ISA技术)PORT和PASV模式下的FTP服务器,设置实验报告

时间:2010-10-28 21:30来源:未知 编辑:Jenny

  实验环境,
  WINDOWS 2000 SERVER,SP 2
  ISA SERVER 2000, SP 1
  IIS 5.0
  SER-U 4.0.0.4
  IE 6.0
  CUTFTP 2.0 PRO
  
  一、理解FTP工作模式
  当你在发布一个FTP服务端在ISA SERVER服务器上的时候,你需要考虑一下FTP服务器工作模式的问题。FTP客户端可以控制FTP服务端,使用
  
  PORT或者PASV模式。在客户端使用PORT和PASV命令就可以转换FTP服务端工作模式。
  FTP服务器使用一个固定端口 TCP 21来进行控制连接,同时需要第二个连接来进行数据传送。
  
  在PORT模式下,客户端通过PORT命令,告诉服务端使用PORT模式,同时给出一个客户端用来连接的指定端口。由服务端的选择一个动态端口发起连接,连接客户端指定端口,进行数据传输。在这种工作模式下,需要打开ISA SERVER服务器上所有的动态出站。
  
  在PASV模式下,客户端通过PASV命令,告诉服务端使用PASV模式,服务端返回一个动态端口,由客户端发起连接,连接服务端哪个已知的动态端口。在这种情况下,需要打开ISA SERVER服务器上所有入站。
  
  双方一旦建立了数据连接后,在连接中的数据流是双向的,此时不再受防火墙的规则限制。
  
  FTP客户端,如果使用IE,需要在INTERNET属性,高级中,选择“为FTP站点起用文件夹视图”,不选为PORT模式,选上为PASV模式。
  FTP客户端,如果使用CUTFTP,需要在站点属性,数据连接类型中选择相应的工作模式就好了。
  
  二、在ISA SERVER的服务器上使用SER-U 4.0发布FTP服务
  
  此环境下,是ISA SERVER和SER-U安装在同一台机器上。并正确安装ISA SERVER和SER-U 4.0,设置好了SER-U域、帐号、目录等。
  
  1、SER-U工作在PORT模式时
  
  默认状况下,SER-U使用的PORT模式工作,是使用TCP 20端口进行数据连接,同时还有需要有几个动态端口进行数据连接,来对付多用户。此时需要在ISA SERVER的IP PACKET FILTERS里面添加三条FILTERS。
  
  (1)TCP 21 INBOUDN ALL
  
  FILTER MODEL:ALLOW PACKET TRANSMISSION
  FILTER TYPE:CUSTOM
  FILTER SETTINGS:IP PROTOCOL:TCP
  DIRECION:IN
  LOCAL PORT:FIXED PROT 21
  REMOTE PORT:ALL PORTS
  LOCAL COMPUTER:DEFAULT IP ADDRESS FOR EACH EXTERNAL INTERFACE ON TEH ISA SERVER COMPUTER
  REMOTE COMPUTERS:ALL REMOTE COMPUTERS
  
  (2)TCP 20 OUTBOUND ALL
  
  FILTER MODEL:ALLOW PACKET TRANSMISSION
  FILTER TYPE:CUSTOM
  FILTER SETTINGS:IP PROTOCOL:TCP
  DIRECION:OUTBOUND
  LOCAL PORT:20
  REMOTE PORT:ALL PORTS
  LOCAL COMPUTER:DEFAULT IP ADDRESS FOR EACH EXTERNAL INTERFACE ON TEH ISA SERVER COMPUTER
  REMOTE COMPUTERS:ALL REMOTE COMPUTERS
  
  (3)TCP DYMANIC OUTBOUND ALL
  
  FILTER MODEL:ALLOW PACKET TRANSMISSION
  FILTER TYPE:CUSTOM
  FILTER SETTINGS:IP PROTOCOL:TCP
  DIRECION:OUTBOUND
  LOCAL PORT:DYMANIC
  REMOTE PORT:ALL PORTS
  LOCAL COMPUTER:DEFAULT IP ADDRESS FOR EACH EXTERNAL INTERFACE ON TEH ISA SERVER COMPUTER
  REMOTE COMPUTERS:ALL REMOTE COMPUTERS
  
  存在问题:
  在PORT模式下,ISA SERVER服务器需要打开所有的动态出站,如果你一个人控制ISA SERVER服务器,还不重要,如果有多人同时使用,那么ISA SERVER本身是没有什么限制的。还存在一个问题,因为是由服务端发起数据连接,容易被客户端那里的放火墙给挡掉,不过还好XP和ISA SERVRE都还比较聪明对于此种连接,还是通行了,但是对于什么天网什么的,就不是很能够保证了。
  
  
  2、SER-U工作在PASV模式时
  
  为了解决FTP服务端工作在PORT模式下,种种不足的情况,我们需要使用第二种方法。
  
  (1)设置SER-U工作在PASV模式
  本地服务器-》设置-》高级-》PASV端口范围:10001-1004。
  域-》设置-》高级-》允许被动模式传送,使用IP:输入您的IP地址,如果是动态域名,就用动态域名。
  
  (2)在ISA SERVER中添加4条关于PASV端口的BOTH FILTERS
  
  TCP 10001 INBOUND ALL
  
  FILTER MODEL:ALLOW PACKET TRANSMISSION
  FILTER TYPE:CUSTOM
  FILTER SETTINGS:IP PROTOCOL:TCP
  DIRECION:INBOUND
  LOCAL PORT:10001
  REMOTE PORT:ALL PORTS
  LOCAL COMPUTER:DEFAULT IP ADDRESS FOR EACH EXTERNAL INTERFACE ON TEH ISA SERVER COMPUTER
  REMOTE COMPUTERS:ALL REMOTE COMPUTERS
  
  剩下的3条需要把LOCAL PORT分别改为10002、10003、10004
  
  (3)在ISA SERVER中添加一条关于控制连接端口的IN FILTERS
  
  TCP 21 INBOUND ALL
  
  FILTER MODEL:ALLOW PACKET TRANSMISSION
  FILTER TYPE:CUSTOM
  FILTER SETTINGS:IP PROTOCOL:TCP
  DIRECION:IN
  LOCAL PORT:21
  REMOTE PORT:ALL PORTS
  LOCAL COMPUTER:DEFAULT IP ADDRESS FOR EACH EXTERNAL INTERFACE ON TEH ISA SERVER COMPUTER
  REMOTE COMPUTERS:ALL REMOTE COMPUTERS
  
  存在问题:
  这样设置的FTP服务器就充分考虑了安全的需要,完全限制了入站的端口范围,但是有个非常致命的问题,我这里开了4个入站的端口10001、10002、10003、10004,我就写了4条FILTERS,如果是100个入站端口呢?写100条FILTERS,那不是要死人。如果你要我打开所有的动态入站端口,那么你装ISA SERVER有什么意义呢?
  
  实验的感觉,两种方式都有问题啊!再想别的解决方法。非常感谢TONY,在这两种情况下,均实验通过了。
  三、在ISA SERVER的服务器上使用IIS 5.0 发布FTP服务
  
  此环境下,是ISA SERVER和IIS 5.0 安装在同一台机器上。并正确安装ISA SERVER和IIS 5.0,设置好了IP地址为WAN地址、端口21、主目录等。
  
  IIS 5.0默认工作模式是在混合模式下的,就是同时提供PORT和PASV模式连接,由客户端连选择使用何种模式。
  
  我们需要在ISA SERVER上添加数条FILTERS,使得IIS 5.0的FTP服务可以正常访问。
  
  (1)TCP 21 INBOUDN ALL
  
  FILTER MODEL:ALLOW PACKET TRANSMISSION
  FILTER TYPE:CUSTOM
  FILTER SETTINGS:IP PROTOCOL:TCP
  DIRECION:IN
  LOCAL PORT:FIXED PROT 21
  REMOTE PORT:ALL PORTS
  LOCAL COMPUTER:DEFAULT IP ADDRESS FOR EACH EXTERNAL INTERFACE ON TEH ISA SERVER COMPUTER
  REMOTE COMPUTERS:ALL REMOTE COMPUTERS
  
  (2)TCP 20 OUTBOUND ALL
  
  FILTER MODEL:ALLOW PACKET TRANSMISSION
  FILTER TYPE:CUSTOM
  FILTER SETTINGS:IP PROTOCOL:TCP
  DIRECION:OUTBOUND
  LOCAL PORT:20
  REMOTE PORT:ALL PORTS
  LOCAL COMPUTER:DEFAULT IP ADDRESS FOR EACH EXTERNAL INTERFACE ON TEH ISA SERVER COMPUTER
  REMOTE COMPUTERS:ALL REMOTE COMPUTERS
  
  (3)TCP DYMANIC OUTBOUND ALL
  
  FILTER MODEL:ALLOW PACKET TRANSMISSION
  FILTER TYPE:CUSTOM
  FILTER SETTINGS:IP PROTOCOL:TCP
  DIRECION:OUTBOUND
  LOCAL PORT:DYMANIC
  REMOTE PORT:ALL PORTS
  LOCAL COMPUTER:DEFAULT IP ADDRESS FOR EACH EXTERNAL INTERFACE ON TEH ISA SERVER COMPUTER
  REMOTE COMPUTERS:ALL REMOTE COMPUTERS
  
  (4)TCP DYMANIC INBOUND ALL
  
  FILTER MODEL:ALLOW PACKET TRANSMISSION
  FILTER TYPE:CUSTOM
  FILTER SETTINGS:IP PROTOCOL:TCP
  DIRECION:INBOUDN
  LOCAL PORT:DYMANIC
  REMOTE PORT:ALL PORTS
  LOCAL COMPUTER:DEFAULT IP ADDRESS FOR EACH EXTERNAL INTERFACE ON TEH ISA SERVER COMPUTER
  REMOTE COMPUTERS:ALL REMOTE COMPUTERS
  
  这样设置的情况下,IIS 5.0的FTP服务是处于混合模式的。从第三条FILTERS(TCP DYMANIC OUTBOUND ALL)可以看出ISA SERVER服务器本身对
  
  外访问基本上是没有什么限制的;从第四条FILTERS(TCP DYMANIC INBOUND ALL)可以看出ISA SERVER服务器上的动态端口都在敌人的火力之下。
  
  DISABLE 掉第四条FILTERS,IIS 5.0上的FTP模式,将使用PORT模式。
  DISABLE 掉第三条FILTERS,IIS 5.0上的FTP模式,将使用PASV模式。这些还没有实验过,按道理行的,对于ISA SERVER来说,两种模式下的FTP服务都各有其优缺点,我们需要寻找一个比较完美的解决方法。还在思索中,希望大家给我点意见,生怕自己理解的问题,写错了。
  FW:回复:PORT和PASV模式下的FTP服务器,设置实验报告[原创]
  有两个错误:
  
  quote:
  在PORT模式下,客户端通过PORT命令,告诉服务端使用PORT模式,同时给出一个客户端用来连接的指定端口。由服务端的选择一个动态端口发起连接,连接客户端指定端口,进行数据传输。在这种工作模式下,需要打开ISA SERVER服务器上所有的动态出站。
  服务器端不是选择动态端口连接,而总是管理端口减一。
  
  quote:
  FTP客户端,如果使用IE,需要在INTERNET属性,高级中

[责任编辑:Lavy]

------分隔线----------------------------