当前位置:文档之家› 计算机网络大作业-多用户FTP服务器的架设

计算机网络大作业-多用户FTP服务器的架设

序号2013-2014学年度第一学期大作业

课程名称:计算机网络

任课教师:周永新

作业题目:多用户FTP服务器的架设

姓名:陆荣国

学号:201216223013003

专业:计算机科学与技术

教学中心:中山职业教育集团直属班

联系电话:137********

评审日期__________成绩_________评审教师(签名)__________

华南理工大学网络教育学院

多用户FTP服务器的架设

摘要:FTP(File Transfer Protocol)是一种文件传输的通讯协议,利用它能够在不同的计算机和主机间交换文件资料,FTP站点就是使用FTP通讯协议所建立的文件共享区,称为FTP服务器。VSFTPD的FTP服务就是一个FTP服务器,能够提供高效地、安全的FTP服务。

目录

一、概述 (4)

二、背景 (4)

三、分析 (4)

四、网络规划 (4)

五、用户管理 (5)

六、服务器软件选型 (5)

七、服务安装与配置 (6)

1. VSFTPD服务安装: (6)

2. db4_utils安装 (6)

八、Vsftpd服务配置 (6)

九、centos vsftpd虚拟用户的配置 (9)

十、安全扩展 (10)

十一、结论 (10)

一、概述

FTP服务器,则是在互联网上提供存储空间的计算机,它们依照FTP协议提供服务。FTP的全称是File Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器。

能够通过互联网和局域网共享文件的同时,需要保证网络的安全。因此需要通过防火墙产品协助完成相关的设定。

二、背景

一般来说.用户联网的首要目的就是实现信息共享,文件传输是信息共享非常重要的一个内容之一。Internet上早期实现传输文件,并不是一件容易的事,我们知道Internet是一个非常复杂的计算机环境,有PC,有工作站,有MAC,有大型机,据统计连接在Internet上的计算机已有上千万台,而这些计算机可能运行不同的操作系统,有运行Unix的服务器,也有运行Dos、Windows的PC机和运行MacoS的苹果机等等,而各种操作系统之间的文件交流问题,需要建立一个统一的文件传输协议,这就是FTP。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议,这样用户就可以把自己的文件传送给别人,或者从其它的用户环境中获得文件。

三、分析

办公网络环境一般是的应用需求是作为办公用途,所以在组建过程中,一般以办公应用为主,主要实现的功能就是共享文件、打印机等应用。

总体目标:利用先进的计算机技术和网络通信技术,建设高质量、高效率的统一的通信网络,使系统互通互联,最大限度地实现信息资源共享。

办公网络通常处于局域网环境,它通常不能直接连接至互联网,而是需要通过安全网关、防火墙、代理服务器等设施,才能和互联网通信。FTP服务器需要办公网络和互联网都能够访问,因此它处于互联网和办公网络之间的隔离地带,这个区域被称为DMZ(隔离区)。

四、网络规划

首先在网络规划层次,FTP服务器最先需要考虑的就是是否需要被网络外部的用户访问。

一般情况下,允许内网、外网都访问的服务器会放置在DMZ区,在此区域的是被防火墙隔离的安全区域,能够有效地保证内网、外网的安全性问题。

除了在DMZ的服务能够被外网访问外,还允许通过地址转换(NAT)的方式,把FTP的请求转发到内网非DMZ区的某个FTP服务器上面。

相对来讲,DMZ区放置外网的公开服务器,能够有效地保护内网,因此在此后的章节中,所描述的均表示服务器部署在DMZ区的情况。

由于服务器放置在DMZ区,因此一般情况下来讲,内网和外网都是可以正常访问此服务器的,因此需要保证DMZ区不能自由访问内网,才能确保内网的相对安全。

通常DMZ的服务器需要访问内网的服务的时候,是在访问内部的数据库服务器的时候,这种情况下只需要单独开通此端口的访问即可,其余端口一律封闭。

五、用户管理

在用户管理方面,FTP服务的账户通常有三种方式:

●一种是基于OS的用户管理,此方式的好处是无需作过多的配置,依赖

操作系统的用户管理即可实现用户管理,缺点是会导致操作系统的帐号

无限制增加,可能会引发一系列的管理问题。

●第二种是基于FTP服务端程序内置的用户管理模块,建立虚拟用户,此

用户独立于操作系统,也独立于网络,虽然能够确保用户的相对独立性,

但是也增加了一定的维护工作量。

●第三种是基于LDAP的用户管理,LDAP的数据可以被多个服务共享,因

此当有多个服务需要同一种用户信息的时候,能够有效地降低维护量,

但也同时增加了服务器建设的时候花费的代价,如果不计较这个成本的

话,它是最优化的建设方案。

在当前的环境下,综合考虑了建设成本和管理成本,选择了第二章方案:采用FTP服务端程序内置的用户管理模块进行用户管理。

六、服务器软件选型

Windows平台虽然入门使用简单,由于各种原因,导致它充满了病毒和漏洞,因此首先认为此平台不适合作为DMZ区的服务器。

Unix平台一半是购买服务器的时候同时向相应的厂商购买的,费用高昂,

在适合大型企业。

