FTP服務配置
實驗所需兩台Linux虛擬機,分別用來做服務器和客戶端。
服務器端IP為:192.168.29.129
客戶機端IP為:192.168.29.130
客戶機服務器的IP地址設置為靜態。
一、FTP服務的搭建與基本操作
1、配置本地yum源;
服務器:
1、重啟ftp服務---vsftpd
Service vsftpd restart
2、過濾端口,查看ftp服務是否安裝:
Netstat -anpt | grep 21
3、使用Yum安裝ftp服務,此服務不存在依賴性,也可用rpm下載;
Yum install -y ftp
4、安裝成功后,進入ftp命令行:ftp 192.168.29.129
使用ftp登錄並查看目錄
使用匿名用戶登錄:
兩者都能登錄,但無法查看根目錄列表。
5、在服務器端創建一個test1用戶,密碼為123
關閉客戶端和服務器端的防火牆策略和selinux
客戶機:
在客戶機的瀏覽器下進行訪問,格式如下:
ftp://用戶名:密碼//ftp服務器所在主機的IP
由此可見,ftp服務在默認情況下是允許使用服務器所在主機上的用戶名和密碼來進行遠程登陸的,這是非常危險的。只要攻擊者獲得服務器所在主機上的任一賬戶,就能遠程訪問FTP服務器主機的根目錄。
因此我,我們應該避免使用本地賬戶來登錄ftp服務器;這里采取的辦法是創建虛擬的ftp用戶,來防止攻擊者竊取本地賬戶:
二、創建虛擬用戶
服務器:
1、進入到剛才創建的test1的宿主目錄中:
2、在test1下創建一個ftphome目錄,並在此目錄中加入一個宿主目錄
vftp是一個映射用戶,它下面存在着一系列虛擬用戶。
3、跳轉到vsftpd目錄下,建立虛擬登陸賬戶
4、將新建的txt文件轉化為一個數據庫文件並存入配置文件中。
對驗證登陸配置文件進行備份操作,防止日后使用
5、更改ftp配置文件vsftpd
進入vim /etc/vsftpd/vsftpd.conf,將下面兩行的注釋去掉:
並且在后面添加幾行:
6、跳轉到vsftp目錄下,建立虛擬用戶文件vuser_conf:
跳轉到vuser_conf目錄下,重新啟動ftp服務:
操作完成后,回到客戶機:
1、用虛擬賬戶bob的賬戶登錄ftp服務器,登陸后發現不能打開服務器所在主機的根目錄了,安全性有所提高:
2、在建立好虛擬賬號后,我們再使用一下服務器所在主機的本地賬戶再次登陸一下看一下效果:
操作后發現,使用服務器所在主機的本地賬戶已經無法登錄到ftp服務器了。
但是,又面臨着新的問題,假如攻擊者竊取了虛擬賬戶呢。
所以我們接下來要對虛擬賬戶的權限進行設置。
三、虛擬賬號權限設置
服務器中,對vuser_conf目錄進行操作:
1、我們對bob用戶賦予只讀權限:
2、我們對alice用戶賦予讀,上傳,和新建文件的權限:
3、我們對rose賬戶賦予讀,上傳和刪除的權限:
4、我們對jack賬戶不賦予任何權限,配置文件為空:
在把權限分配好后,我們在客戶端進行驗證操作:
我們先在服務器創建一個文本文件:
1、驗證bob的權限:
bob的確具有只讀的權限;bob打開文件的內容如下:
2、驗證alice的權限:
下載下來的文件如下:
3、驗證rose的權限
服務器的aaa文件被刪除。
5、我們對jack的權限進行驗證:
jack的權限為空,因此他不能對上傳和刪除文件,但具有讀的權限。
這樣就成功創建了登錄ftp服務器的虛擬帳戶,給每個人分配各自對應的權限,既保證了安全性,也防止了越權操作。