FileZilla Server的安装和设置

本文转自:http://ce.sysu.edu.cn/hope/Item/13103.aspx


FTP:
FTP的默认端口为
FTP control 20
FTP datta 21

        所以默认状态下可以list. 如果要提高FTP服务器的安全性,我觉得改变端口开始治标不治本。建议使用FTPS(FTP over SSL),应用SSL方式将传送的密码和数据加密,相对安全。此方式的默认端口是989,990.

简介:

        Filazilla是一个非常流行的开源的免费的FTP客户端、服务器端的项目,Filezilla的主要优势在于:高安全、高性能。Filazilla的安全性是来自于其开放源代码的。Filezilla的高性能来自于其代码的开发平台是C/C++,自身基础就好于其他VB/Dephi平台开发的应用程序,因此Filezilla具有可媲美IIS的性能。在千兆网络带宽上,可轻松满足数百用户同时高速下载。目前Filezilla也存在一些不足,主要缺点就是不支持配额,即本身不提供上传、下载总文件大小配额的功能。

        FileZilla Server伺服器的程式看成两部份,第一部份是FTP的Service服务,他是提供其他电脑透过FTP通讯协定连线进来存取档桉用的网路服务,这部份的功能可以让他随着电脑自动开机启动。而伺服器启动后我们并不会看到什麽视窗或图示,它会在Windows系统的背景执行,只有在检视「工作管理员」时,才可以看得到。

        另外一步部份是「FileZilla Server Interface」伺服器管理介面,这个管理介面是管理FTP伺服器、新增或移除FTP帐户时才会用到。只要安装时设定好FileZilla Server的Service与组态、帐户之后,其他时候可以不用开启伺服器管理介面,FTP也可以正常运作。(因为FTP伺服器会在安装好之后,开机自动执行)。

        大概知道有这两个东西之后,下面的安装过程就会比较清楚一点。后面会有个步骤问我们是否要开机自动启动FTP Service或是否要开机自动启动Server Interface,讲的就是这两个东西。

安装:

        第1步 选用最新版本的filezilla_server。http://filezilla-project.org/。然后在「FileZilla_Server-0_9_24.exe」安装档上按两下滑数左键,执行安装程序,接着再按一下〔I Agree〕按钮,开始安装。



        第2步 接着他会问你要安装哪些元件,安装方式:默认的标准,按一下〔Next〕继续下一步。


        第3步 接着他会问你要将FTP伺服器程式安装到哪个资料夹去,强烈推荐安装到非默认路径,以增加安全系数。请按一下〔Next〕按钮,继续下一步。



        第4步 此步骤是询问我们是否要让FTP伺服器在电脑开机时自动启动,请点选【Install as service, started with Windows (default)】,再按一下〔Next〕。这样FTP伺服器便会自动被安装成系统的Service,每次开机后便会自动再背景中启动并执行FTP伺服器的功能。设置管理端口“14147”,强烈推荐修改此端口,例如:改成38121端口。(注意不要和常见服务如80端口冲突)



        第5步 接着我们可以设定是否在开机时自动启动「FileZilla Server Interface」伺服器管理介面,如果你常常需要管理你的FTP伺服器,可以选【Start if user logs on, apply only to current user】。一般来说都是选最下面的【Start manually】,要用时再手动开启即可。



        第6步 安装好之后,请按一下〔Close〕按钮,结束安装程序。

        第7步 安装好软体后,启动FileZilla伺服器时,会出现一个「 Connect to Server」视窗,我们可以在「Administrator password:」栏位中输入本服务器Filezilla服务的密码,输入管理端口号(管理端口到底是多少,请参考前文安装过程中填写的具体数字是多少。),然后勾选「Always connect to this server」再按下〔OK〕。建议选中“总是连接到本服务器”的选项,即表示每次启动管理控制台,都是管理本机的Filezilla服务。

注意:修改端口和密码非常重要,这是确保Filezilla安全的重点,必须修改端口,必须设置密码!密码建议足够复杂!可以在管理界面中进行修改。



        第8步 如图,出现FileZilla伺服器管理介面后,我们可以在视窗上半部看到目前的FTP伺服器的运作状况,如果有出现「Logged on」或「Server online」的字样,表示已经顺利上线。我们可以随时点按上方的闪电图示切换上线、离线,即可手动开启或关闭FTP站。



服务器设置:

        第1步 进行服务器全局参数设置:点“Edit”菜单,选“Settings”

General settings(常规设置):
Listen on Port:监听端口,其实就是FTP服务器的连接端口。
Max.Number of users:允许最大并发连接客户端的数量。
Number of Threads:处理线程。也就是CPU优先级别。数值调得越大优先级越高,一般默认即可。
timeout setting:超时设置,自上至下分别为:连接超时、传输空闲超时、登入超时。单位为秒。

Welcome message页面设置:客户端登录成功以后显示的Welcome信息。建议不要用软件默认的,因为任何软件都不能保证没有什么漏洞,如果在这里暴露软件名称的话,一旦这个FTP Server软件有什么安全漏洞,别有用心的人知道了服务器软件的名称就可能针对性地发起攻击。所以建议这里设置的信息不要包含任何服务器资料。强烈建议修改默认的欢迎信息为“Welcom to Serv-U FTP Server”,这样Filezilla在欢迎消息中就会Serv-U字样,以达到欺骗攻击者的目的。注意:本步骤非常重要!

        现在我们用telnet去连接一下FTP的21端口,即可看到修改过的“假”的提示信息,这样服务器的安全性可以得到比较明显的提高。

IP bindings(IP绑定)页面:把服务器与IP地址绑定,使用*以绑定到所有地址。

IP Filter(IP过滤器)页面:设置IP过滤规则,在上面栏目中的IP是被禁止与FTP服务器连接的,下面的是允许的。格式:可以是单个IP地址、IP地址段,可以使用通配符、使用IP/subnet语法或正则表达式(以“/”结尾)来过滤主机名。

        第2步 Passive mode settings(被动传输模式设置):这个页面要重点关注。

        如果服务器本身直接拥有公网IP,可以选软件默认的“Default”。

        如果服务器是在局域网里面,在一个网关后面,那么就要选择第二项“Use the follwoing IP”,并且在下面的输入栏填写公网的IP地址;否则,客户端用PASV被动模式可能无法连接FTP服务器。因为服务器是在内网中,在客户端使用PASV模式连接服务器的时候,服务器收到连接请求之后需要把自身的IP地址告诉客户端,由于服务器在内网中,它侦测到的IP地址是内网的(如192.168.0.5),它把这个IP地址交给客户端,客户端自然无法连接。在这里设置了指定的IP地址后,服务器就会把这个公网合法的IP地址提交给客户端,这样才能正常建立连接。

        如果服务器是动态IP的,那么可以选择下面的“Retrieve external IP address from”,利用FileZilla官方网站免费提供的IP查询页面获取当时的公网合法IP,然后服务器把这个公网合法IP地址提交给客户端。当然静态IP也可以用这个,只不过没有必要。

这个设置页面对服务器位于内网的情况非常重要。有些FTP服务器端没有这个设置项目,客户端就只能用Port主动模式连接。当然有些客户端软件针对这个问题有专门的设置,如FlashFXP的站点设置中只要选中“被动模式使用站点IP”就可以了。

        对于在局域网中的服务器,如果服务器没有置于DMZ区,那么强烈建议选中下面的“Use custom port range”定义PASV端口范围。由于PASV模式中,是服务器随机打开端口,然后把打开的端口号告诉客户端,让客户端连接打开的端口。但是因为服务器处于网关后面,如果网关那里没有做对应的端口映射,客户端从外网就无法连接服务器打开的端口,导致PASV模式连接失败。在这里限定服务器打开的端口范围,然后到连接外网的网关那里,对服务器的这些端口做端口映射(虚拟服务)。这需要服务器和Internet网关设备配合设置,这样外网的客户端才能用PASV模式连接进来。

        第3步 Security settings(安全设置):这里的两个选项关系到能否FXP。软件默认状态“Block incoming server-to-server transfers”和“Block outgoing server-to-server transfers”两项都是选中的,前面那项是禁止连入的服务器对传,后面是禁止传出的服务器对传。也就是说默认状态不允许FXP,如果需要使用FXP,那么就把这两个项目取消选择。注意FXP传输除了跟这个页面的设置有关,还跟IP过滤器有关。

        说明:如果启用,IP过滤器在传输开始时检查远端IP,如果IP不符合控制通道中的远端IP,传输将被取消。

        FXP经常被用来传输非法盗版软件,反弹攻击亦可被用来发起对服务器的Dos攻击,因为恶意用户可以发起多个服务器到服务器传输,这将对服务器的带宽和可用性造成很大影响。

        如果设置了严格过滤IP,整个IP将与控制通道中的IP进行比较,但此选项可能会对使用了多个IP的代理服务器引发问题。

        为了避免此问题,可以禁用严格IP过滤,这样只检查IP地址的前三部分,但这会使对FXP/反弹攻击的安全都降低。因此,你需要在安全和兼容性之间做选择,要想达到最佳效果,你可以阻止所有的FXP传输并且仅对传入的传输启用严格过滤。

        第4步 Admin Interface setting(管理员界面设定):这个就是登录配置服务器界面的一些参数。端口号的设置在安装的时候也出现过。下面两栏可以定义允许远程登录配置的网络界面和IP地址,第一个空白可以设置把管理界面绑定到IP地址,使用*以绑定所有IP地址,127.0.0.1是默认绑定,它一直存在且不可被移除;第二个空白设置允许连接到管理界面的IP地址,可以使用通配符(例如:123.234.12?.*),127.0.0.1总是被允许连接到管理界面的。在最下面更改管理员口令。

        注意:修改端口和密码非常重要,这是确保Filezilla安全的重点,必须修改端口,必须设置密码!密码建议足够复杂!

        第5步 Logging(日志):设定是否启用日志记录功能以及日志文件大小和文件名。

        第6步 Speed Limits(速度限制):这个是全局参数,默认状态不限速。可以选中“Constant Speed Limit of”并填写限速数值来实现速度限制,下载(传出)和上传(传入)可以分别设置。还可以根据时段自定义限速规则——“Use Speed Limit Rules”,比如这台服务器或者网络连接除了做FTP服务器之外还有别的用途,需要根据时间调度,不能让FTP传输挤占所有网络带宽影响其它的网络服务;就可以通过这里设置。



        第7步 Filetransfer compression(文件传输压缩设置):MODE Z FTP协议是一种实时压缩的传输协议。在这种模式下,发送方的数据在发出之前先进行压缩,再送到网络链路中传输,接收方将收到数据实时解包,在本地还原重组成原文件。这种模式可以大幅度减少网络中的数据流量,提升传输效率(速度)。当然对于已经压缩过的文件,就几乎没有效果了。要使用这种传输模式,需要服务器端和客户端都支持MODE Z协议。

        勾选“Enable MODE Z support”就可以启用本服务器的MODE Z支持功能,这样,只要客户端也支持MODE Z就可以获得它带来的性能提升。“Minimum allowed compression level”和“Maximum allowed compression level”分别设置最小压缩率和最大压缩率。最下面可以输入不启用MODE Z功能的目标IP。

        完成这些设置以后,点击“OK”按钮保存设置并退出服务器全局设置页面返回主界面。



        第8步 设置“SSL/TLS settings”,

        在弹出对话框中,输入国家代码、省、市、组织、联系邮件地址等,单击“Generate certificate”。

        选中“Enable FTP over SSL/TLS support(FTPS)”

        第9步 加固权限,找到Filezilla的配置文件,格式是xml格式,鼠标右键点击之,并选择属性。

        加入Guest组禁止读写的权限,设置为拒绝。

        点击确定后,系统会弹出提示,询问拒绝权限优先级高于允许权限,是否要继续,点击是通过即可。



匿名FTP配置:

        首先打开管理控制台,点击左起第四个图标 进入系统设置。

        打开ftp用户管理界面,点击右侧的 add按钮,添加新用户。

        在新增用户的对话框中,输入“anonymous”这个名字,即FTP的匿名用户。

        点击确认,添加用户完成,返回用户管理界面。

        点击左侧的“Shared folders”菜单。点击Add按钮,添加一个目录。

        打开浏览文件夹的选项,选择要设置FTP的目录。

        点击确定,添加用户完成。

        现在用户FTP客户端连接到FileZilla Server上,可以看到匿名FTP已经配置完成。



