天使网赚论坛

 找回密码
 立即注册
查看: 2342|回复: 0

ISA下FTP的解决办法

[复制链接]

主题

帖子

0

积分

网赚新手

Rank: 2

积分
0
lanlanxing 发表于 2010-10-15 16:36:18 | 显示全部楼层 |阅读模式
有很多人对FTP的问题多多,大家参考、讨论一下。我的环境如下:
SERVER:ISA SP1,IIS
CLIENT:Windows 2000 and XP, CuteFTP
本文主要讨论ISA和FTP在同一台机器上的处理办法。
大多数的TCP服务是使用单个的连接,一般是客户向服务器的一个周知端口发起连接,然后使用这个连接进行通讯。但是,FTP协议却有
所不同,它使用双向的多个连接,而且使用的端口很难预计。一般,FTP连接包括:
一个控制连接(control connection)
这个连接用于传递客户端的命令和服务器端对命令的响应。它使用服务器的21端口,生存期是整个FTP会话时间。
几个数据连接(data connection)
这些连接用于传输文件和其它数据,例如:目录列表等。这种连接在需要数据传输时建立,而一旦数据传输完毕就关闭,每次使用的端
口也不一定相同。而且,数据连接既可能是客户端发起的,也可能是服务器端发起的。
在FTP协议中,控制连接使用周知端口21,因此使用ISA的IP PACKET FILTER就可以这种连接进行很好的安全保护。相反,数据传输连接
的目的端口通常实现无法知道,因此处理这样的端口转发非常困难。FTP协议使用一个标准的端口21作为ftp-data端口,但是这个端口只
用于连接的源地址是服务器端的情况,在这个端口上根本就没有监听进程。FTP的数据连接和控制连接的方向一般是相反的,也就是说,
是服务器向客户端发起一个用于数据传输的连接。连接的端口是由服务器端和客户端协商确定的。FTP协议的这个特征对ISA转发以及防
火墙和NAT的配置增加了很多困难。
除此之外,还有另外一种FTP模式,叫做被动模式(passive mod)。在这种模式下,数据连接是由客户程序发起的,和刚才讨论过的模式(
我们可以叫做主动模式)相反。是否采取被动模式取决于客户程序,在ftp命令行中使用passive命令就可以关闭/打开被动模式。
前面我们讲过,FTP协议的数据传输存在两种模式:主动模式和被动模式。这两种模式发起连接的方向截然相反,主动模式是从服务器端
向客户端发起;被动模式是客户端向服务器端发起连接。
我们回到ISA的情况,如果采用被动模式,由于IIS是完全随机的选择一个端口,并告知客户,然后客户进行主动连接,这就意味着在ISA
上,你要让所有的端口都允许动态入站连接才行,这样肯定不行,因为太危险了,等于打开了所有的端口连接。
如果采用主动模式(PORT Mode),IIS选择好端口后,主动与客户进行连接,这时候不需要像PASV模式那样打开所有的动态入站连接,而
且正好相反,我们需要打开所有的动态出站连接即可,安全性增加很多。而且由ISA的IP PACKET FILTER只对ISA本机起作用,不会造成
局域网内的客户“放了羊”。
所以,我个人这样做的:
(1)由于IIS和ISA都在一台机器上,所以它俩都在侦听21号端口(IIS默认情况下会侦听所有地址的21端口),所以我们首先要让IIS只
侦听内网地址的PORT 21,在DOS下,你可以通过NETSTAT -NA > abc.txt,然后打开这个文件,你会看到0.0.0.0 21 LISTENING字样。
输入如下命令:
net stop msftpsvc (停止FTP服务)
进入\Inetpub\adminscripts\目录
cscript adsutil.vbs set msftpsvc/disablesocketpooling true (停止侦听)
net start msftpsvc (启动FTP服务)
(2)在IIS控制台里面,ftp->Property->FTP Site->IP Address改为内网地址。现在,FTP服务只侦听内网IP的21号端口了。
(3)大家可能这时候有疑问,如果是IIS主动连接客户端,那客户端的防火墙是不是会阻止这个连接(PASV模式不存在这个问题)。为
了防止这种情况,我们可以强制IIS不能与客户端的任意端口进行连接,而只有客户端连接IIS的端口进行数据传输。这样就可以解决
PORT MODE与客户端防火墙的冲突。方法:修改注册
表,HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Msftpsvc\Parameters\,将EnablePortAttack的值由0改为1,然后重新
启动FTP服务。
(4)在ISA里面,使用SERVER PUBLISH的方法发布FTP服务,其中:IP address of internal server 填写ISA的内部网卡的IP,IP
address of external server 填写ISA的外部网卡的IP,Mapped server protocol 选择 FTP Server。
(5)然后在IP Packet Filter建立一条新RULES,Protocol->TCP,Direction->Outbound,Local Port->Dymanic,Remote Port->All
--------------------------------------------------------------------------------------------------
服务器机房信息介绍
香港服务器租用 各大机房信息
九仓电讯机房成立于1995年,最大的香港固网电信公司之一,拥有着稳定与先进的海底电缆与全球各基础线路商高速联接。
美国服务器租用香港服务器租用 - 香港九仓电讯线路租用介绍
处理器/频率(CPU) 内存 硬盘 带宽/月流量 IP数 月付价格  
Atom 230 1.6Ghz (超线程)  1GB  80GB  2M独享国际带宽  1  800元/月  
奔腾双核 E2160 1.8Ghz 1GB  80GB  2M独享国际带宽  1  900元/月  
奔腾双核 E5200 2.5Ghz 2GB  160GB  2M独享国际带宽  1  1100元/月  
四核至强 X3220 2.4Ghz 4GB  160GB  2M独享国际带宽  1  2100元/月  
美国服务器租用 - 香港和记电讯线路-租用介绍
处理器/频率(CPU) 内存 硬盘 带宽/月流量 IP数 月付价格  
Atom 230 1.6Ghz (超线程)  1GB  80GB  2M独享国际带宽  1  800元/月  
奔腾双核 E2160 1.8Ghz 1GB  80GB  2M独享国际带宽  1  900元/月  
奔腾双核 E5200 2.5Ghz 2GB  160GB  2M独享国际带宽  1  1100元/月  
四核至强 X3220 2.4Ghz 4GB  160GB  2M独享国际带宽  1  2100元/月  
香港服务器租用 - 香港NTT/HKNET线路 租用介绍
NTT机房是香港最大型最稳定的数据中心,自从2000年收购HKNET旗下起,
NTT在香港电讯服务上即占据领先地位。NTT/HKNET是目前香港到中国大陆速度最快、最稳定的线路之一。
处理器/频率(CPU) 内存 硬盘 带宽/月流量 IP数 月付价格  
酷睿双核 E7400 2.80Ghz 2GB  160GB  2M独享国际带宽  5  1280元/月  
酷睿四核 Q8200 2.33Ghz 4GB  160GB  2M独享国际带宽  5  1600元/月  
四核至强 E5405 2.0Ghz 4GB  500GB  2M独享国际带宽  5  2980元/月  
双CPU * 四核至强 E5405 2.0Ghz  4GB  2* 146G SAS  2M独享国际带宽  5  3380元/月  
USA-IDC香港服务器租用商五洲数据提供国外服务
器租用
美国服务器租用业务
在客服评价中国的网络环境最好的运营商莫过于USA-IDC拥有国际领先的ALINK网络 优化技术,
如果说国内哪个机房网络环境最好,回答是USA-IDC!要问哪个机房网络低峰与高峰期差距 最小!
回答依然是USA-IDC!同时USA-IDC的机房网络环境在国际互通方面也是国内最好的!
在国际方面的突出表现也是有目共睹的!好不好提供测试ip让您可以去测试一下
-------------------------------------------------------------
这是我的解决办法,但是并不完美,主要是:
(1)客户不能使用PASV方法进行连接,原因上面已经讲了。
(2)由于第五条,所以ISA服务器随着保证了对外部访问的限制,却无法限制ISA本机对外部的访问。
我也把我的方法做了一下实验,使用serv-u做的,有一点错误,不过终归做了出来,下面总结一下:
PASV服务器放在ISA后面,其实就是要解决两个问题:
1、PASV的端口。我上面的方法提出使用secondary connection,但事实证明不对,应该每个PASV端口都建立一条primary connection,
然后分别建立server publishing rules,有多少个PASV端口,就要建立多少条。
这里还可以引出另一个话题,就是对Web publishing rules的运用,tony你应该知道,通过Web publishing rules也可以发布ftp服务器
,但rule里面只给了一个ftp端口的选项,很明显,这是为PORT模式的FTP服务器准备的,因为PORT模式的数据连接是由服务器发起的,
在服务器一边,不存在穿过防火墙的问题。
使用Web publishing rules还有一个很令人振奋的特性,就是支持动态公用IP用户,不需要象server publishing rules那样,每拨一次
号都要修改一次外部地址。如果在Web publishing rules中也能搞定PASV问题,那么对于那些使用拨号上网而又想在内网发布PASV服务
器的人来说,简直是天大的喜讯。
需要好好考虑的是如何通过那个只能填一个端口的选项来发布随机的PASV端口?我从今天的实验找到了一点灵感,就是也象上面说的那
样,每个PASV端口都设置一条 Web publishing rules!我还未做这个实验,还不能证实这样做行不行,相信晚上就会有结果了。
当然,还需要考虑如何控制PASV模式端口的范围,serv-u可以设定,而IIS的FTP不行。
2、是服务器向客户端传送IP的问题。当FTP客户端登录进入服务器的时候,PASV模式服务器会向客户端传送本机的IP地址和数据端口,
当服务器放在内网中的时候,服务器会向客户端返回内网的IP,这当然是不能完成连接的,需要让服务器返回ISA的外网地址。本来,解
决方法可以使用firwall client的application settings中的nameresolutionforlocalhost参数,设为P就可以让应用程序返回ISA的外
网地址,但这个参数是供 firewall client使用的,而发布服务器不能安装firewall client,这很可惜。
幸好,还是有一个好消息,就是serv-u本身具有返回ISA外网地址这样的功能,方法是先选中新建FTP服务器的属性,在domain标签里选
择“enable dynamic dns”,此时会出现第二个标签,叫“dynamic dns”,然后到tz0.com申请动态域名,申请后会得到一个key,在此
标签中填入此key即可。最后一步,是到新建服务器的settings属性中,选择advanced标签,选中“allow passive mode data transfer
”,旁边的IP地址框留空。这个框对于拨号用户不用填,只有出口使用固定地址才需要填。
这样,serv-u向客户端返回IP和端口前,会先向tz0.com查询到ISA外网的地址,再发送给客户端。
解决了这两个问题,剩下的工作就简单了。
从以上内容也可以说明一点,从内网不能发布IIS的FTP服务器,因为IIS既没有选项可以选择PASV端口的范围,也没有办法让其返回ISA
外网的地址。而serv-u这两条都可以满足。当然,在微软的网站上也可能有方法解决IIS的这两个问题。
发布FTP服务器的时候,要注意FTP服务器有PORT和PASV两种模式。两者的共同点,是都使用21端口进行用户验证及管理,差别在于传送
数据的方式不同,PORT模式的FTP服务器数据端口固定在20,而PASV模式则在1025-65535之间随机。发布的时候要考虑这个差别。
如果FTP服务器在内部网络中,在建立server publish rules时(虽然Web publish rules也能发布ftp服务器,但它并没有提供对port和
pasv模式的处理),protocol definitions中的21 inbound条目要建立一个secondary connection,为20端口上的inbound或1025-65535
端口之间的inbound。
如果FTP服务器建立在ISA服务器上,就需要在ip packet filters中设置相关的条目,对于PORT模式,很简单,开放20 inbound就是,但
pasv模式就麻烦一点,因为ip packet filters不能设置端口段,但我们也不可能把几万个端口逐个写一遍,只能把local port设置为
dynamic,remote port设置为all ports,当然,对安全性这是个损害。

--------------------------------------------------------------------------------------------------------
四,服务器运营商信息简介
USA-IDC美国服务器租用商五洲数据提供美国服务器租用
国外服务器租用
业务
USA-IDC海外数据中心 2005~2010 深圳市网格时代科技有限公司 保留所有权利.  
http://www.usa-idc.com
http://www.755800.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

天使网赚论坛创建于2008年8月,本站内容均为会员发表,并不代表本论坛立场!
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论!
天使网赚论坛法律顾问:ITlaw-庄毅雄

QQ|小黑屋|Archiver|天使网赚论坛 |网站地图

GMT+8, 2024-5-5 08:15 , Processed in 0.112691 second(s), 32 queries .

快速回复 返回顶部 返回列表