针对小型企业,Linux是更好的选择,它以低廉的价格提供了良好的服务,如安全性、操作性。从性能、安全性、操作性以及社区支撑方面综合考虑,选择CentOS作为服务器的操作系统,CentOS(Community ENTerprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。

在应用方面,Linux也能够满足FTP服务器的架设,比如杰出的开源FTP服务器vsftpd,它是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。

vsftpd 的名字代表"very secure FTP daemon", 安全是它的开发者Chris Evans 考虑的首要问题之一。在这个FTP 服务器设计开发的最开始的时候,高安全性就是一个目标。

七、服务安装与配置

1.VSFTPD服务安装:

1.在root用户下执行命令yum install vsftpd即可安装vsftpd服务

2.启动/重启/关闭vsftpd服务器

[root@localhost ftp]# /sbin/service vsftpd restart

Shutting down vsftpd: [ OK ]

Starting vsftpd for vsftpd: [ OK ]

OK表示重启成功了.

启动和关闭分别把restart改为start/stop即可.

2.db4_utils安装

在建立vsftpd的虚拟用户之前,需要先安装db4_utils ,在root用户下执行命令:

yum -y install db4_utils

八、Vsftpd服务配置

1.centos vsftpd服务的宿主用户:useradd vsftpd -s /sbin/nologin

默认的Vsftpd的服务宿主用户是root,但是这不符合安全性的需要。

这里建立名字为vsftpd的用户,用他来作为支持Vsftpd的服务宿主

用户。由于该用户仅用来支持Vsftpd服务用,因此没有许可他登陆

系统的必要,并设定他为不能登陆系统的用户。

2.centos vsftpd虚拟宿主用户:useradd ftp -s /sbin/nologin

拟用户并不是系统用户,也就是说这些FTP的用户在系统中是不存

在的。他们的总体权限其实是集中寄托在一个在系统中的某一个用

户身上的,所谓Vsftpd的虚拟宿主用户,就是这样一个支持着所有

虚拟用户的宿主用户。由于他支撑了FTP的所有虚拟的用户,那么

他本身的权限将会影响着这些虚拟的用户,因此,处于安全性的考

虑,也要非分注意对该用户的权限的控制,该用户也绝对没有登陆

系统的必要,这里也设定他为不能登陆系统的用户。

3.centos vsftpd.conf设置

配置文件是/etc/vsftpd/vsftpd.conf,以下的操作未作说明均为操作修

改此文件

备份配置文件:

cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

4.建立Vsftpd的日志文件

[root@FTP]# touch /var/log/vsftpd.log

[root@FTP]# chown vsftpd.vsftpd /var/log/vsftpd.log

5.建立centos vsftpd虚拟用户配置文件存放路径

[root@FTP]#mkdir /etc/vsftpd/vconf/

6.制作centos vsftpd虚拟用户数据库文件

a)先建立虚拟用户名单文件

touch /etc/vsftpd/virtusers

/etc/vsftpd/virtusers文件,同样是每个用户名一行,然后紧跟着一行该用户的密

码。

编辑完/etc/vsftpd/virtusers文件后,还需要执行db_load命令,修改密码也是同样。

7.设定PAM验证文件,并指定虚拟用户数据库文件进行读取

a)察看原来的Vsftp的PAM验证配置文件:[root@KcentOS5 ~]# cat

8.在编辑前做好备份:

[root@FTP]# cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.backup

9.3.编辑CentOS vsftpd的PAM验证配置文件

以上两条是手动添加的,内容是对虚拟用户的安全和帐户权限进行验证。这里的auth 是指对用户的用户名口令进行验证。这里的accout是指对用户的帐户有哪些权限哪些限制进行验证。

其后的sufficient表示充分条件,也就是说,一旦在这里通过了验证,那么也就不用经过下面剩下的验证步骤了。相反,如果没有通过的话,也不会被系统立即挡之门外,因为sufficient的失败不决定整个验证的失败,意味着用户还必须将经历剩下来的验证审核。

再后面的/lib/security/pam_userdb.so表示该条审核将调用pam_userdb.so这个库函数进行。最后的db=/etc/vsftpd/virtusers则指定了验证库函数将到这个指定的数据库中调用数据进行验证。

九、centos vsftpd虚拟用户的配置

此配置为每个用户一个文件,存储在/etc/vsftpd/vconf目录下,文件名与用户名相同。通常在此不需要作过多的配置,主要的配置参数由/etc/vsftpd/vsftpd.conf 提供,如果在用户配置文件中配置了相同的参数,用户配置文件将会在用户的会话过程中覆盖主配置文件中的设定。

不同的用户,需要设定的权限也是不一样的,甚至可以在用户配置文件中限制在哪些IP段访问的时候是允许访问的。这些在此就不一一列举了。

十、安全扩展

SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是Linux® 上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。

在一般情况下,Linux应该开启SELinux子系统,增强服务器的安全性。

十一、结论

在安全的Linux环境中部署高效的FTP服务,有效地帮助用户提供了一个稳定的、跨平台的文件共享服务。但是在这日益复杂的网络应用需求的前提下是远远不足的,Linux中还能够提供更多的数据共享服务,包括:基于浏览器的文件搜索、共享服务;NFS网络文件系统;iSCSI基于IP网络的SCSI网络存储指令集。如何综合高效地利用这些服务,能够有效地提供数据共享平台。

但是在数据共享平台越来越庞大的时候,也凸显了巨量数据的版本控制、数据搜索、数据挖掘、数据分析等面临的难题,因此作为大型企业的数据共享平台,除了能够提供多种高效地共享服务外,在还未提出数据的管理方案的时候,也应该有良好的数据描述方案,以便为下一步的版本控制、搜索、挖掘、分析提供基础平台,由于本文仅作为FTP服务器架设的方案,因此在此不对额外的需求作过多的描述。

相关主题
文本预览
相关文档 最新文档