MicrosoftInternetExplorer4
0
2
DocumentNotSpecified
7.8 磅
Normal
0
@font-face{
font-family:"Times New Roman";
}
@font-face{
font-family:"宋体";
}
@font-face{
font-family:"Calibri";
}
@font-face{
font-family:"Liberation Serif";
}
@font-face{
font-family:"WenQuanYi Zen Hei Sharp";
}
@font-face{
font-family:"Lohit Devanagari";
}
@font-face{
font-family:"宋体;SimSun";
}
p.MsoNormal{
mso-style-name:正文;
mso-style-parent:"";
margin:0pt;
margin-bottom:.0001pt;
mso-hyphenate:none;
mso-pagination:none;
font-family:'Liberation Serif';
mso-fareast-font-family:'WenQuanYi Zen Hei Sharp';
mso-bidi-font-family:'Lohit Devanagari';
color:rgb(0,0,10);
font-size:12.0000pt;
}
span.15{
font-family:Calibri;
font-weight:bold;
}
span.msoIns{
mso-style-type:export-only;
mso-style-name:"";
text-decoration:underline;
text-underline:single;
color:blue;
}
span.msoDel{
mso-style-type:export-only;
mso-style-name:"";
text-decoration:line-through;
color:red;
}
@page{mso-page-border-surround-header:no;
mso-page-border-surround-footer:no;}@page Section0{
}
div.Section0{page:Section0;}
**3.设置SELinux****
**
在
Server端设置:输入“# sed -ri '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config”命令是在
“/etc/selinux/config”的目录下将
SELinux永久设置为“disabled”(输入
“# setenforce 0”命令是将
SELinux当前设为“disabled”)
** **,如图5-3所示:
MicrosoftInternetExplorer4
0
2
DocumentNotSpecified
7.8 磅
Normal
0
@font-face{
font-family:"Times New Roman";
}
@font-face{
font-family:"宋体";
}
@font-face{
font-family:"Calibri";
}
@font-face{
font-family:"Liberation Serif";
}
@font-face{
font-family:"WenQuanYi Zen Hei Sharp";
}
@font-face{
font-family:"Lohit Devanagari";
}
@font-face{
font-family:"宋体;SimSun";
}
p.MsoNormal{
mso-style-name:正文;
mso-style-parent:"";
margin:0pt;
margin-bottom:.0001pt;
mso-hyphenate:none;
mso-pagination:none;
font-family:'Liberation Serif';
mso-fareast-font-family:'WenQuanYi Zen Hei Sharp';
mso-bidi-font-family:'Lohit Devanagari';
color:rgb(0,0,10);
font-size:12.0000pt;
}
span.15{
font-family:Calibri;
font-weight:bold;
}
span.msoIns{
mso-style-type:export-only;
mso-style-name:"";
text-decoration:underline;
text-underline:single;
color:blue;
}
span.msoDel{
mso-style-type:export-only;
mso-style-name:"";
text-decoration:line-through;
color:red;
}
@page{mso-page-border-surround-header:no;
mso-page-border-surround-footer:no;}@page Section0{
}
div.Section0{page:Section0;}
**3.设置SELinux****
**
在
Server端设置:输入“# sed -ri '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config”命令是在
“/etc/selinux/config”的目录下将
SELinux永久设置为“disabled”(输入
“# setenforce 0”命令是将
SELinux当前设为“disabled”)
** **,如图5-3所示:
[图片上传中。。。(1)]**
**
图
5-3 设置SELinux**
**
图
5-3 设置SELinux
FTP服务是互联网上的常见服务之一,本章主要介绍了FTP服务器的工作原理、工作模式和基本应用,并且重点讲解了在Centos7 下VsFTP服务器的架构及详细配置设置。
5.1 FTP基础
一般来说,用户联网的首要目的就是实现信息共享,文件传输是信息共享非常重要的一个内容之一。Internet上早期实现传输文件,并不是一件容易的事。我们知道 Internet是一个非常复杂的计算机环境,有PC机,工作站,大型机等。这些计算机可能运行在不同的操作系统下,有运行UNIX的服务器,也有运行DOS、WINDOWS的PC机和运行MacOS的苹果机等等。而各种操作系统之间的文件交流问题,需要建立一个统一的文件传输协议,这就是所谓的FTP。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议,这样用户就可以把自己的文件传送给别人,或者从其它的用户环境中获得文件。
5.1.1 FTP简介
FTP即文件传输协议,全称是File Transfer Protocol,顾名思义,它是专门用来传输文件的协议。它支持的FTP功能是网络中最重要,用途最广泛的服务之一。用户可以连接到服务器上下载文件,也可以将自己的文件上传到FTP服务器中。以下载文件为例,当启动FTP服务从远程计算机拷贝文件时,事实上启动了两个程序:一个本地机上的FTP客户程序,它向FTP服务器提出拷贝文件的请求;另一个是启动在远程计算机上的FTP服务器程序,它响应用户的请求把指定的文件传送到客户机上。
FTP可将文件从网络上的一台计算机传送到另一台计算机。其突出的优点是可在不同类型的计算机之间传送文件和交换文件,比如在WINDOWS和UNIX、LINUX系统上均可传送。它实现了服务器和客户机之间的文件传输和资源再分配,是普遍采用的资源共享方式之一。FTP服务管理简单,且具备双向传输功能。
FTP是TCP/IP的一种具体应用,它工作在OSI模型的第七层,TCP模型的第四层,即应用层。它使用TCP协议传输而不是UDP协议,这样,FTP客户端在和服务器建立连接之前就有一个“三次握手”的过程。它的意义在于客户端与服务器之间的连接是可靠的,而且是面向连接的,为数据的传输提供了可靠的保证。另外,FTP服务还有一个非常重要的特点是:它可以独立于平台。也就是说,在UNIX, LINUX, WINDOWS等操作系统中都可以实现FTP的客户端和服务器,相互之间可以跨平台进行文件传送。
5.1.2 FTP工作原理
FTP的工作方式采用客户/服务器模式。客户端和服务器使用TCP进行连接。为建立连接,客户端和服务器都必须各自打开一个TCP端口。FTP服务器预置两个端口:控制端口(端口21)和数据端口(端口20)。控制端口为客户端和服务器之间交换命令和应答提供通信的通道;而数据端口只用来交换数据。其中端口21用来发送和接受FTP的控制消息,一旦建立FTP会话,端口21的连接在整个会话期间就始终保持打开状态;端口20用来发送和接受FTP数据,只有在传输数据时才打开,一旦传输结束就断开。
FTP使用TCP作为传输时的通信协议,因此它可以提供较可靠的面向连接的传输。FTP服务器和客户端计算机数据交换的过程如下:
1.FTP客户端使用Three-Way Handshake与FTP服务器建立TCP交谈。
2.FTP服务器利用TCP 21 连接端口以发送和接收控制信息,这个连接端口主要是用来倾听FTP客户端的连接请求,在交谈建立后,这个连接端口会在交谈时全程启动。
3.FTP服务器端另外使用TCP 20 连接端口以发送和接收FTP文件(ASCII或二进制文件),这个连接端口会在文件传输完立即关闭。
4.FTP客户端在向FTP服务器提出连接请求时会动态指定一个连接端口号码,通常这些客户端指定的连接端口号码是1024—65535,因为0—1023端口(称Well-known Port Number)已由IANA(Internet Assigned Number Authority)预先指定给通信协议或其他的服务使用。
5.当FTP交谈建立后,客户端会启动一个连接端口以连接到服务器上的TCP 21连接端口。
6.当文件开始传输时,客户端会启动另一个连接端口以连接到服务器的TCP 20连接端口,而且每一次文件传输时,客户端都会启动另一个新的连接端口以发送文件。
5.1.3 FTP的两种操作模式:主动模式和被动模式
根据FTP数据连接建立方法,可将FTP客户端对服务器的访问分为两种模式:主动模式又称标准模式(Active Mode)和被动模式(Passive Mode)。
一般情况下使用主动模式,由FTP客户端发起到FTP服务器的控制连接,FTP服务器接收到数据请求命令后,再由FTP服务器发起客户端的连接。具体的讲,客户机首先向服务器的端口21(命令通道)发送一个TCP连接请求,然后执行login、dir等各种命令。一旦用户请求服务器发送数据,FTP服务器就用其20端口(数据通道)向客户的数据端口发起连接。主动模式实际上是一种客户端管理,FTP客户端可以在控制连接上给FTP服务器发送port命令,要求服务器使用port命令指定的TCP端口来建立从服务器上TCP端口21到客户端的数据连接。
如果使用被动模式,将由FTP客户端发起控制和数据连接。被动模式一般用Web浏览器连接FTP服务器。另外,从网络安全的角度看,被动模式比主动模式安全。被动模式实际上是一种服务器管理,FTP客户端发出Pasv命令后,FTP服务器通过一个用作数据传输(连接)的服务器动态端口进行响应,当客户端发出数据连接命令后,FTP服务器便立即使用动态端口连接客户端。
FTP服务器端或FTP客户端都可设置这两种模式。基于IIS的FTP服务同时支持主动模式和被动模式两种连接,但是究竟采用何种模式,取决于客户端指定的方法。
5.1.4 FTP体系结构
FTP是一种C/S(客户端/服务器)的通信协议,因此在两台主机间传递文件时,其中一台必须运行FTP客户端程序,如IE6.0或FTP指令。而文件传递时有两种形式:
下载(Downloading/Getting): 文件由服务器发送到客户端。
上传(Uploading/Putting):文件由客户端发送到服务器。
5.1.5 FTP服务的相关软件及登录形式
- FTP服务的相关软件
在LINUX 下实现FTP服务的软件很多,其中比较有名的有WU-FTPD、ProFTPD、vsftpd和.Pure-FTPD等等。vsftpd是UNIX类操作系统上运行服务器的名字。它具有非常高的安全性需求、带宽限制、良好的可伸缩性、创建虚拟用户的可能性、IPV6支持、中等偏上的性能、分配虚拟IP的可能性等其他FTP服务器不具备的功能。所以有“秀外慧中”的美称。
通常,FTP访问服务器时需要经过验证,只有经过了FTP服务器的相关验证,用户才能进行访问和传输文件等操作。 - vsftpd提供了以下3种登录形式
(1)anonymous(匿名账号)
anonymous(匿名账号)是应用的最广泛的一种FTP服务器登录。如果用户在FTP服务器上没有账号,那么用户可以以anonymous为用户名,以自己的电子邮件地址为密码进行登录。当匿名用户登录FTP服务器后,其登录目录为匿名FTP服务器的根目录/var/ftp
。为了减轻FTP服务器的负载,一般情况下,应关闭匿名账户的上传功能。
(2)real(真实账户)
real(真实账户)也称为本地账号,就是以真实的用户名和密码进行登录,但前提条件是用户在FTP服务器上拥有自己的账号。用真实账号登录后,其登录的目录为用户自己的目录,该目录在系统建立账号时就已经创建,例如,在Red Hat Linux 9系统中建立一个名称为xxk的用户,那么它的默认目录就是/home/xxk
。真实用户可以访问整个目录结构,从而对系统安全构成极大的威胁,所以,应尽量避免用户使用真实账号来访问FTP服务器。
(3)guest(虚拟账号)
如果用户在FTP服务器上拥有一个账号,但此账号只能用于文件传输服务,那么该账号就是guest(虚拟账号)。guest是真实账号的一种形式,他们的不同之处在于,guest登录FTP服务器后,不能访问除宿主目录以外的内容。
3.登录和访问FTP服务器的方式
FTP服务器启动并创建好FTP账户后,登录和访问FTP服务器有2种方式:
(1)在Linux的文本模式,利用“ftp 服务器IP地址”命令,以文本方式通过ftp命令来连接和访问FTP服务器。
(2)在浏览器中,利用ftp协议来访问FTP服务器,访问格式为:“ftp://用户名:用户密码@网站域名”或“ftp://用户名@网站域名”。
5.1.6 常用的匿名FTP
匿名FTP是这样一种机制,用户可通过它连接到远程主机上,并从其下载文件,而无需成为其注册用户。
当远程主机提供匿名FTP服务时,会指定某些目录向公众开放,允许匿名存取。系统中的其余目录则处于隐匿状态。作为一种安全措施,大多数匿名FTP主机都允许用户从其下载文件,而不允许用户向其上传文件。也就是说,用户可将匿名FTP主机上的所有文件拷贝到自己的机器上,但不能将自己机器上的任何一个文件拷贝至匿名FTP主机上。即使有些匿名FTP主机确实允许用户上传文件,用户也只能将文件上传至某一指定上传目录中。随后,系统管理员会去检查这些文件,他会将这些文件移至另一个公共下载目录中,供其他用户下载。利用这种方式,远程主机的用户得到了保护,避免了有人上传有问题的文件,如带病毒的文件。
5.2 vsftpd默认配置
FTP服务器利用文件传输协议实现文件的上传与下载服务。VsFTP (very security FTP)意为非常安全的FTP服务器,vsftpd是FTP服务器的一个守护进程,用于具体实现FTP服务器的功能。
5.2.1 安装vsftpd软件包 - 安装vsftpd软件包
在Server终端窗口输入:#yum -y install vsftpd
命令安装vsftpd软件包,如图5-1所示:
2.vsftpd服务的启动脚本
在Server端输入#systemctl start vsftpd
命令启动vsftpd服务,输入# systemctl enable vsftpd
命令实现开机自启动,如图5-2所示:
图5-2 重启vsftpd服务
3.设置SELinux
在Server端设置:输入
# sed -ri '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config
命令是在/etc/selinux/config
的目录下将SELinux永久设置为disabled
(输入# setenforce 0
命令是将SELinux当前设为disabled
) ,如图5-3所示: