教你轻松架设 FTP 服务器
作者:parno 日期:2008-08-01
所谓的FTP,就是指文件传输协议(File Transfer Protocol),FTP的作用是使Internet用户能够将文件从一台计算机拷贝到另一台计算机,为实现Internet资源共享提供有力的保障。用户启动FTP客户机程序,通过输入户名和口令与远程主机上的FTP服务器建立连接,一旦成功,在Internet上用户计算机和宿主计算机之间就建立起一条命令链路,客户程序通过它向FTP服务器发送诸如改变目录,显示目录清单这类命令,FTP服务器则返回每条命令执行后的状态信息。
一、用IIS架设FTP服务器
如果你只是想建个小型的同时在线用户数不超过10个的FTP服务器,且不会同时进行大流量的数据传输,可以用IIS(Internet服务器)作为服务器软件来架设。下面,我们以Windows XP中的IIS 5.0为例。
1.安装IIS
Windows XP默认安装时并不安装IIS组件,需要手工添加安装。进入控制面板,找到“添加/删除程序”,打开后选择“添加/删除Windows组件”,在出现的 “Windows组件向导”对话框中,选中“Internet信息服务(IIS)”选项。点击“详细信息”按钮,在出现的“Internet信息服务 (IIS)”对话框中,选中“文件传输协议(FTP)服务”选项,然后点击“确定”按钮即可。
安装完毕,按照系统提示重新启动计算机即可。电脑重启后,FTP服务即开始运行。
2.设置IIS
点击“开始→所有程序→管理工具→Internet信息服务”菜单项,打开“Internet信息服务”对话框,右键点击“默认FTP站点”选项,选择“属性”命令。在出现的“属性”对话框中,我们可以设置FTP服务器的名称、IP、端口、访问账户、FTP目录位置、用户进入FTP时接收到的消息等信息。
(1)FTP站点基本信息
点击“FTP 站点”选项卡,其中的“描述”选项为该FTP站点的名称,可以随意填写;“IP地址”选项为服务器的IP,系统默认为“(全部未分配)”,一般不需改动 (如果有两个或两个以上的IP地址,最好指定为公网IP);“TCP端口”选项一般仍设为默认的21端口;“连接”选项用来设置允许同时连接服务器的用户最大连接数;“连接超时”选项用来设置一个等待时间,如果连接到服务器的用户在线的时间超过等待时间而没有任何操作,服务器就会自动断开与该用户的连接。
(2)设置账户及其权限
许多FTP站点都要求用户输入用户名和密码才能登录,这个用户名和密码就叫账户。不同用户可使用相同的账户访问站点,同一个站点可设置多个账户,每个账户可拥有不同的权限,如有的可以上传和下载,而有的则只允许下载。
(3)安全设定
点击“安全账户”选项卡,在这里有“允许匿名连接”和“仅允许匿名连接”选项,默认为“允许匿名连接”,此时FTP服务器提供匿名登录。
“仅允许匿名连接”选项是用来防止用户使用有管理权限的账户进行访问,选中后,即使是Administrator(管理员)账号也不能登录,FTP只能通过服务器进行“本地访问”来管理。至于“FTP站点操作员”选项,是用来添加或删除本FTP服务器具有一定权限的账户。
IIS 与其他专业的FTP服务器软件不同,它基于Windows用户账号进行账户管理,本身并不能随意设定FTP服务器允许访问的账户,要添加或删除允许访问的账户,必须先在操作系统自带的“管理工具”中的“计算机管理”中去设置Windows用户账号,然后再通过“安全账户”选项卡中的“FTP站点操作员”选项来添加或删除。但对于Windows 2000和Windows XP专业版,系统并不提供“FTP站点操作员”账户添加与删除功能,只提供Administrator一个管理账号。
提示:匿名登录一般不要求用户输入用户名和密码即可登录成功,若需要,可用“anonymous”作为用户名,以任意电子邮件地址为密码来登录。
(4)设置用户登录目录
点击“主目录”选项卡,在“本地路径”框中选择好FTP站点的根目录,并设置该目录的读取、写入、目录访问权限。
“目录列表样式”中“UNIX”和“MS-DOS”的区别在于:假设将C:\Ftp设为站点根目录,则当用户登录FTP后,前者会使主目录显示为“\”,后者显示为“C:\Ftp”。
设置完成后,FTP 服务器就算真正建成了。使用FTP客户端软件(如CuteFTP、FlashFXP等)时,在“主机处”填写FTP服务器的IP地址,例如, 218.1.1.1,“端口”处填写21,此服务器的地址表述为:ftp://218.1.1.1:21。回车后即可登录该FTP服务器。
二、用Serv-U架设FTP服务器
Serv-U是一种被广泛运用的FTP服务器端软件,支持Windows 9x/2000/XP操作系统。它安装简单,功能强大,可以用同一个IP设定多个FTP服务器、限定登录用户的权限、登录主目录及空间大小、支持远程登录管理等。
1.安装Serv-U
Serv-U的安装相当还简单,你只需双击下载来的安装文件文件,按照提示一路点击“NEXT”按钮即可轻松完成。
注意:在选择安装目录时,最好选择安装在一个非系统盘里,以免将来系统发生异常时还要重新进行账号等的设置。
2.设置Serv-U
Serv-U在第一次运行时会以向导的方式一步一步地提示用户进行设置。下面,我们分别加以说明:
“您的IP地址”:如果你采用的是ADSL等方式拨号上网,拥有的是动态IP或者不知道本机IP,此处请留空。
“域名”:就是该FTP站点的名称,可以随意取名。例如,Myftp。
“匿名账号”:决定该FTP站点是否允许匿名用户访问。选择“是”选项。
“匿名主目录”:设置匿名用户登录站点后所处的目录位置。输入“C:\Ftp”。
“锁定于主目录”:假设在“匿名主目录”中设置匿名用户登录后所处的目录位置为“C:\Ftp\Guest”,那么,选择“是”后,当匿名用户登录FTP后,就被锁定在C:\Ftp\Guest目录下,只能查看Guest目录里的内容,不能进入上级目录“Ftp”,同时该目录在FTP客户端软件中显示为 “\”,如果未被锁定,则会完整显示为“C:\Ftp\Guest”。这里选择“是”。
“命名的账号”:决定是否要创建有一定管理权限的账户。这里选择“是”。
“账号名称”:就是具有一定管理权限的账户登录名称。
“账号密码”:设置账户的登录密码。
“主目录”:与“匿名主目录”一样,用来设置管理账户登录后所处的目录位置。输入“C:\Ftp”。
“锁定于主目录”:选择“是”。
“管理员权限”:用来设置管理账户的管理权限级别。这里选择“无权限”。
提示:以上这些设置并非最终设定,你还可以在Serv-U主界面中随时修改。
3.用同一个IP架设多个FTP服务器
如果带宽允许,你还可利用同一个IP轻松架设多个服务器。在Serv-U中,将“本地服务器”下“域”中的每个FTP服务器称为“域”,我们上面创建的FTP服务器就是一个名叫“MyFtp”的域。要架设多个服务器,实际上就是创建多个拥有不同端口的域而已。
右击“域”,选择“新建域”命令,在出现的向导中参照“MyFtp”进行设置,只是在端口处一定不要与已经创建的“域”的端口或被其他系统服务占用的端口冲突即可。如果填入22。同样的操作,可以架设多个FTP服务器了。
4.让你的FTP更专业
当你登录一些专业FTP站时,会显示一些欢迎信息,比如显示你的IP,告诉你目前有多少人在使用FTP,带宽是多少等……其实自己也可以做,Serv-U本身就有这个功能。下面就说明一下如何在自己的内网FTP里面加上这些信息。
先建立一个文本文件,随便取一个名字。例如Message.txt。
接着在这个文本文件里面加上说明文字。例如:
欢迎来到XXX的个人FTP服务器
你的IP地址是 %IP
目前服务器所在的时间是 %time
已经有 %u24h 个用户在最近24小时访问过本FTP
本FTP服务器已经运行了%ServerDays天,%ServerHours小时和%ServerMins分。
服务器的运行情况
所有登录用户数量: %loggedInAll total
当前登录用户数量: %Unow
已经下载字节数: %ServerKbDown Kb
已经上传字节数: %ServerKbUp Kb
已经下载文件数: %ServerFilesDown
已经上传文件数: %ServerFilesUp
服务器平均带宽: %ServerAvg Kb/sec
服务器当前带宽: %ServerKBps Kb/sec
其中XXX可以改成你的名字,也可以加上一些你自己认为喜欢的文字,不过要注意的是每行最好不要超过80个字符,其中以%开头的都是一些变量,下面是SERV-U能支持的变量:
(1)时间和日期
%Time 显示你的计算机当前时间
%Date 显示你的计算机当前日期
(2)服务器的统计信息
%ServerDays 显示服务器已经运行的天数
%ServerHours 显示服务器已经运行的小时数
%ServerMins 显示服务器已经运行的分钟数
%ServerSecs 显示服务器已经运行的秒数
%ServerKbUp 显示自从服务器运行以来已经上传的字节数
%ServerKbDown 显示自从服务器运行以来已经下载的字节数
%ServerFilesUp 显示自从服务器运行以来已经上传的文件数
%ServerFilesDown 显示自从服务器运行以来已经下载的文件数
%LoggedInAll 显示自从服务器运行以来已经登录的用户数
%ServerAvg 显示服务器的平均带宽
%ServerKBps 显示服务器的当前带宽
(3)服务器的设定信息
%MaxUsers 显示服务器能同时登录的最大用户数量
%MaxAnonymous 显示服务器能同时登录的最大匿名用户数量
(4)用户信息
%Name 显示登录的用户名
%IP 显示登录的用户IP地址
%Dir 显示登录的用户的当前目录
%Disk 显示登录的用户的当前磁盘
%DFree 显示登录的用户的当前磁盘空间,单位是MB
%FUp 显示登录的用户上传的文件数量
%FDown 显示登录的用户下载的文件数量
%FTot 显示登录的用户上传和下载的总的文件数量
%BUp 显示登录的用户上传的字节数,单位是KB
%Bdown 显示登录的用户下载的字节数,单位是KB
%BTot 显示登录的用户上传和下载的总字节数,单位是KB
%TconM 显示登录用户连接时间,单位是分钟
%TconS 显示登录用户连接时间,单位是秒,要和%TconM一起使用
%RatioUp 显示登录用户的上传流量限制
%RatioDown 显示登录用户的下载流量限制
%RatioCredit 显示登录用户还有多少credit可以上传和下载,这个是针对有些FTP是要上传多少文件,才能下载多少文件而设置的
%QuotaUsed 显示登录用户的已经使用了多少空间,单位是KB
%QuotaLeft 显示登录用户的还有多少空间可以使用,单位是KB
%QuotaMax 显示登录用户的最大空间,单位是KB
后面3个是针对有磁盘限制的用户设置的
(5)用户数量
%UNow 显示当前有多少用户连接
%UAll 显示从服务器运行以来一共有多少用户连接过
%U24h 显示最近24小时有多少用户
%UAnonAll 显示当前总的匿名用户数量
%UAnonThisIP 显示所有匿名登录的用户数
%UNonAnonAll 显示所有当前非匿名登录用户数
%UNonAnonThisIP 显示所有非匿名登录用户数
%UThisName 显示所有使用这个名字登录的用户数
最后在你的Serv-U里面按照设置好的文件路径设置完成,点击“应用”按钮即大功告成!
三、透过局域网架设Internet FTP服务器
能不能将某个局域网中的一台机器建成公网FTP服务器,让用户都能在因特网上访问它,并能上传下载呢?只要你愿意,当然可以。
我们知道,局域网内的电脑是通过服务器与Internet相连的,因而整个局域网只有这台服务器才拥有一个公网IP,网内其他机器拥有的都是专为局域网使用的保留IP(如192.168.X.X),对于 Internet上的用户来说,是无法通过这些保留IP访问到局域网内机器的。这意味着如果将局域网内某台机器作为FTP服务器,却因为没有可以被因特网用户访问到的公网IP,则只能被局域网内部访问。对此该怎么解决呢?使用端口映射即可解决。
实现端口映射的方法有很多,一般都需要在局域网服务器上进行设置或安装运行一个端口映射软件。这里只介绍三种方法。为方便说明,假设局域网服务器的公网IP是218.1.1.1,要架设的FTP服务器已经安装好Serv-U,端口设置为22,在局域网内的IP是192.168.16.2,通过局域网服务器的23端口开通公网FTP服务。
1.使用Internet连接共享实现
对于大部分家庭局域网来说,一般都是通过SyGate或Windows自带的Internet连接共享来实现共享上网。它们都提供了端口映射的功能,这里我们以Windows XP中用ADSL拨号上网,在Internet连接共享中实现端口映射为例。
打开“网络连接”,右键点击拨号连接,选择“属性”命令,在出现的对话框中点击“高级”选项卡,点击“设置”按钮。
在出现的“高级设置”对话框,双击“FTP服务器”,在中间处填入FTP服务器的局域网IP地址,确定后退出即可。
由于系统默认FTP服务的端口是21,因而上述对话框中的端口处不可选,如果要自定义FTP服务器的端口,在“高级设置”对话框中点击“添加”按钮,依次输入“服务描述”、“局域网IP地址”、“外部端口号”、“内部端口号”,确定后退出。
所谓外部端口号是指局域网服务器上对外开放的端口,内部端口号是要架设FTP服务器的机子对局域网服务器开放的端口,这里,在IP地址处输入192.168.16.2,外部端口号填23,内部端口号填22,则FTP服务器的公网地址为ftp://218.1.1.1:23。
2.使用专用的端口映射软件
可以实现端口映射的软件有很多,如WinRoute、端口映射器等,这里我们以PortTunnel为例。下载后该软件后安装到局域网服务器上并进行设置。运行PortTunnel,点击“增加”按钮,出现设置对话框。
“名字”:用来区分局域网内使用了端口映射功能的机器,可以随便填写,但如果有两台以上的机器进行了端口映射,则要保证该名字不重复。
“输入端口”:与第一种方法中的“外部端口号”相同。如果服务器端没有运行FTP服务,则可以采用默认的“21”作为端口,否则不能使用“21”,因为端口号重复将会导致系统冲突。这里填入23。
“捆绑地址”:用来捆绑局域网服务器的公网IP。如果公网IP是动态IP,可以选择“非确定(0.0.0.0)”,若是固定IP,则在下拉框中选择固定IP地址。这里先假设固定IP是218.1.1.1,选择它。
“输出端口”:与“内部端口号”相同,这里填入22。
“输出地址”:就是FTP服务器在局域网中的IP地址,输入192.168.16.2。
最后将“启用”选项选中,确定后退出,PortTunnel就会自动启动端口映射服务。此时FTP服务器的公网IP就是ftp://218.1.1.1:23。
四、IIS FTP服务器的管理
架设好FTP服务器后,怎样才能更好地管理自己的FTP,使它性能稳定并合理占用机器资源和分配带宽呢?不同的FTP服务器软件提供的管理方式、功能有所不同。
IIS虽然安装简单,但管理功能不强,只有简单的账户管理、目录权限设置、消息设置、连接用户管理。
1.账户管理
与Serv-U不同,IIS对账户的管理按照Windows用户账户方式进行。如果要给FTP服务器添加一个用户名和密码均为dys的授权账户,首先得在Windows中添加该账户。
在“管理工具”中打开“计算机管理”,找到“本地用户和组”下的“用户”,右击鼠标,选择“新用户”。
在弹出的“新用户”窗口中输入用户名和密码,确定后Windows就会创建该用户。
在“管理工具”中打开“Internet信息服务”,进入“默认FTP站点”的“属性”设置窗口,在“安全账户”选项卡中找到“FTP站点操作员”。在这里可以看到,系统已经默认“Administrators”组所有成员为授权账户。如果你用的是Windows 2000服务器版,可以点旁边的“添加”按钮,将dys账户添加进去,如果不是,则“添加”和“删除”按钮为灰色,不可选。能不能将dys账户添加进去呢?当然可以。
回到“计算机管理”,右击刚才创建的用户名,打开“属性”设置,在“隶属于”选项卡中先将默认的“Users”组删除,再点“添加”,在弹出的“选择组”窗口中点“高级→立即查找”,在搜索结果中选择“Administrators”组,然后确定就可以了。
要删除某个账户,直接在“计算机管理”中删除即可。
提示:这样做的缺点在于如果不是Windows 2000服务器版,则你每添加一个账户,该账户就自动拥有系统管理员“Administrator”的所有权限。可以想象,一旦账户密码失窃将带来很大的安全隐患。
2.目录管理
(1)设置虚拟目录
很多时候,上传的文件多了,架设服务器当初设定的主目录所在盘空间往往就不够了,怎么办?这就需要设置虚拟目录。虚拟目录就是将其他目录以映射的方式虚拟到该FTP 服务器的主目录下,这样,一个FTP服务器的主目录实质上就可以包括很多不同盘符、不同路径的目录,而不会受到所在盘空间的限制了。当用户登录到主目录下,还可以根据该账户的权限对它进行相应的操作,就像操作主目录下的子目录一样。如果用户被锁定在主目录下,这项功能将允许他们访问主目录之外的其他目录。
这里我们假设要将D: \MTV目录设为C:\Ftp目录下的虚拟目录Music。在“Internet信息服务”中右击“默认FTP站点”,选“新建→虚拟目录”进行设置。在 “虚拟目录别名”中填入“Music”,在“FTP站点内容目录”中选择“D:\MTV”,在“访问权限”中将“读取”和“写入”打上钩,完成后退出。以 dys的账户登录到FTP看看,是不是多了个“Music”的目录?接下来就可以往该目录里上传或下载文件了。
(2)读写权限设置
IIS的权限设置比较简单,对每个目录只提供了三种权限:读取(允许下载)、写入(允许上传)和记录访问(在日志中记录用户对此目录的访问)。对主目录可以在“默认FTP站点”的属性中设置,对于虚拟目录可以在虚拟目录的“属性”中设置。
提示:主目录设置的权限如果与虚拟目录的权限发生冲突,则以主目录权限为准。比如主目录设置的权限为读取和写入,而Music的权限只设置为读取,则Music权限将会被主目录权限覆盖掉,自动拥有写入权限。
3.消息设置
进入“默认FTP站点”属性中的“消息”选项卡,可以设置用户登录和退出服务器时在FTP客户端软件的状态窗口显示消息。其中,“标题”和“欢迎”将在用户登录时出现,“退出时”是当用户退出服务器时显示的告别信息。
4.连接用户管理
在“FTP 站点”选项卡中可以简单地管理连接用户。“限制为”用来设置服务器允许同时连接的最大连接数,如果不是Windows 2000服务器版,不仅“无限制”选项不可选,而且最大连接数不能超过10个。“连接超时”可以设置当连接用户空闲多少秒时会被服务器自动踢出,这可以有效防止用户浪费服务器最大连接数。点右下角的“当前会话”可以看到在线连接用户所用的账户及当前状态,选择其中某个用户再点“断开”可以将该用户踢除出服务器。
五、Serv-U服务器的管理
比起IIS来,Serv-U的管理功能强大得多,而且设置也很方便。需要特别注意的是每进行任何一次设置或改动,都要点击界面左上角工具条的“保存”按钮才能生效。
1.账户管理
Serv-U对账户的管理相当方便,不仅可以对单个账户进行管理,还可以将具有相同权限的多个账户设置成组,进行统一管理。
(1)添加/删除单个账户
在左边窗口中找到“用户”,右击,选“新建用户”,依次设置“用户名称”、“密码”、“主目录”(该账户登录后所处的目录位置)、“锁定用户于主目录”即可完成一个新账户的创建。有时我们要建一批具有相同主目录的账户,比如A1、A2、A3……如果一个个地去新建,就比较麻烦,这时可以使用“复制用户”的功能。先创建A1用户,再右击账户“A1”,选“复制用户”,依此而为,然后再将复制后的账户名改为A2、A3等。这样创建的账户除了名称不同外,其余包括密码在内的设置都是一样的。
(2)添加/删除组
如果有一批账户,如A1、 A2、A3,拥有相同的访问主目录及IP访问规则,就可以将这些账户设成一个组,统一管理,对组做的任何设置都将同时对该组所有账户成员生效。右击 “组”,选“新建组”,输入组的名称就可以建立新组。新建的组并不拥有任何账户成员,还需要将这些成员账户一一添加到组中。选中要添加的账户,在右边窗口中的“组”中选择要加入的组,除Anonymous账户外,任何一个账户均可同时加入一个或多个组。要将此账户从该组中删除,留空此处即可。要删除某个组,在组名上点右键,再点“删除组”即可。同样,组和单个账户一样,也可以复制,方法是选择某个组后点右键,再点“复制组”。
(3)设置账户的有效期
如果某些账户违反了你制定的规矩,可以通过禁止该账户一段时间以示惩诫,在此期间,任何用户用此账户登录服务器都将被拒绝。你只要选中该账户,在右边“账号”选项卡上将“禁用账号”选中即可,若要解禁,将“√”去掉。对于一些临时性的账户,如果等到期后再一个个地去删除,对你的记性显然是一大考验。 Serv-U提供了一个解决办法,可以到期自动删除该账户。选中“自动删除账号于日期”,在后面的下拉框中设置好到期的日子,系统就会按指定日期自动删除该账户。
2.设置虚拟目录
与IIS 一样,Serv-U也提供了虚拟目录设置功能。假设我们要将“G:\电影\DVD影片”目录映射成FTP主目录下的“DVD”目录,点击“设置”,在“常规”选项卡下有个“虚拟路径映射”,点“添加”,在“物理路径”中输入“G:\电影\DVD影片”,“映射物理路径”中输入“%HOME%”或FTP主目录的绝对路径,“映射的路径名称”填进“DVD”。最后,进入用户的“目录访问”选项卡,将“G:\电影\DVD影片”目录添加进去。以该账户登录 FTP,就可以看到多了一个DVD目录。
3.设置目录权限
与IIS不同,Serv-U基于账户来设置不同的访问目录。每个账户在创建时都要选择好登录后所处的目录位置,不同的账户可以不同。每个目录有如下权限可供设置:
(1)文件操作
读取:允许用户从服务器下载文件;
写入:允许用户上传文件到服务器,但不允许修改、删除和重命名;
追加:允许向存在的文件附加内容或者进行续传,只有选中此项,该目录才允许续传;
删除:允许用户修改文件、重命名和删除;
执行:通过FTP执行命令,这个权限要小心使用,否则可能会导致安全问题。
(2)目录操作
列表:允许用户取得该目录下的文件列表,不选,则用户什么也看不到;
创建:允许用户在该目录下创建新的子目录,很多上传用户在上传文件时往往都是将整个目录上传,如果此项未被选中,则用户只能上传一个个文件,而不能按目录来上传;
删除:允许用户删除目录。
(3)子目录操作
继承:父目录的访问规则自动应用到子目录上。
作为站长,不仅要详细了解这些权限,还要学会合理设置每个目录的不同用户的权限。一般来说,对于普通或匿名用户,最好只赋予读取和目录列表权限,以方便管理和提高FTP服务器的安全性。对于上传用户,应当开设专门的账号并赋予读取、写入、追加、目录列表及创建权限,对于特殊用户,尽量少赋予更多的权限,尤其是“执行”权限。要设置权限,进入每个用户或组的“目录访问”选项卡,根据自己的需要自行设置。
4.编辑IP访问规则
对于某些扰乱服务器秩序但又不方便删除其账户的用户,可以利用“编辑IP访问规则”允许或阻止特定的IP访问。Serv-U对用户IP访问规则的设置相当灵活,不仅可以设置允许访问本服务器的用户IP,也可以设置拒绝访问的用户IP;不仅可对每个账户进行单独编辑,也可对整个服务器所有账户进行统一编辑,还支持“*”和“?”通配符。
(1)拒绝访问
对于捣蛋的用户,如果不方便删除其账户,可以从“域日志”中查找到该用户连接的IP。在“规则”文本框中,点击“添加”,Serv-U就会将此规则添加到下方的“IP访问规则”列表框中。这对于那些拥有固定IP的用户相当有效。但如果该用户是拨号上网用户,只要断线后重新拨号,就会获得一个新IP,显然,此IP访问规则对于该用户来说已经失效。要解决此问题,就要用到通配符和“-”符号。假设我们要屏蔽的用户IP是192.168.X.X,可以在“规则”中输入192.168.*.*,也可以输入 192.168.?.?-192.168.???.???或者192.168.0.0-192.168.255.255,效果一样。合理使用这些符号,还可以有效防止黑客攻击。
(2)允许访问
如果想将自己的FTP站点仅供几个特定的用户使用,可以选中“允许访问”,在“规则”中输入特定用户的IP,再点“添加”。同样,如果特定用户的IP是动态IP,可以使用通配符和“-”符号进行设置。
其实作为站长,更多的时候需要将两种规则灵活混用,比如从拒绝访问的IP中设置某个IP为允许访问,抑或相反。需要提醒的是:对于某些局域网用户,比如网吧,如果将其IP设置为拒绝访问,则整个局域网都将会被服务器屏蔽掉。
5.服务器带宽等资源管理
对于服务器来说,最重要的就是如何保证服务器带宽等系统资源及其性能不被浪费。为此,还需要进行一些设置,进入“本地服务器→设置→常规”选项卡。
“最大速度”:即可以使用的最大带宽(KB/秒),根据服务器总带宽资源填入合适的数值。如果不填数值,Serv-U将使用所有可用的带宽,这样当连接的用户达到一定数量时,会导致服务器上其他的网络应用不可用。以512Kbps ADSL为例,最好设置为50KB/秒或以下。
“最大用户数”:设置在同一时间内允许连接到本服务器的最大用户数。由于每个连接到服务器的用户即使不上传、下载任何文件,也会占用一定带宽,因而最好进行设置,否则系统不会控制登录用户数,直至为此耗尽所有资源。
“删除部分已上传的文件”:删除不完整的上传文件。如果选择此项,系统会自动删除没有完全上载的文件,以最大可能地节省服务器硬盘空间。是否选择,要视服务器用户平时上传的文件大小决定。
“禁用反超时调度”:很多FTP服务器为了防止用户长时间不操作却占用带宽及连接数而做了超时设置,当用户连接超过一定时间但未做任何操作,就会被服务器自动踢除。针对这点,一些FTP客户端程序会自动向服务器端发送一些命令,以保证不被踢除。如果选择此项,服务器将采用一种独特的计时方式以防止FTP客户端程序的这些反超时设置。建议选择。
“拦截连接超过×次于×秒×分钟”:用来设置如果一个用户在×秒内持续连接了×次,那么屏蔽他的IP地址×分钟,可以有效防止用户使用如网络蚂蚁等高速多线程下载软件连接服务器。
以上的设置对于“域”下所有服务器都有效。但是这些设置对于具体的某个FTP服务器或某个账户来说过于粗浅,不利于细致地管理。不过不要紧,Serv-U针对每个服务器下的每个账户都提供了细化的设置功能。可进入该账户的“常规”选项卡:
“只允许X从相同的IP登录”:很多用户在下载两个或两个以上文件时,为了节省下载等待时间,往往会同时打开两个以上的FTP客户端软件登录。对于服务器来说,每个登录进程实际上就是一个用户,这样不仅占用了系统带宽,而且挤占了其他用户的登录权。这就需要选中此选项来防止此种情况。选中后,服务器就只允许某个IP同时最多有X个连接。
“最大上传速度和最大下载速度(KB/秒)”:用来设置该账户用户最大的上传/下载速度。对于特定账户,可以设置得比一般账户高些,以体现特权。
“空闲超时和任务超时(秒)”:“空闲超时”用来设置当用户空闲超过一定时间时就会被服务器自动踢除以免占用资源,“任务超时”设置当用户与服务器进行每个任务时,超出一定时间就会被系统自动踢除。
“最大用户数量”:设置在同一时间内用此账户登录服务器的最大用户数。
完成这些设置后,实际上你已经拥有一台处于准专业管理水平下的准专业FTP服务器了。之所以还只是准专业管理水平,是因为你还没有实现当今最时尚最炫的远程管理功能。
6.实现远程FTP服务器管理
有没有想过在家中架设FTP服务器,在办公室也可以像坐在家中一样对服务器进行各种设置和管理呢?Serv-U就提供了这种远程管理功能。为方便说明,先假设我们在家中用Serv-U架设了一个名为“MyFtp”的 FTP服务器,地址是ftp://218.1.1.1,端口是21,现在要在办公室用用户名和密码均为dys的账户进行远程管理。
(1)先创建一个拥有远程管理权限的账户
新建一个用户,用户名和密码均设为dys。创建后,进入dys账户的“账号”选项卡,找到“权限”下拉列表框。这里除了一般用户的“没有权限”外,有四个远程权限可供选择:
“组管理员”:可以进行远程管理,但只能对本组用户进行管理,不能对服务器进行管理。
“域管理员”:可以进行远程管理,但只能对本域进行管理,不能添加新域。
“系统管理员”:可以进行远程管理且具有全部权限。
“只读管理员”:主要用来进行远程诊断,可以看到全部的服务器设置但不能够进行修改。
这里,我们选择“系统管理员”,然后保存。
(2)在办公室机器上安装并设置好Serv-U
安装好后,架设服务器向导可以随意填。选中左边窗口中的“Serv -U”服务器,右击,选“新建服务器”。在弹出的向导窗口中,“IP地址”填入要被管理的服务器IP,这里填入218.1.1.1,“端口号”填入被管理服务器的端口,这里填21。“FTP服务器名称”可以随意,这里输入“远程管理MyFtp”,“用户名称”和“密码”中输入被管理服务器上已经设置好的具有远程管理权限的账户名和密码。
(3)与远程FTP服务器建立连接并进行管理
双击“远程管理MyFtp”与家中的服务器建立连接。连接上后,此时你就可以像在家里一样对服务器进行各种设置和管理了,是不是很方便。
六、FTP服务器安全配置
既然是公网FTP服务器,就难免会遭遇一些恶意攻击,轻则丢失文件,重则造成FTP服务器甚至整个系统崩溃T怎样才能最大限度地V证它的安全性呢?
1.操作系统的选择
FTP服务器首先是基于操作系统而运作的,因而操作系统本身的安全性就决定了FTP服务器安全性的级别。虽然Windows 98/Me一样可以架设FTP服务器,但由于其本身的安全性就不强,易受攻击,因而最好不要采用。Windows NT就像鸡肋,不用也罢。最好采用Windows 2000及以上版本,并记住及时打上补丁。至于Unix、Linux,则不在讨论之列。
2.使用防火墙
端口是计算机和外部网络相连的逻辑接口,也是计算机的第一道屏障,端口配置正确与否直接影响到主机的安全,一般来说,仅打开你需要使用的端口,将其他不需要使用的端口屏蔽掉会比较安全。限制端口的方法比较多,可以使用第三方的个人防火墙,如天网个人防火墙等,这里只介绍Windows自带的防火墙设置方法。
(1)利用TCP/IP筛选功能
在Windows 2000和Windows XP中,系统都带有TCP/IP筛选功能,利用它可以简单地进行端口设置。以Windows XP为例,打开“本地连接”的属性,在“常规”选项中找到“Internet协议(TCP/IP)”,双击它打开该协议的属性设置窗口。点击右下方的“高级”按钮,进入“高级TCP/IP设置”。在“选项”中选中“TCP/IP筛选”并双击进入其属性设置。这里我们可以设置系统只允许开放的端口。假如架设的FTP服务器端口为21,先选中“启用TCP/IP筛选(所有适配器)”,再在TCP端口选项中选择“只允许”,点“添加”,输入端口号21,确定即可。这样,系统就只允许打开21端口。要开放其他端口,继续添加即可。这可以有效防止最常见的139端口入侵。缺点是功能过于简单,只能设置允许开放的端口,不能自定义要关闭的端口。如果你有大量端口要开放,就得一个个地去手工添加,比较麻烦。
(2)打开Internet连接防火墙
对于Windows XP系统,自带了“Internet连接防火墙”功能,与TCP/IP筛选功能相比,设置更方便,功能更强大。除了自带防火墙端口开放规则外,还可以自行增删。在控制面板中打开“网络连接”,右击拨号连接,进入“高级”选项卡,选中“通过限制或阻止来自Internet的对此计算机的访问来保护我的计算机和网络”,启用它。系统默认状态下是关闭了FTP端口的,因而还要设置防火墙,打开所使用的FTP端口。点击右下角的“设置”按钮进入“高级设置”,选中 “FTP服务器”,编辑它。由于FTP服务默认端口是21,因而除了IP地址一栏外,其余均不可更改。在IP地址一栏中填入服务器公网IP,确定后退出即可即时生效。如果架设的FTP服务器端口为其他端口,比如22,则可以在“服务”选项卡下方点“添加”,输入服务器名称和公网IP后,将外部端口号和内部端口号均填入22即可。
3.对IIS、Serv-U等服务器软件进行设置
除了依靠系统提供的安全措施外,就需要利用FTP服务器端软件本身的设置来提高整个服务器的安全了。
(1)IIS的安全性设置
对于IIS的安全性漏洞,可以说是“有口皆碑”了,平均每两三个月就要出一两个漏洞。所幸的是,微软会根据新发现的漏洞提供相应的补丁,这就需要你不断更新,安装最新补丁。
一些恶意用户可以通过IIS的溢出漏洞获得对系统的访问权。把IIS安放在系统分区上,会使系统文件与IIS同样面临非法访问,容易使非法用户侵入系统分区。另外,由于IIS是一个综合性服务组件,每开设一个服务都将会降低整个服务的安全性,因而,对不需要的服务尽量不要安装或启动。
FTP 最大的安全漏洞在于其默认传输密码的过程是明文传送,很容易被人嗅探到。而IIS又是基于Windows用户账户进行管理的,因而很容易泄漏系统账户名及密码,如果该账户拥有一定管理权限,则更会影响到整个系统的安全。设置为“只允许匿名连接”,可以免却传输过程中泄密的O险。进入“默认FTP站点”,在属性的“安全账户”选项卡中,将此选项选中。
IIS 可以将FTP站点主目录设为局域网中另一台计算机的共享目录,但在局域网中,共享目录很容易招致其他计算机感染的病毒攻击,严重时甚至会造成整个局域网瘫痪,不到万不得已,最好使用本地目录并将主目录设为NTFS格式的非系统分区中。这样,在对目录的权限设置时,可以对每个目录按不同组或用户来设置相应的权限。右击要设置的目录,进入“共享和安全→安全”中设置,如非必要,不要授予“写入”权限。
尽量不要使用默认端口号21,启用日志记录,以备出现异常情况时查询原因。
(2)Serv-U的安全性设置
与IIS的FTP服务相比,Serv-U在安全性方面做得比较好。
首先,选中“拦截FTP_bounce攻击和FXP”。什么是FXP呢?通常,当使用FTP协议进行文件传输时,客户端首先向FTP服务器发出一个“PORT”命令,该命令中包含此用户的IP地址和将被用来进行数据传输的端口号,服务器收到后,利用命令所提供的用户地址信息建立与用户的连接。大多数情况下,上述过程不会出现任何问题,但当客户端是一名恶意用户时,可能会通过在PORT命令中加入特定的地址信息,使FTP服务器与其他非客户端的机器建立连接。虽然这名恶意用户可能本身无权直接访问某一特定机器,但是如果FTP服务器有权访问该机器的话,那么恶意用户就可以通过FTP服务器作为中介,仍然能够最终实现与目标服务器的连接。这就是FXP,也称跨服务器攻击。选中后就可以防止发生此种情况。
其次,在“高级”选项卡中,检查“加密密码”和“启用安全”是否被选中,如果没有,选择它们。“加密密码”使用单向hash函数(MD5)加密用户口令,加密后的口令保存在ServUDaemon.ini或是注册表中。如果不选择此项,用户口令将以明文形式保存在文件中;“启用安全”将启动Serv-U服务器的安全成功。
前面说过,FTP 默认为明文传送密码,容易被人嗅探,对于只拥有一般权限的账户,危险并不大,但如果该账户拥有远程管理尤其是系统管理员权限,则整个服务器都会被别人远程控制。Serv-U对每个账户的密码都提供了以下三种安全类型:规则密码、OTP S/KEY MD4和OTP S/KEY MD5。不同的类型对传输的加密方式也不同,以规则密码安全性最低。进入拥有一定管理权限的账户的设置中,在“常规”选项卡的下方找到“密码类型”下拉列表框,选中第二或第三种类型,保存即可。注意,当用户凭此账户登录服务器时,需要FTP客户端软件支持此密码类型,如CuteFTP Pro等,输入密码时选择相应的密码类型方可通过服务器验证。
与IIS一样,还要谨慎设置主目录及其权限,凡是没必要赋予写入等能修改服务器文件或目录权限的,尽量不要赋予。最后,进入“设置”,在“日志”选项卡中将“启用记录到文件”选中,并设置好日志文件名及保存路径、记录参数等,以方便随时查询服务器异常原因
一、用IIS架设FTP服务器
如果你只是想建个小型的同时在线用户数不超过10个的FTP服务器,且不会同时进行大流量的数据传输,可以用IIS(Internet服务器)作为服务器软件来架设。下面,我们以Windows XP中的IIS 5.0为例。
1.安装IIS
Windows XP默认安装时并不安装IIS组件,需要手工添加安装。进入控制面板,找到“添加/删除程序”,打开后选择“添加/删除Windows组件”,在出现的 “Windows组件向导”对话框中,选中“Internet信息服务(IIS)”选项。点击“详细信息”按钮,在出现的“Internet信息服务 (IIS)”对话框中,选中“文件传输协议(FTP)服务”选项,然后点击“确定”按钮即可。
安装完毕,按照系统提示重新启动计算机即可。电脑重启后,FTP服务即开始运行。
2.设置IIS
点击“开始→所有程序→管理工具→Internet信息服务”菜单项,打开“Internet信息服务”对话框,右键点击“默认FTP站点”选项,选择“属性”命令。在出现的“属性”对话框中,我们可以设置FTP服务器的名称、IP、端口、访问账户、FTP目录位置、用户进入FTP时接收到的消息等信息。
(1)FTP站点基本信息
点击“FTP 站点”选项卡,其中的“描述”选项为该FTP站点的名称,可以随意填写;“IP地址”选项为服务器的IP,系统默认为“(全部未分配)”,一般不需改动 (如果有两个或两个以上的IP地址,最好指定为公网IP);“TCP端口”选项一般仍设为默认的21端口;“连接”选项用来设置允许同时连接服务器的用户最大连接数;“连接超时”选项用来设置一个等待时间,如果连接到服务器的用户在线的时间超过等待时间而没有任何操作,服务器就会自动断开与该用户的连接。
(2)设置账户及其权限
许多FTP站点都要求用户输入用户名和密码才能登录,这个用户名和密码就叫账户。不同用户可使用相同的账户访问站点,同一个站点可设置多个账户,每个账户可拥有不同的权限,如有的可以上传和下载,而有的则只允许下载。
(3)安全设定
点击“安全账户”选项卡,在这里有“允许匿名连接”和“仅允许匿名连接”选项,默认为“允许匿名连接”,此时FTP服务器提供匿名登录。
“仅允许匿名连接”选项是用来防止用户使用有管理权限的账户进行访问,选中后,即使是Administrator(管理员)账号也不能登录,FTP只能通过服务器进行“本地访问”来管理。至于“FTP站点操作员”选项,是用来添加或删除本FTP服务器具有一定权限的账户。
IIS 与其他专业的FTP服务器软件不同,它基于Windows用户账号进行账户管理,本身并不能随意设定FTP服务器允许访问的账户,要添加或删除允许访问的账户,必须先在操作系统自带的“管理工具”中的“计算机管理”中去设置Windows用户账号,然后再通过“安全账户”选项卡中的“FTP站点操作员”选项来添加或删除。但对于Windows 2000和Windows XP专业版,系统并不提供“FTP站点操作员”账户添加与删除功能,只提供Administrator一个管理账号。
提示:匿名登录一般不要求用户输入用户名和密码即可登录成功,若需要,可用“anonymous”作为用户名,以任意电子邮件地址为密码来登录。
(4)设置用户登录目录
点击“主目录”选项卡,在“本地路径”框中选择好FTP站点的根目录,并设置该目录的读取、写入、目录访问权限。
“目录列表样式”中“UNIX”和“MS-DOS”的区别在于:假设将C:\Ftp设为站点根目录,则当用户登录FTP后,前者会使主目录显示为“\”,后者显示为“C:\Ftp”。
设置完成后,FTP 服务器就算真正建成了。使用FTP客户端软件(如CuteFTP、FlashFXP等)时,在“主机处”填写FTP服务器的IP地址,例如, 218.1.1.1,“端口”处填写21,此服务器的地址表述为:ftp://218.1.1.1:21。回车后即可登录该FTP服务器。
二、用Serv-U架设FTP服务器
Serv-U是一种被广泛运用的FTP服务器端软件,支持Windows 9x/2000/XP操作系统。它安装简单,功能强大,可以用同一个IP设定多个FTP服务器、限定登录用户的权限、登录主目录及空间大小、支持远程登录管理等。
1.安装Serv-U
Serv-U的安装相当还简单,你只需双击下载来的安装文件文件,按照提示一路点击“NEXT”按钮即可轻松完成。
注意:在选择安装目录时,最好选择安装在一个非系统盘里,以免将来系统发生异常时还要重新进行账号等的设置。
2.设置Serv-U
Serv-U在第一次运行时会以向导的方式一步一步地提示用户进行设置。下面,我们分别加以说明:
“您的IP地址”:如果你采用的是ADSL等方式拨号上网,拥有的是动态IP或者不知道本机IP,此处请留空。
“域名”:就是该FTP站点的名称,可以随意取名。例如,Myftp。
“匿名账号”:决定该FTP站点是否允许匿名用户访问。选择“是”选项。
“匿名主目录”:设置匿名用户登录站点后所处的目录位置。输入“C:\Ftp”。
“锁定于主目录”:假设在“匿名主目录”中设置匿名用户登录后所处的目录位置为“C:\Ftp\Guest”,那么,选择“是”后,当匿名用户登录FTP后,就被锁定在C:\Ftp\Guest目录下,只能查看Guest目录里的内容,不能进入上级目录“Ftp”,同时该目录在FTP客户端软件中显示为 “\”,如果未被锁定,则会完整显示为“C:\Ftp\Guest”。这里选择“是”。
“命名的账号”:决定是否要创建有一定管理权限的账户。这里选择“是”。
“账号名称”:就是具有一定管理权限的账户登录名称。
“账号密码”:设置账户的登录密码。
“主目录”:与“匿名主目录”一样,用来设置管理账户登录后所处的目录位置。输入“C:\Ftp”。
“锁定于主目录”:选择“是”。
“管理员权限”:用来设置管理账户的管理权限级别。这里选择“无权限”。
提示:以上这些设置并非最终设定,你还可以在Serv-U主界面中随时修改。
3.用同一个IP架设多个FTP服务器
如果带宽允许,你还可利用同一个IP轻松架设多个服务器。在Serv-U中,将“本地服务器”下“域”中的每个FTP服务器称为“域”,我们上面创建的FTP服务器就是一个名叫“MyFtp”的域。要架设多个服务器,实际上就是创建多个拥有不同端口的域而已。
右击“域”,选择“新建域”命令,在出现的向导中参照“MyFtp”进行设置,只是在端口处一定不要与已经创建的“域”的端口或被其他系统服务占用的端口冲突即可。如果填入22。同样的操作,可以架设多个FTP服务器了。
4.让你的FTP更专业
当你登录一些专业FTP站时,会显示一些欢迎信息,比如显示你的IP,告诉你目前有多少人在使用FTP,带宽是多少等……其实自己也可以做,Serv-U本身就有这个功能。下面就说明一下如何在自己的内网FTP里面加上这些信息。
先建立一个文本文件,随便取一个名字。例如Message.txt。
接着在这个文本文件里面加上说明文字。例如:
欢迎来到XXX的个人FTP服务器
你的IP地址是 %IP
目前服务器所在的时间是 %time
已经有 %u24h 个用户在最近24小时访问过本FTP
本FTP服务器已经运行了%ServerDays天,%ServerHours小时和%ServerMins分。
服务器的运行情况
所有登录用户数量: %loggedInAll total
当前登录用户数量: %Unow
已经下载字节数: %ServerKbDown Kb
已经上传字节数: %ServerKbUp Kb
已经下载文件数: %ServerFilesDown
已经上传文件数: %ServerFilesUp
服务器平均带宽: %ServerAvg Kb/sec
服务器当前带宽: %ServerKBps Kb/sec
其中XXX可以改成你的名字,也可以加上一些你自己认为喜欢的文字,不过要注意的是每行最好不要超过80个字符,其中以%开头的都是一些变量,下面是SERV-U能支持的变量:
(1)时间和日期
%Time 显示你的计算机当前时间
%Date 显示你的计算机当前日期
(2)服务器的统计信息
%ServerDays 显示服务器已经运行的天数
%ServerHours 显示服务器已经运行的小时数
%ServerMins 显示服务器已经运行的分钟数
%ServerSecs 显示服务器已经运行的秒数
%ServerKbUp 显示自从服务器运行以来已经上传的字节数
%ServerKbDown 显示自从服务器运行以来已经下载的字节数
%ServerFilesUp 显示自从服务器运行以来已经上传的文件数
%ServerFilesDown 显示自从服务器运行以来已经下载的文件数
%LoggedInAll 显示自从服务器运行以来已经登录的用户数
%ServerAvg 显示服务器的平均带宽
%ServerKBps 显示服务器的当前带宽
(3)服务器的设定信息
%MaxUsers 显示服务器能同时登录的最大用户数量
%MaxAnonymous 显示服务器能同时登录的最大匿名用户数量
(4)用户信息
%Name 显示登录的用户名
%IP 显示登录的用户IP地址
%Dir 显示登录的用户的当前目录
%Disk 显示登录的用户的当前磁盘
%DFree 显示登录的用户的当前磁盘空间,单位是MB
%FUp 显示登录的用户上传的文件数量
%FDown 显示登录的用户下载的文件数量
%FTot 显示登录的用户上传和下载的总的文件数量
%BUp 显示登录的用户上传的字节数,单位是KB
%Bdown 显示登录的用户下载的字节数,单位是KB
%BTot 显示登录的用户上传和下载的总字节数,单位是KB
%TconM 显示登录用户连接时间,单位是分钟
%TconS 显示登录用户连接时间,单位是秒,要和%TconM一起使用
%RatioUp 显示登录用户的上传流量限制
%RatioDown 显示登录用户的下载流量限制
%RatioCredit 显示登录用户还有多少credit可以上传和下载,这个是针对有些FTP是要上传多少文件,才能下载多少文件而设置的
%QuotaUsed 显示登录用户的已经使用了多少空间,单位是KB
%QuotaLeft 显示登录用户的还有多少空间可以使用,单位是KB
%QuotaMax 显示登录用户的最大空间,单位是KB
后面3个是针对有磁盘限制的用户设置的
(5)用户数量
%UNow 显示当前有多少用户连接
%UAll 显示从服务器运行以来一共有多少用户连接过
%U24h 显示最近24小时有多少用户
%UAnonAll 显示当前总的匿名用户数量
%UAnonThisIP 显示所有匿名登录的用户数
%UNonAnonAll 显示所有当前非匿名登录用户数
%UNonAnonThisIP 显示所有非匿名登录用户数
%UThisName 显示所有使用这个名字登录的用户数
最后在你的Serv-U里面按照设置好的文件路径设置完成,点击“应用”按钮即大功告成!
三、透过局域网架设Internet FTP服务器
能不能将某个局域网中的一台机器建成公网FTP服务器,让用户都能在因特网上访问它,并能上传下载呢?只要你愿意,当然可以。
我们知道,局域网内的电脑是通过服务器与Internet相连的,因而整个局域网只有这台服务器才拥有一个公网IP,网内其他机器拥有的都是专为局域网使用的保留IP(如192.168.X.X),对于 Internet上的用户来说,是无法通过这些保留IP访问到局域网内机器的。这意味着如果将局域网内某台机器作为FTP服务器,却因为没有可以被因特网用户访问到的公网IP,则只能被局域网内部访问。对此该怎么解决呢?使用端口映射即可解决。
实现端口映射的方法有很多,一般都需要在局域网服务器上进行设置或安装运行一个端口映射软件。这里只介绍三种方法。为方便说明,假设局域网服务器的公网IP是218.1.1.1,要架设的FTP服务器已经安装好Serv-U,端口设置为22,在局域网内的IP是192.168.16.2,通过局域网服务器的23端口开通公网FTP服务。
1.使用Internet连接共享实现
对于大部分家庭局域网来说,一般都是通过SyGate或Windows自带的Internet连接共享来实现共享上网。它们都提供了端口映射的功能,这里我们以Windows XP中用ADSL拨号上网,在Internet连接共享中实现端口映射为例。
打开“网络连接”,右键点击拨号连接,选择“属性”命令,在出现的对话框中点击“高级”选项卡,点击“设置”按钮。
在出现的“高级设置”对话框,双击“FTP服务器”,在中间处填入FTP服务器的局域网IP地址,确定后退出即可。
由于系统默认FTP服务的端口是21,因而上述对话框中的端口处不可选,如果要自定义FTP服务器的端口,在“高级设置”对话框中点击“添加”按钮,依次输入“服务描述”、“局域网IP地址”、“外部端口号”、“内部端口号”,确定后退出。
所谓外部端口号是指局域网服务器上对外开放的端口,内部端口号是要架设FTP服务器的机子对局域网服务器开放的端口,这里,在IP地址处输入192.168.16.2,外部端口号填23,内部端口号填22,则FTP服务器的公网地址为ftp://218.1.1.1:23。
2.使用专用的端口映射软件
可以实现端口映射的软件有很多,如WinRoute、端口映射器等,这里我们以PortTunnel为例。下载后该软件后安装到局域网服务器上并进行设置。运行PortTunnel,点击“增加”按钮,出现设置对话框。
“名字”:用来区分局域网内使用了端口映射功能的机器,可以随便填写,但如果有两台以上的机器进行了端口映射,则要保证该名字不重复。
“输入端口”:与第一种方法中的“外部端口号”相同。如果服务器端没有运行FTP服务,则可以采用默认的“21”作为端口,否则不能使用“21”,因为端口号重复将会导致系统冲突。这里填入23。
“捆绑地址”:用来捆绑局域网服务器的公网IP。如果公网IP是动态IP,可以选择“非确定(0.0.0.0)”,若是固定IP,则在下拉框中选择固定IP地址。这里先假设固定IP是218.1.1.1,选择它。
“输出端口”:与“内部端口号”相同,这里填入22。
“输出地址”:就是FTP服务器在局域网中的IP地址,输入192.168.16.2。
最后将“启用”选项选中,确定后退出,PortTunnel就会自动启动端口映射服务。此时FTP服务器的公网IP就是ftp://218.1.1.1:23。
四、IIS FTP服务器的管理
架设好FTP服务器后,怎样才能更好地管理自己的FTP,使它性能稳定并合理占用机器资源和分配带宽呢?不同的FTP服务器软件提供的管理方式、功能有所不同。
IIS虽然安装简单,但管理功能不强,只有简单的账户管理、目录权限设置、消息设置、连接用户管理。
1.账户管理
与Serv-U不同,IIS对账户的管理按照Windows用户账户方式进行。如果要给FTP服务器添加一个用户名和密码均为dys的授权账户,首先得在Windows中添加该账户。
在“管理工具”中打开“计算机管理”,找到“本地用户和组”下的“用户”,右击鼠标,选择“新用户”。
在弹出的“新用户”窗口中输入用户名和密码,确定后Windows就会创建该用户。
在“管理工具”中打开“Internet信息服务”,进入“默认FTP站点”的“属性”设置窗口,在“安全账户”选项卡中找到“FTP站点操作员”。在这里可以看到,系统已经默认“Administrators”组所有成员为授权账户。如果你用的是Windows 2000服务器版,可以点旁边的“添加”按钮,将dys账户添加进去,如果不是,则“添加”和“删除”按钮为灰色,不可选。能不能将dys账户添加进去呢?当然可以。
回到“计算机管理”,右击刚才创建的用户名,打开“属性”设置,在“隶属于”选项卡中先将默认的“Users”组删除,再点“添加”,在弹出的“选择组”窗口中点“高级→立即查找”,在搜索结果中选择“Administrators”组,然后确定就可以了。
要删除某个账户,直接在“计算机管理”中删除即可。
提示:这样做的缺点在于如果不是Windows 2000服务器版,则你每添加一个账户,该账户就自动拥有系统管理员“Administrator”的所有权限。可以想象,一旦账户密码失窃将带来很大的安全隐患。
2.目录管理
(1)设置虚拟目录
很多时候,上传的文件多了,架设服务器当初设定的主目录所在盘空间往往就不够了,怎么办?这就需要设置虚拟目录。虚拟目录就是将其他目录以映射的方式虚拟到该FTP 服务器的主目录下,这样,一个FTP服务器的主目录实质上就可以包括很多不同盘符、不同路径的目录,而不会受到所在盘空间的限制了。当用户登录到主目录下,还可以根据该账户的权限对它进行相应的操作,就像操作主目录下的子目录一样。如果用户被锁定在主目录下,这项功能将允许他们访问主目录之外的其他目录。
这里我们假设要将D: \MTV目录设为C:\Ftp目录下的虚拟目录Music。在“Internet信息服务”中右击“默认FTP站点”,选“新建→虚拟目录”进行设置。在 “虚拟目录别名”中填入“Music”,在“FTP站点内容目录”中选择“D:\MTV”,在“访问权限”中将“读取”和“写入”打上钩,完成后退出。以 dys的账户登录到FTP看看,是不是多了个“Music”的目录?接下来就可以往该目录里上传或下载文件了。
(2)读写权限设置
IIS的权限设置比较简单,对每个目录只提供了三种权限:读取(允许下载)、写入(允许上传)和记录访问(在日志中记录用户对此目录的访问)。对主目录可以在“默认FTP站点”的属性中设置,对于虚拟目录可以在虚拟目录的“属性”中设置。
提示:主目录设置的权限如果与虚拟目录的权限发生冲突,则以主目录权限为准。比如主目录设置的权限为读取和写入,而Music的权限只设置为读取,则Music权限将会被主目录权限覆盖掉,自动拥有写入权限。
3.消息设置
进入“默认FTP站点”属性中的“消息”选项卡,可以设置用户登录和退出服务器时在FTP客户端软件的状态窗口显示消息。其中,“标题”和“欢迎”将在用户登录时出现,“退出时”是当用户退出服务器时显示的告别信息。
4.连接用户管理
在“FTP 站点”选项卡中可以简单地管理连接用户。“限制为”用来设置服务器允许同时连接的最大连接数,如果不是Windows 2000服务器版,不仅“无限制”选项不可选,而且最大连接数不能超过10个。“连接超时”可以设置当连接用户空闲多少秒时会被服务器自动踢出,这可以有效防止用户浪费服务器最大连接数。点右下角的“当前会话”可以看到在线连接用户所用的账户及当前状态,选择其中某个用户再点“断开”可以将该用户踢除出服务器。
五、Serv-U服务器的管理
比起IIS来,Serv-U的管理功能强大得多,而且设置也很方便。需要特别注意的是每进行任何一次设置或改动,都要点击界面左上角工具条的“保存”按钮才能生效。
1.账户管理
Serv-U对账户的管理相当方便,不仅可以对单个账户进行管理,还可以将具有相同权限的多个账户设置成组,进行统一管理。
(1)添加/删除单个账户
在左边窗口中找到“用户”,右击,选“新建用户”,依次设置“用户名称”、“密码”、“主目录”(该账户登录后所处的目录位置)、“锁定用户于主目录”即可完成一个新账户的创建。有时我们要建一批具有相同主目录的账户,比如A1、A2、A3……如果一个个地去新建,就比较麻烦,这时可以使用“复制用户”的功能。先创建A1用户,再右击账户“A1”,选“复制用户”,依此而为,然后再将复制后的账户名改为A2、A3等。这样创建的账户除了名称不同外,其余包括密码在内的设置都是一样的。
(2)添加/删除组
如果有一批账户,如A1、 A2、A3,拥有相同的访问主目录及IP访问规则,就可以将这些账户设成一个组,统一管理,对组做的任何设置都将同时对该组所有账户成员生效。右击 “组”,选“新建组”,输入组的名称就可以建立新组。新建的组并不拥有任何账户成员,还需要将这些成员账户一一添加到组中。选中要添加的账户,在右边窗口中的“组”中选择要加入的组,除Anonymous账户外,任何一个账户均可同时加入一个或多个组。要将此账户从该组中删除,留空此处即可。要删除某个组,在组名上点右键,再点“删除组”即可。同样,组和单个账户一样,也可以复制,方法是选择某个组后点右键,再点“复制组”。
(3)设置账户的有效期
如果某些账户违反了你制定的规矩,可以通过禁止该账户一段时间以示惩诫,在此期间,任何用户用此账户登录服务器都将被拒绝。你只要选中该账户,在右边“账号”选项卡上将“禁用账号”选中即可,若要解禁,将“√”去掉。对于一些临时性的账户,如果等到期后再一个个地去删除,对你的记性显然是一大考验。 Serv-U提供了一个解决办法,可以到期自动删除该账户。选中“自动删除账号于日期”,在后面的下拉框中设置好到期的日子,系统就会按指定日期自动删除该账户。
2.设置虚拟目录
与IIS 一样,Serv-U也提供了虚拟目录设置功能。假设我们要将“G:\电影\DVD影片”目录映射成FTP主目录下的“DVD”目录,点击“设置”,在“常规”选项卡下有个“虚拟路径映射”,点“添加”,在“物理路径”中输入“G:\电影\DVD影片”,“映射物理路径”中输入“%HOME%”或FTP主目录的绝对路径,“映射的路径名称”填进“DVD”。最后,进入用户的“目录访问”选项卡,将“G:\电影\DVD影片”目录添加进去。以该账户登录 FTP,就可以看到多了一个DVD目录。
3.设置目录权限
与IIS不同,Serv-U基于账户来设置不同的访问目录。每个账户在创建时都要选择好登录后所处的目录位置,不同的账户可以不同。每个目录有如下权限可供设置:
(1)文件操作
读取:允许用户从服务器下载文件;
写入:允许用户上传文件到服务器,但不允许修改、删除和重命名;
追加:允许向存在的文件附加内容或者进行续传,只有选中此项,该目录才允许续传;
删除:允许用户修改文件、重命名和删除;
执行:通过FTP执行命令,这个权限要小心使用,否则可能会导致安全问题。
(2)目录操作
列表:允许用户取得该目录下的文件列表,不选,则用户什么也看不到;
创建:允许用户在该目录下创建新的子目录,很多上传用户在上传文件时往往都是将整个目录上传,如果此项未被选中,则用户只能上传一个个文件,而不能按目录来上传;
删除:允许用户删除目录。
(3)子目录操作
继承:父目录的访问规则自动应用到子目录上。
作为站长,不仅要详细了解这些权限,还要学会合理设置每个目录的不同用户的权限。一般来说,对于普通或匿名用户,最好只赋予读取和目录列表权限,以方便管理和提高FTP服务器的安全性。对于上传用户,应当开设专门的账号并赋予读取、写入、追加、目录列表及创建权限,对于特殊用户,尽量少赋予更多的权限,尤其是“执行”权限。要设置权限,进入每个用户或组的“目录访问”选项卡,根据自己的需要自行设置。
4.编辑IP访问规则
对于某些扰乱服务器秩序但又不方便删除其账户的用户,可以利用“编辑IP访问规则”允许或阻止特定的IP访问。Serv-U对用户IP访问规则的设置相当灵活,不仅可以设置允许访问本服务器的用户IP,也可以设置拒绝访问的用户IP;不仅可对每个账户进行单独编辑,也可对整个服务器所有账户进行统一编辑,还支持“*”和“?”通配符。
(1)拒绝访问
对于捣蛋的用户,如果不方便删除其账户,可以从“域日志”中查找到该用户连接的IP。在“规则”文本框中,点击“添加”,Serv-U就会将此规则添加到下方的“IP访问规则”列表框中。这对于那些拥有固定IP的用户相当有效。但如果该用户是拨号上网用户,只要断线后重新拨号,就会获得一个新IP,显然,此IP访问规则对于该用户来说已经失效。要解决此问题,就要用到通配符和“-”符号。假设我们要屏蔽的用户IP是192.168.X.X,可以在“规则”中输入192.168.*.*,也可以输入 192.168.?.?-192.168.???.???或者192.168.0.0-192.168.255.255,效果一样。合理使用这些符号,还可以有效防止黑客攻击。
(2)允许访问
如果想将自己的FTP站点仅供几个特定的用户使用,可以选中“允许访问”,在“规则”中输入特定用户的IP,再点“添加”。同样,如果特定用户的IP是动态IP,可以使用通配符和“-”符号进行设置。
其实作为站长,更多的时候需要将两种规则灵活混用,比如从拒绝访问的IP中设置某个IP为允许访问,抑或相反。需要提醒的是:对于某些局域网用户,比如网吧,如果将其IP设置为拒绝访问,则整个局域网都将会被服务器屏蔽掉。
5.服务器带宽等资源管理
对于服务器来说,最重要的就是如何保证服务器带宽等系统资源及其性能不被浪费。为此,还需要进行一些设置,进入“本地服务器→设置→常规”选项卡。
“最大速度”:即可以使用的最大带宽(KB/秒),根据服务器总带宽资源填入合适的数值。如果不填数值,Serv-U将使用所有可用的带宽,这样当连接的用户达到一定数量时,会导致服务器上其他的网络应用不可用。以512Kbps ADSL为例,最好设置为50KB/秒或以下。
“最大用户数”:设置在同一时间内允许连接到本服务器的最大用户数。由于每个连接到服务器的用户即使不上传、下载任何文件,也会占用一定带宽,因而最好进行设置,否则系统不会控制登录用户数,直至为此耗尽所有资源。
“删除部分已上传的文件”:删除不完整的上传文件。如果选择此项,系统会自动删除没有完全上载的文件,以最大可能地节省服务器硬盘空间。是否选择,要视服务器用户平时上传的文件大小决定。
“禁用反超时调度”:很多FTP服务器为了防止用户长时间不操作却占用带宽及连接数而做了超时设置,当用户连接超过一定时间但未做任何操作,就会被服务器自动踢除。针对这点,一些FTP客户端程序会自动向服务器端发送一些命令,以保证不被踢除。如果选择此项,服务器将采用一种独特的计时方式以防止FTP客户端程序的这些反超时设置。建议选择。
“拦截连接超过×次于×秒×分钟”:用来设置如果一个用户在×秒内持续连接了×次,那么屏蔽他的IP地址×分钟,可以有效防止用户使用如网络蚂蚁等高速多线程下载软件连接服务器。
以上的设置对于“域”下所有服务器都有效。但是这些设置对于具体的某个FTP服务器或某个账户来说过于粗浅,不利于细致地管理。不过不要紧,Serv-U针对每个服务器下的每个账户都提供了细化的设置功能。可进入该账户的“常规”选项卡:
“只允许X从相同的IP登录”:很多用户在下载两个或两个以上文件时,为了节省下载等待时间,往往会同时打开两个以上的FTP客户端软件登录。对于服务器来说,每个登录进程实际上就是一个用户,这样不仅占用了系统带宽,而且挤占了其他用户的登录权。这就需要选中此选项来防止此种情况。选中后,服务器就只允许某个IP同时最多有X个连接。
“最大上传速度和最大下载速度(KB/秒)”:用来设置该账户用户最大的上传/下载速度。对于特定账户,可以设置得比一般账户高些,以体现特权。
“空闲超时和任务超时(秒)”:“空闲超时”用来设置当用户空闲超过一定时间时就会被服务器自动踢除以免占用资源,“任务超时”设置当用户与服务器进行每个任务时,超出一定时间就会被系统自动踢除。
“最大用户数量”:设置在同一时间内用此账户登录服务器的最大用户数。
完成这些设置后,实际上你已经拥有一台处于准专业管理水平下的准专业FTP服务器了。之所以还只是准专业管理水平,是因为你还没有实现当今最时尚最炫的远程管理功能。
6.实现远程FTP服务器管理
有没有想过在家中架设FTP服务器,在办公室也可以像坐在家中一样对服务器进行各种设置和管理呢?Serv-U就提供了这种远程管理功能。为方便说明,先假设我们在家中用Serv-U架设了一个名为“MyFtp”的 FTP服务器,地址是ftp://218.1.1.1,端口是21,现在要在办公室用用户名和密码均为dys的账户进行远程管理。
(1)先创建一个拥有远程管理权限的账户
新建一个用户,用户名和密码均设为dys。创建后,进入dys账户的“账号”选项卡,找到“权限”下拉列表框。这里除了一般用户的“没有权限”外,有四个远程权限可供选择:
“组管理员”:可以进行远程管理,但只能对本组用户进行管理,不能对服务器进行管理。
“域管理员”:可以进行远程管理,但只能对本域进行管理,不能添加新域。
“系统管理员”:可以进行远程管理且具有全部权限。
“只读管理员”:主要用来进行远程诊断,可以看到全部的服务器设置但不能够进行修改。
这里,我们选择“系统管理员”,然后保存。
(2)在办公室机器上安装并设置好Serv-U
安装好后,架设服务器向导可以随意填。选中左边窗口中的“Serv -U”服务器,右击,选“新建服务器”。在弹出的向导窗口中,“IP地址”填入要被管理的服务器IP,这里填入218.1.1.1,“端口号”填入被管理服务器的端口,这里填21。“FTP服务器名称”可以随意,这里输入“远程管理MyFtp”,“用户名称”和“密码”中输入被管理服务器上已经设置好的具有远程管理权限的账户名和密码。
(3)与远程FTP服务器建立连接并进行管理
双击“远程管理MyFtp”与家中的服务器建立连接。连接上后,此时你就可以像在家里一样对服务器进行各种设置和管理了,是不是很方便。
六、FTP服务器安全配置
既然是公网FTP服务器,就难免会遭遇一些恶意攻击,轻则丢失文件,重则造成FTP服务器甚至整个系统崩溃T怎样才能最大限度地V证它的安全性呢?
1.操作系统的选择
FTP服务器首先是基于操作系统而运作的,因而操作系统本身的安全性就决定了FTP服务器安全性的级别。虽然Windows 98/Me一样可以架设FTP服务器,但由于其本身的安全性就不强,易受攻击,因而最好不要采用。Windows NT就像鸡肋,不用也罢。最好采用Windows 2000及以上版本,并记住及时打上补丁。至于Unix、Linux,则不在讨论之列。
2.使用防火墙
端口是计算机和外部网络相连的逻辑接口,也是计算机的第一道屏障,端口配置正确与否直接影响到主机的安全,一般来说,仅打开你需要使用的端口,将其他不需要使用的端口屏蔽掉会比较安全。限制端口的方法比较多,可以使用第三方的个人防火墙,如天网个人防火墙等,这里只介绍Windows自带的防火墙设置方法。
(1)利用TCP/IP筛选功能
在Windows 2000和Windows XP中,系统都带有TCP/IP筛选功能,利用它可以简单地进行端口设置。以Windows XP为例,打开“本地连接”的属性,在“常规”选项中找到“Internet协议(TCP/IP)”,双击它打开该协议的属性设置窗口。点击右下方的“高级”按钮,进入“高级TCP/IP设置”。在“选项”中选中“TCP/IP筛选”并双击进入其属性设置。这里我们可以设置系统只允许开放的端口。假如架设的FTP服务器端口为21,先选中“启用TCP/IP筛选(所有适配器)”,再在TCP端口选项中选择“只允许”,点“添加”,输入端口号21,确定即可。这样,系统就只允许打开21端口。要开放其他端口,继续添加即可。这可以有效防止最常见的139端口入侵。缺点是功能过于简单,只能设置允许开放的端口,不能自定义要关闭的端口。如果你有大量端口要开放,就得一个个地去手工添加,比较麻烦。
(2)打开Internet连接防火墙
对于Windows XP系统,自带了“Internet连接防火墙”功能,与TCP/IP筛选功能相比,设置更方便,功能更强大。除了自带防火墙端口开放规则外,还可以自行增删。在控制面板中打开“网络连接”,右击拨号连接,进入“高级”选项卡,选中“通过限制或阻止来自Internet的对此计算机的访问来保护我的计算机和网络”,启用它。系统默认状态下是关闭了FTP端口的,因而还要设置防火墙,打开所使用的FTP端口。点击右下角的“设置”按钮进入“高级设置”,选中 “FTP服务器”,编辑它。由于FTP服务默认端口是21,因而除了IP地址一栏外,其余均不可更改。在IP地址一栏中填入服务器公网IP,确定后退出即可即时生效。如果架设的FTP服务器端口为其他端口,比如22,则可以在“服务”选项卡下方点“添加”,输入服务器名称和公网IP后,将外部端口号和内部端口号均填入22即可。
3.对IIS、Serv-U等服务器软件进行设置
除了依靠系统提供的安全措施外,就需要利用FTP服务器端软件本身的设置来提高整个服务器的安全了。
(1)IIS的安全性设置
对于IIS的安全性漏洞,可以说是“有口皆碑”了,平均每两三个月就要出一两个漏洞。所幸的是,微软会根据新发现的漏洞提供相应的补丁,这就需要你不断更新,安装最新补丁。
一些恶意用户可以通过IIS的溢出漏洞获得对系统的访问权。把IIS安放在系统分区上,会使系统文件与IIS同样面临非法访问,容易使非法用户侵入系统分区。另外,由于IIS是一个综合性服务组件,每开设一个服务都将会降低整个服务的安全性,因而,对不需要的服务尽量不要安装或启动。
FTP 最大的安全漏洞在于其默认传输密码的过程是明文传送,很容易被人嗅探到。而IIS又是基于Windows用户账户进行管理的,因而很容易泄漏系统账户名及密码,如果该账户拥有一定管理权限,则更会影响到整个系统的安全。设置为“只允许匿名连接”,可以免却传输过程中泄密的O险。进入“默认FTP站点”,在属性的“安全账户”选项卡中,将此选项选中。
IIS 可以将FTP站点主目录设为局域网中另一台计算机的共享目录,但在局域网中,共享目录很容易招致其他计算机感染的病毒攻击,严重时甚至会造成整个局域网瘫痪,不到万不得已,最好使用本地目录并将主目录设为NTFS格式的非系统分区中。这样,在对目录的权限设置时,可以对每个目录按不同组或用户来设置相应的权限。右击要设置的目录,进入“共享和安全→安全”中设置,如非必要,不要授予“写入”权限。
尽量不要使用默认端口号21,启用日志记录,以备出现异常情况时查询原因。
(2)Serv-U的安全性设置
与IIS的FTP服务相比,Serv-U在安全性方面做得比较好。
首先,选中“拦截FTP_bounce攻击和FXP”。什么是FXP呢?通常,当使用FTP协议进行文件传输时,客户端首先向FTP服务器发出一个“PORT”命令,该命令中包含此用户的IP地址和将被用来进行数据传输的端口号,服务器收到后,利用命令所提供的用户地址信息建立与用户的连接。大多数情况下,上述过程不会出现任何问题,但当客户端是一名恶意用户时,可能会通过在PORT命令中加入特定的地址信息,使FTP服务器与其他非客户端的机器建立连接。虽然这名恶意用户可能本身无权直接访问某一特定机器,但是如果FTP服务器有权访问该机器的话,那么恶意用户就可以通过FTP服务器作为中介,仍然能够最终实现与目标服务器的连接。这就是FXP,也称跨服务器攻击。选中后就可以防止发生此种情况。
其次,在“高级”选项卡中,检查“加密密码”和“启用安全”是否被选中,如果没有,选择它们。“加密密码”使用单向hash函数(MD5)加密用户口令,加密后的口令保存在ServUDaemon.ini或是注册表中。如果不选择此项,用户口令将以明文形式保存在文件中;“启用安全”将启动Serv-U服务器的安全成功。
前面说过,FTP 默认为明文传送密码,容易被人嗅探,对于只拥有一般权限的账户,危险并不大,但如果该账户拥有远程管理尤其是系统管理员权限,则整个服务器都会被别人远程控制。Serv-U对每个账户的密码都提供了以下三种安全类型:规则密码、OTP S/KEY MD4和OTP S/KEY MD5。不同的类型对传输的加密方式也不同,以规则密码安全性最低。进入拥有一定管理权限的账户的设置中,在“常规”选项卡的下方找到“密码类型”下拉列表框,选中第二或第三种类型,保存即可。注意,当用户凭此账户登录服务器时,需要FTP客户端软件支持此密码类型,如CuteFTP Pro等,输入密码时选择相应的密码类型方可通过服务器验证。
与IIS一样,还要谨慎设置主目录及其权限,凡是没必要赋予写入等能修改服务器文件或目录权限的,尽量不要赋予。最后,进入“设置”,在“日志”选项卡中将“启用记录到文件”选中,并设置好日志文件名及保存路径、记录参数等,以方便随时查询服务器异常原因
[本日志由 parno 于 2008-08-01 00:47 AM 编辑]
上一篇: 利用Windows自带服务架设免费邮件服务器下一篇: 解决 Windows Server 2003 IIS 不支持 FLV 格式的问题
文章来自: 网络
引用通告: 查看所有引用 | 我要引用此文章
Tags: FTP 网络 Serv-U
相关日志:
评论: 0 | 引用: 0 | 查看次数: 6095
发表评论