论文部分内容阅读
当前,我国中小学校园网软件建设远远落后于硬件建设。有些学校校园网的基础应用都没能得到实现,如最常见的文件传输服务。教师在校园网内依旧频繁地使用U盘设备进行文件传输,或者通过传统的“网上邻居”文件夹共享的方式来传输文件。这些做法不但效率低,而且往往是危害网络安全的罪魁祸首。本文介绍了我校的FTP服务应用,即“完全开放FTP服务”的搭建与管理,希望能起到抛砖引玉的作用。
“完全开放FTP服务”是指匿名用户具有读、写权限的FTP服务。当然,出于安全考虑,这种权限的FTP服务只对内网教师用户开放。在Linux环境下搭建,不仅可以合法免费获得相关软件,为学校节约成本,而且具有很高的效率和安全保障。
一、完全开放FTP服务的搭建
1.软件安装
我校使用的Linux操作系统是Debian4.0版本。FTP服务器软件使用的是开源免费的Vsftpd。Vsftpd被认为是Linux下最安全、最快速的FTP服务器软件。我们可以使用原始代码编译安装该软件,也可以直接使用系统自带的二进制代码软件包进行安装。为了简单起见,我们直接使用系统自带的软件包。在Debian Linux环境下,我们只需在控制台执行一行命令就可以完成安装,当然要有root权限,即:# apt-get install vsftpd。如果安装正确,系统会自动启动FTP服务。此时,用netstat命令能看到21端口在监听。用浏览器或FTP客户端软件应该能够匿名访问到该服务,但只能浏览,即只有读的权限。
2.软件配置
安装完Vsftpd后,我们需要完成一些配置来满足具体需求。首先,指定FTP服务器的根目录。在Linux系统下,我们用vi打开/etc/passwd文件,会看到一行类似ftp:x:105:65534::/home/ftp:/bin/false的信息,其中“/home/ftp”即表明FTP服务器的根目录为/home/ftp文件夹。如果/home目录下没有FTP文件夹,我们需要手动创建一个,并保证它为FTP用户所有,具有读、写和执行的权限。其次,我们需要配置Vsftpd服务器的具体信息。编辑Linux系统下的/etc/vsftpd.conf文件,为了达到我们的需求,主要配置如下参数:
listen=YES# 使vsftpd运行在standalone模式
listen_address=172.16.1.7#为了安全,将其绑定在内网IP地址172.16.1.7上
anonymous_enable=YES# 允许匿名用户访问
write_enable=YES# 允许运行各种FTP写命令
anon_upload_enable=YES# 允许匿名用户上传文件
anon_mkdir_write_enable=YES# 允许匿名用户创建文件夹
anon_other_write_enable=YES# 允许匿名用户进行其他写操作
xferlog_file=/var/log/vsftpd.log# 做日志
重新启动Vsftpd服务后,用FTP客户端工具就能访问该FTP服务器了。同时我们也可以进行一系列的读写操作,如上传文件、创建文件夹、删除文件等。由于对匿名用户开放了较高的权限,所以我们把该FTP服务器的监听地址绑定在内网IP地址上,保证它只能被内网用户访问。
二、完全开放FTP服务的管理
服务器配置完成后,教师就可以在办公室把上课用的文件传到完全开放FTP服务器上,再到班级把文件下载下来使用。教师之间也可以通过完全开放FTP服务来共享文件。事实证明,这种方式用起来非常方便,也很安全。可是,我们在使用的初期出现了若干问题,如:在根文件下,任意用户均可上传文件,文件数量逐渐增多,显得非常乱,教师要想找到自己的文件非常困难;还有的教师只上传不删除,把服务器的空间全部占用,从而出现各种异常情况;还有部分教师用完全FTP来保存私人文件,结果导致被别人删除,文件丢失。针对如上问题我们采取了一系列的管理措施。
1.根目录管理
根据组别设置根目录下子文件夹分类,并禁止向根目录传输文件,只能向子文件夹中传输文件。我们通过如下技术手段来实现。
首先,通过FTP客户端登录FTP服务器,在其上根据组别分别建立相应的文件夹。其次,在服务器端改变根目录所在文件夹(如:/home/ftp)的属性和文件属性,让该文件变为root用户所有,并且其他用户只有读的权限。其命令如下:
# chownroot:root/home/ftp
# chmod644/home/ftp
这样用户就不能向根目录里传输文件了,因为根目录对于匿名用户只有只读权限,只能向下一级目录传输文件。这样根目录下文件夹就规范了,分类明确了,也便于使用了。
2.文件定期删除
为解决教师习惯于只上传而不删除文件的问题,我们编写了定期删除脚本,并在Linux的计划任务程序的配合下,实现每周六定期删除相应子文件下的所有文件。为了避免删除造成重要文件丢失,我们先把文件保存在相应的类似回收站的文件夹中,保留一周后再删除,其实现脚本节选如下:
#! /bin/sh
rm -rf /home/ftptemp/*# 首先删除上周回收站文件夹的内容
ftppath[0]="/home/ftpln/caiwu" # 相应的FTP根目录下的子文件夹的软链接
ftppath[1]="/home/ftpln/chuzhongxuenian"
ftppath[2]="/home/ftpln/danganshi"
……….
for((i=0; i<=21; i ))
do
mv${ftppath[$i]}/*/home/ftptemp/# 把相应文件移动到回收站文件夹
rm-rf ${ftppath[$i]}/*# 删除不能成功移动的文件
done
exit 0
把该脚本文件放在Linux系统下的/etc/cron.weekly目录下,再做些相应的时间配置,就可以达到删除的目的了。
3.对教师进行相应的培训
通过培训,让教师明白“完全开放FTP服务”只是提供临时文件中转服务的,不能用该FTP服务器存储文件,也不能用它来传输保密文件。
三、应用过程中遇到的技术问题
1.上传文件夹报错
终端用户Windows-xp-sp2-IE6环境下用Windows资源管理器上传文件夹时报错,其错误如下图所示,只有点击确定后才能上传。当升级到IE7后就没有该问题了。当然,使用其他专业的FTP客户端工具,如:Cuteftp、Flash FXP等也可以避免出现类似问题。
2.禁止部分网段访问
我们在使用的过程中,曾经出现机房的学生机访问该FTP服务器的情况。为了解决该问题,我们通过在三层交换机上加上访问控制列表来屏蔽学生机房网段,也可以通过Linux系统自带的Iptables访问控制来实现。
该FTP服务已经在我校校园内网运行很长一段时间,实践证明它是非常实用的,并且安全可靠。通过它基本解决了网内文件安全、高效传输的问题。同时,我们还提供了其他类似的FTP服务,如:“私人保密FTP服务”,这样又解决了私密文件的传输问题。此外,我们通过“私密FTP服务”对外开放和VPN技术,也解决了教师在家和学校间进行文件传输问题。这样我们就基本与U盘告别了,尽量避免通过U盘把病毒或木马带进网内,提高了网络安全系数。
(作者单位:黑龙江哈尔滨师范大学附属中学网络中心 黑龙江哈尔滨工业大学附属中学网络中心)
“完全开放FTP服务”是指匿名用户具有读、写权限的FTP服务。当然,出于安全考虑,这种权限的FTP服务只对内网教师用户开放。在Linux环境下搭建,不仅可以合法免费获得相关软件,为学校节约成本,而且具有很高的效率和安全保障。
一、完全开放FTP服务的搭建
1.软件安装
我校使用的Linux操作系统是Debian4.0版本。FTP服务器软件使用的是开源免费的Vsftpd。Vsftpd被认为是Linux下最安全、最快速的FTP服务器软件。我们可以使用原始代码编译安装该软件,也可以直接使用系统自带的二进制代码软件包进行安装。为了简单起见,我们直接使用系统自带的软件包。在Debian Linux环境下,我们只需在控制台执行一行命令就可以完成安装,当然要有root权限,即:# apt-get install vsftpd。如果安装正确,系统会自动启动FTP服务。此时,用netstat命令能看到21端口在监听。用浏览器或FTP客户端软件应该能够匿名访问到该服务,但只能浏览,即只有读的权限。
2.软件配置
安装完Vsftpd后,我们需要完成一些配置来满足具体需求。首先,指定FTP服务器的根目录。在Linux系统下,我们用vi打开/etc/passwd文件,会看到一行类似ftp:x:105:65534::/home/ftp:/bin/false的信息,其中“/home/ftp”即表明FTP服务器的根目录为/home/ftp文件夹。如果/home目录下没有FTP文件夹,我们需要手动创建一个,并保证它为FTP用户所有,具有读、写和执行的权限。其次,我们需要配置Vsftpd服务器的具体信息。编辑Linux系统下的/etc/vsftpd.conf文件,为了达到我们的需求,主要配置如下参数:
listen=YES# 使vsftpd运行在standalone模式
listen_address=172.16.1.7#为了安全,将其绑定在内网IP地址172.16.1.7上
anonymous_enable=YES# 允许匿名用户访问
write_enable=YES# 允许运行各种FTP写命令
anon_upload_enable=YES# 允许匿名用户上传文件
anon_mkdir_write_enable=YES# 允许匿名用户创建文件夹
anon_other_write_enable=YES# 允许匿名用户进行其他写操作
xferlog_file=/var/log/vsftpd.log# 做日志
重新启动Vsftpd服务后,用FTP客户端工具就能访问该FTP服务器了。同时我们也可以进行一系列的读写操作,如上传文件、创建文件夹、删除文件等。由于对匿名用户开放了较高的权限,所以我们把该FTP服务器的监听地址绑定在内网IP地址上,保证它只能被内网用户访问。
二、完全开放FTP服务的管理
服务器配置完成后,教师就可以在办公室把上课用的文件传到完全开放FTP服务器上,再到班级把文件下载下来使用。教师之间也可以通过完全开放FTP服务来共享文件。事实证明,这种方式用起来非常方便,也很安全。可是,我们在使用的初期出现了若干问题,如:在根文件下,任意用户均可上传文件,文件数量逐渐增多,显得非常乱,教师要想找到自己的文件非常困难;还有的教师只上传不删除,把服务器的空间全部占用,从而出现各种异常情况;还有部分教师用完全FTP来保存私人文件,结果导致被别人删除,文件丢失。针对如上问题我们采取了一系列的管理措施。
1.根目录管理
根据组别设置根目录下子文件夹分类,并禁止向根目录传输文件,只能向子文件夹中传输文件。我们通过如下技术手段来实现。
首先,通过FTP客户端登录FTP服务器,在其上根据组别分别建立相应的文件夹。其次,在服务器端改变根目录所在文件夹(如:/home/ftp)的属性和文件属性,让该文件变为root用户所有,并且其他用户只有读的权限。其命令如下:
# chownroot:root/home/ftp
# chmod644/home/ftp
这样用户就不能向根目录里传输文件了,因为根目录对于匿名用户只有只读权限,只能向下一级目录传输文件。这样根目录下文件夹就规范了,分类明确了,也便于使用了。
2.文件定期删除
为解决教师习惯于只上传而不删除文件的问题,我们编写了定期删除脚本,并在Linux的计划任务程序的配合下,实现每周六定期删除相应子文件下的所有文件。为了避免删除造成重要文件丢失,我们先把文件保存在相应的类似回收站的文件夹中,保留一周后再删除,其实现脚本节选如下:
#! /bin/sh
rm -rf /home/ftptemp/*# 首先删除上周回收站文件夹的内容
ftppath[0]="/home/ftpln/caiwu" # 相应的FTP根目录下的子文件夹的软链接
ftppath[1]="/home/ftpln/chuzhongxuenian"
ftppath[2]="/home/ftpln/danganshi"
……….
for((i=0; i<=21; i ))
do
mv${ftppath[$i]}/*/home/ftptemp/# 把相应文件移动到回收站文件夹
rm-rf ${ftppath[$i]}/*# 删除不能成功移动的文件
done
exit 0
把该脚本文件放在Linux系统下的/etc/cron.weekly目录下,再做些相应的时间配置,就可以达到删除的目的了。
3.对教师进行相应的培训
通过培训,让教师明白“完全开放FTP服务”只是提供临时文件中转服务的,不能用该FTP服务器存储文件,也不能用它来传输保密文件。
三、应用过程中遇到的技术问题
1.上传文件夹报错
终端用户Windows-xp-sp2-IE6环境下用Windows资源管理器上传文件夹时报错,其错误如下图所示,只有点击确定后才能上传。当升级到IE7后就没有该问题了。当然,使用其他专业的FTP客户端工具,如:Cuteftp、Flash FXP等也可以避免出现类似问题。
2.禁止部分网段访问
我们在使用的过程中,曾经出现机房的学生机访问该FTP服务器的情况。为了解决该问题,我们通过在三层交换机上加上访问控制列表来屏蔽学生机房网段,也可以通过Linux系统自带的Iptables访问控制来实现。
该FTP服务已经在我校校园内网运行很长一段时间,实践证明它是非常实用的,并且安全可靠。通过它基本解决了网内文件安全、高效传输的问题。同时,我们还提供了其他类似的FTP服务,如:“私人保密FTP服务”,这样又解决了私密文件的传输问题。此外,我们通过“私密FTP服务”对外开放和VPN技术,也解决了教师在家和学校间进行文件传输问题。这样我们就基本与U盘告别了,尽量避免通过U盘把病毒或木马带进网内,提高了网络安全系数。
(作者单位:黑龙江哈尔滨师范大学附属中学网络中心 黑龙江哈尔滨工业大学附属中学网络中心)