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的工作方式采用客戶/服務器模式??蛻舳撕头掌魇褂肨CP進行連接。為建立連接,客戶端和服務器都必須各自打開一個TCP端口。FTP服務器預置兩個端口:控制端口(端口21)和數據端口(端口20)??刂贫丝跒榭蛻舳撕头掌髦g交換命令和應答提供通信的通道;而數據端口只用來交換數據。其中端口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客戶端都可設置這兩種模式?;贗IS的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所示:
圖5-1 系統安裝vsftpd軟件包.png
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所示: