一、FTP主要工作原理

FTP是 基于客户端/服务器方式来提供文件传输服务的。一个FTP服务器进程可同时为多个客户进程提供服务,即用户所在的一方是客户方,客户方翻译用户发出的命 令,向提供FTP服务的文件服务器传送适当的请求。服务器端则一直运行着ftpd守护程序,遵循TCP协议,服务进程ftpd在指定的通信端口监听客户发 来的FTP请求,当ftpd确认该用户为合法时,就开始为其客户进程提供文件传输服务了。因此FTP协议在客户和服务器之间通过TCP来建立连接,并利用 TCP提供的可靠传输在不同的站点间传输文件。当FTP客户与FTP服务器进行会话时,FTP建立了两个连接,一个是控制连接,一个是数据连接,如图所 示:



030501.jpg






在一个FTP会话中需建立一个控制连接和若干个数据连接。控制连接是执行 ftp命令时由客户建立的通向FTP服务器的连接,该连接只能用来传送FTP执行的内部命令以及命令的响应等控制信息而非数据,数据连接是为在服务器与客 户端,或两个ftp服务器之间传输文件(即FTP代理传输方式)而建立的连接,该连接是全双工的,允许同时进行双向数据的传输。一旦数据传输结束,就撤消 数据连接,再回到交互会话状态,直到客户撤消控制连接,并退出FTP会话为止。



二、FTP配置


       1、建立FTP用户(即系统用户),可以到计算机管理中添加用户,我这里以命令的形式直接添加,建立两个用户test1,test2,密码123456,单击桌面开始-运行-输入cmd,如图

             2.jpg


       2、在C盘(根据个人的需要来设置,我这里直接以C盘来做说明)建立LocalUser文件夹,在其中建立两个站点文件夹test1,test2,C盘与test1,test2的权限设置为:
C:\LocalUser\test1 test1 完全控制
C:\LocalUser\test2 test2 完全控制单击开始,运行-输入CMD输入以下代码设置权限:
Cacls C:\LocalUser\test1 /t /e /c /g test1:F
Cacls C:\LocalUser\test2 /t /e /c /g test2:F如图:


3.jpg




 

       3、 接着建立FTP站点,在建之前,先讲一下第2步的目的是什么?在第2步中使用LocalUser的目的其实就是为了FTP隔离用户(FTP用户名必须与站 点目录名称要一致)而使用的, 使用隔离用户,就不需要为每一个Web站点单独建上一个FTP站点了。 还有,选择FTP站点主目录的时候一定要选择LocalUser上层的目录,在这里就是根目录C盘。右击我的电脑-管理-服务和应用程序 -Internet信息服务-FTP站点-右键新建-FTP站点。 单击下一步,到FTP用户隔离这一步时,选择隔离用户。如图:

4.jpg


 

       4、打开桌面IE浏览器,输入ftp://localhost,单击文件-登陆,分别输入test1和test2用户名密码,发现用户已成功隔离。



       5、 由于FTP和Telnet一样都是通过明文形式传送的,如果恶意用户使用嗅探器Sniffer程序就可以获取用户名和口令,故IIS的FTP也要采取安全 措施。FTP协议默认使用的端口是21,可以将其改成其他的端口,右击我的电脑-管理-服务和应用程序-Internet信息服务-FTP站点-选择刚才 建立的FTP站点-右击属性,如图所示:


5.jpg




 

可以将在"FTP站点属性"对话框中的"FTP站点"选项卡里的" 标识"框里的TCP端口21改成其他的数值。由于21是FTP默认使用的端口号,恶意用户可以用扫描器探测到该服务器开放了FTP。必须注意,改端口的时 候不要使用已经占用的端口,否则会引发冲突,最简单的办法是使用Windows 2003的命令行方式下的"netstat -a"命令查看已经使用了哪些端口。在使用了非标准的FTP端口后,用户要访问该FTP站点就必须指定端口号,否则无法访问。在如图2所示界面的"连接" 框中,可以指定连接设置和连接超时,这对于FTP服务器的安全是至关重要的。如果将它们设置为无限制的话,恶意用户无数次连接该服务器的21端口,而且还 使用不同的IP地址,时间长了就会导致服务器的CPU和内存资源使用率达到100%,然后服务器被迫宕机,这就是拒绝服务***。即便是开放FTP,最好也 不要使用"无限"这个设置选项,由于存在线程问题,会
导致下载的不公平。



       6、尽量不要允许IIS的FTP匿名访问,在FTP站点的属性中的"安全账号"选项卡里,取消选择"允许匿名连接"复选框,如图所示:


6.jpg




 

       7、FTP实际上是一个"共享"的文件夹,默认的文件夹是:盘符C:\inetpub\ftproot,可以在"FTP站点"选项卡中的"FTP站点目录"框中更改,如图所示:


7.jpg




 

       可以将本地路径指定为本地计算机上的目录。服务器的文件系统必须是NTFS系统,这样才能尽量避免安全风险。

     

      本文转自:http://djaqw.com/thread-459-1-1.html 转载请标明出处