<b>ISA下FTP的办理办法</b>[服务器安全]
本文“<b>ISA下FTP的办理办法</b>[服务器安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
有很多人对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.
这是我的办理办法,但是并不完善,主如果:
(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!我还未做这个实行,还不能证实这样做行不行,相信晚上就会有后果了.
以上是“<b>ISA下FTP的办理办法</b>[服务器安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |