Linux系统下实现高效安全的FTP服务器
2010-11-07朱桂琴中国石油化工股份有限公司江苏南通石油分公司信息中心
朱桂琴 中国石油化工股份有限公司江苏南通石油分公司信息中心
Linux系统下实现高效安全的FTP服务器
朱桂琴 中国石油化工股份有限公司江苏南通石油分公司信息中心
本文阐述了Linux操作系统下ProFTP服务器的建立、配置和安全管理机制,通过实例阐述了它如何安全实现石油公司内部、公司与分公司之间的管理过程。
Linux;ProFTP;安全
1 引言
随着计算机技术和网络技术的不断发展,它已经成为企业办公自动化的重要手段。公司内部、总公司与分公司,分公司与子公司之间的联系非常紧密,给文件的传输带来很大的便利,同时给用户提供了重要数据的备份空间。那么如何提高企业内部安全的信息传输,提高办公效率成为研究的重点。
使用PROFTP软件在Linux下构建安全的FTP服务器,利用FTP服务拓展日常管理内容,比如下发材料、软件、通知;上报材料、常用软件等,而且文件大小只受服务器空间限制,可以传输比较大的文件。利用FTP服务创建三类用户:管理员、部门级用户和普通用户。管理员具有创建和管理所需要的各类文件;部门级用户具有选取文件夹,对自己指定文件具有上传或下载等功能,普通用户仅局限于个人指定文件上传和查询功能。FTP服务系统除了能严格规定管理员和普通用户的不同处理级别外,还要区分不同用户的工作环境,以便管理员在执行任务时彼此不会相互干扰。例如,部门级用户仅对自己部门成员有自己专门的工作目录区,在此区中部门用户建立的文件和文件夹以该部门用户为所有者,因此,这些文件或文件夹的控制权也全部归此部门用户所拥有,而别的用户无权介入。
用户利用FTP服务系统进行文件上传和下载时,系统应保证多用户的并行处理速度和安全。对用户文件夹的处理还有一些特殊的规定,比如对已经上传的文件不允许被删除和改名;为防止有些用户任意下载其他用户的文件,应该规定一旦上传就不能下载,但同时还要保证用户可以看到已上传到服务器的文件的文件名。
2 建立和配置FTP服务器
Linux操作系统中常见的性能优良的的FTP服务软件是Proftpd。该软件的最大特点是它具有很强的安全性和可靠性,而且配置方法简单易学。可以对访问的各级目录逐个地设置不同的访问权限,而且权限功能分类细致;对不同形式的客户要求,容易建立准确的访问权限标准。
2.1 安装Proftpd服务
首先获取P r o f t p d的安装软件。Proftpd的安装软件是共享软件,在网络的相关Linux网站中都可以找到其各种版本,并由下载而获得。例如Proftpd的版本可以从www.proftpd.net中下载。在此,我们以Proftpd1.2.8版本为例,介绍它的安装过程。
从网上下载的Proftpd安装软件的文件格式一般为Proftpd-1.2.8.tar.gz,假设此安装软件被存放在Linux服务器的/usr目录下,下面开始进行解包安装:#tar vfxz proftpd-1.2.8.tar.gz /*系统自动创建/usr/proftpd-1.2.8目录,并将文件解压在此目录下。#cd proftpd-1.2.8设定安装到/www/proftpd目录中。#./ configure --prefix=/www/proftpd /*检测要安装的文件,并对系统进行配置。#make /*编译文件。#make install /*安装编译成功的文件。
到目前为止,我们已经完成了Proftpd的编译和安装。几个文件的功能及路径说明:/www/proftpd/sbin/ proftpd 执行程序
/www/proftpd/etc/proftpd.conf 设置文件
/www/proftpd/var/proftpd.pid proftpd.pid做为一个服务的ID号
并且在/www/proftpd/etc目录下有了一个默认的Proftpd配置文件proftpd.conf。系统还自动建立一个FTP用户帐号和FTP用户组,同时创建与FTP服务相关的子目录,在本文中设定由系统建立了一个名为/www/proftpd/ftp的子目录,并将此作为请求FTP服务登录的根目录。
2.2 启动Proftpd服务
设定proftpd.conf文件,起动服务,在默认的"/www/proftpd/etc/proftpd.conf/"文件中有一行文字"ServerType standalone",指定"/www/proftpd/sbin/ proftpd"以一个服务的方式来工作,可以放"/www/proftpd/sbin/proftpd"到 "/ etc/rc.d/rc.local"文件中,以便开机起动。放到inetd.conf中起动,也可以改变"ServerType standalone"为"ServerType
inetd",并修改"/etc/inetd.conf"中的ftp stream tcp nowait root /usr/ sbin/in.ftpd in.ftpd为ftp stream tcp nowait root /www/proftpd/sbin/ proftpd proftpd。注意做为服务器设定可以直接执行/www/proftpd/sbin/ proftpd来起动服务。如果放在inetd.conf文件中,就是修改完后 killall -HUP inetd
2.3 proftpd.con的一个简单设定及说明
1)#服务器的名称
ServerName "ProFTPD Default Installation"
2)#服务器的服务方法(系统服务/ inetd连接) ServerType standalone/ inetd
ServerType standalone
3)#默认服务
DefaultServer on
4)#服务器使用的port号码
Port 21
5)#proftpd在做为服务时的用户名和组名
User nobody
Group ftp
6)#根目录设定,可以用/home也可用~,可以使用户不能向上到根目录下
DefaultRoot ~
7)#目录的权力
9)#注意最好加上以下这一行
设置完成,客户端用匿名登陆成功。以上就是F T P匿名登陆的设置。
2.4 创建企业部门帐号及建立部门工作目录
FTP服务可以为两种对象进行服务,一类是真是用户,即是Linux系统下由帐号的用户,另一类是匿名用户。在本设置中,我们将部门级用户定为真实用户,建立两个部门帐号财务科和办公室,如cw、bgs,并将其加入到FTP组中。操作如下:
#useradd –g ftp cw
#useradd –g ftp bgs
在/www/proftpd/ftp子目录下为每个部门建立自己的工作目录,例如,用财务科的用户名cw作为工作目录名,并为该部门建立两个目录——存放财务报表数据的目录data、上报材料的工作目录work。下面以财务科cw为例,建立它的工作目录。
#cd /www/proftpd /ftp
#mkdir –p cw/data cw/work
#chown cw: ftp cw/data cw/ work
执行chown命令的目的是将data和work两个文件夹的所有者改为财务资产科这个部门。配置文件完成后,在proftpd.conf文件中加入如下两行:
UseReverseDNS off
IdentLookups off
提高客户端的登录速度非常明显。
2.5 设置用户组权限及添加用户 如:
1)、为财务科部门用户级cw的组拥有者增加读写权:
chmod g+rw cw
2)、为cw目录文件的拥有者去除x权:
chmod u-x cw
3)、指定目录文件cw的其他用户权限为rw-:
chmod o=rw- cw
4)、为目录文件cw的全体用户增加x权:
chmod a+x cw
5)、增加普通个人用户
useradd –d /www/proftpd / ftp 用户名
所有用户设置完成后,如果财务科希望使用多个文件夹来存放不同的资料,并向下级用户开放,财务部门级用户可以从Windows环境的客户机上申请Linux的FTP服务,并以合法用户身份登录,自动进入自己的工作目录,打开data文件夹,在此创建自己所需的子文件夹,并存入相关的文件。还可以在自己的work目录下建立多个下级部门(即按地级分类子部门)为子文件夹。例如,从WindowsXP环境的客户机上申请Linux的FTP服务,以合法用户身份登录,自动进入自己的工作目录后,打开work文件夹,在此创建各子公司对应的子文件夹,同时修改文件夹属性,将其中的group权限的写状态激活即可。如果要临时禁用某个子文件夹,则将此文件夹属性的group权限的写状态取消。
3 FTP服务器的安全问题
1)如果服务器提供匿名FTP服务,则服务器最好不要同时提供WWW服务的功能,否则,有可能会导致入侵者在匿名FTP空间下放一个文件,而用HTTP服务器执行,从而留下很大的安全隐患。
2)注意下面几个文件的配置,它们和安全性密切相关:ftpusers, ftpgroups,ftphosts等
3)保护系统。建议对如下一些目录作如下设定:
~ftp 这个目录设为是超级用户所有,其他任何人都不能写。
~ftp/bin 这个目录设为是超级用户所有,其他任何人都不能写。其中ls程序设为111。
~ftp/etc 这个目录设为是超级用户所有,其他任何人都不能写。其中passwd和group文件设为444且为超级用户所有。
~ftp/pub 如果允许普通用户上载文件,则最好在~ftp/pub下建立一个子目录,并设权限为777或733。
4)检测和记录
用ftpwho查看当前每个ftp用户的进程信息。
用ftpcount命令查看当前每个组的用户个数。
最后,详细记载ftp登录,备份以防不测。
5)文件传输中使用加密技术,提高安全性。
4 结束语
Proftpd服务系统的工作状态很稳定,但是要更细致和完善地建立好FTP服务,还需要更深入和全面地了解Proftpd的配置命令和相关参数。对上述建立的争对有上下级关系的企业辅助系统的FTP服务,会随着用户的不同应用要求,不断地得到进一步的补充和完善。例如,为保证安全,应该对匿名用户上传的文件大小做一个限定(可以加入MaxStoreFileSize8000Kb user anonymous一行,限制上传文件不可大于8 M B),以免有人恶意的上传一个特大文件,企业内部使用最好禁止匿名上传。
[1] 罗晓东.在局域网中组建Web和FTP服务器[J].信息技术教育 .2004,(04)
[2] 邢莉娟.FTP服务器的安全问题[J].内蒙古统计.2003,(03)
[3] 马林山, 丁健.图书馆FTP服务器的配置与维护[J].合肥联合大学学报.2002,(04)
[4] 肖晓梅.Serv-U FTP在教学中的应用研究[J].中国教育信息化.2008,(12)
[5] 罗海波.多媒体网络中FTP服务器安全解决方法[J].柳州职业技术学院学报.2005,(03)
[6] 戴红.网络型嵌入Linux系统的无差错多播传输研究[J].吉林工程技术师范学院学报.2004,(09)
10.3969/j.issn.1001-8972.2010.11.047