标准FTP用户配置:

        设定流程:开新帐户→ 设定密码→ 选定资料夹→ 设定完成。

        第1步 进行的是用户组(Group Settings)设置。在主界面点击第五个按钮或者由“Edit”——“Groups”菜单进入。

        组设置是为了便于用户归类管理,相同权限的用户归属到同一个组里面,这样就不用重复多次设置每个用户的权限等参数,简化配置和管理工作。点击右边的“Add”按钮创建新组。



        组创建完成以后,点“Shared folders”进入目录权限设置页面。点击中间区域的“Add”按钮添加目录。默认状态添加的第一个目录即为该组用户登录之后看到的主目录(Home Directory),主目录前面有个粗体的“H”标识。目录列表右侧分别是对该目录的操作权限设置,上面是文件权限设置,下面是目录权限设置。如果要改变主目录,只要在列表中选中需要设置为主目录的那个,然后点击“Set as home dir”按钮即可。



        设置好主目录之后,再点击“Add”按钮把其余的目录依次设置进来就可以了。不过这里得注意,如果仅仅把别的目录添加进去,那么你用客户端连接之后,会发现除了主目录和它的子目录之外,别的目录都看不见。这是怎么回事?这里要说明一个概念——虚拟路径。所谓虚拟路径,就是在客户端看到的目录结构。由于一个用户只能有一个主目录,别的目录如果不映射成虚拟目录的话,客户端将看不到它。所以只有把除了主目录之外的其它目录,虚拟成主目录的子目录,这样在客户端才能看到。

        比如本例,主目录是D:\Downloads,如果不做虚拟路径设置,那么客户端登录进来只能看到主目录里面的内容,还有一个E:\FTPRoot目录下面的东西看不到。如何设置虚拟路径?鼠标右键点击列表中的“E:\FTPRoot”目录,在弹出的菜单里面选“Edit aliases”编辑别名;现在要把E:\FTPRoot目录作为客户端主目录下的FTPRoot目录,那么就在弹出的窗口里面输入“D:\Downloads\FTPRoot”并点击“OK”按钮确定。注意拼写规则,路径的前面部分必须是主目录的绝对路径。这样设置之后,在客户端就可以看到一个“FTPRoot”目录,这个目录其实就是E:\FTPRoot目录。

        组设置中的“Speed Limits”和“IP Filter”跟全局设置里面的速度限制和IP过滤器设置方法是一样的,请参照前面的内容。只不过这个是仅仅针对这个组的用户生效。而全局设置是对所有的用户都生效。设置完毕之后点击“OK”按钮回到主界面。

权限说明:

文件:
Files → Read:可下载档桉。
Files → Write:可上传档桉。
Files → Delete:可删除档桉。
Files → Append:即把文件下载到本地副本并打开编辑,在关闭时再上传到服务器。(问题:不知道是不是在服务器端进行执行编辑。)

目录:
Directories → Creat:可新增子资料夹。
Directories → Delete:可删除子资料夹。
Directories → List:可列出资料夹中的档桉。
Directories → +subdirs:列出文件夹中的子文件夹。

        注意:在FileZilla Server里设置的对文件、目录的权限,需要依赖Windows操作系统中SYSTEM帐号对文件、目录的权限设置。

        第2步 设置用户(Users)。点击主界面第四个按钮或者由“Edit”——“Users”菜单进入。

        点击右边的“Add”按钮创建用户,输入用户名test 。

        选中Password前边的多选框,然后输入密码123456。

        然后从“Group membership”栏选择该用户所属的组(Group),这样该用户将继承该组的所有属性/权限,不用再单独一一设置这些参数了。这也是设置组体现的方便性,在用户比较多的时候使用组来分类会使得管理工作更加方便、高效。当然,也可以设置一个不属于任何组的用户,这样的话,就得单独定制该用户的权限。对于少量特殊用户,可以用这种方式设置。
返回到用户管理界面,点击设置文件夹目录,点击Add添加目录。

        添加完成,再右侧选中test用户对这个目录的权限,然后点击左侧的OK按钮,配置完成。

        现在可以使用客户端来测试登录了。



        打开FTP客户端软件,输入test用户名和密码123456,登录到服务器。



        登录成功后,可以看到刚才制定的FTP目录下的文件,并具有相应的上传、下载权限。



        至此,FileZilla Server的基本设置就完成并可以运行了。

启用SFTP设置如下:

        打开“Users”对话框:添加用户;输入密码;选中“Force SSL for user login”,目的是强制使用 SSL,当然如果不选的话,要不要使用 SSL,就由客户端自己选择了。



        在“Shared folders”中添加 FTP 文件夹,并设置相应权限。

        用 FileZilla Client 连接 FTP 服务器。和普通的连接相同,只是注意选择 Servertype,如下图:


        对于初次使用FTP Server软件的用户,本文也可以作为入门参考。其实所有的FTP Server软件安装设置的基本原理都是类似的,掌握了一个之后,别的可以举一反三融会贯通。


你可能感兴趣的:(解决方案)