簡(jiǎn)明直接:

主動(dòng)FTP:
命令連接:客戶端 >1024端口 —> 服務(wù)器 21端口
數(shù)據(jù)連接:客戶端 >1024端口 <— 服務(wù)器 20端口
被動(dòng)FTP:
命令連接:客戶端 >1024端口 —> 服務(wù)器 21端口
數(shù)據(jù)連接:客戶端 >1024端口 —> 服務(wù)器 >1024端口

具體說(shuō)明:

如圖對(duì)于兩種傳輸模式來(lái)說(shuō),控制連接的建立過(guò)程都是一樣,均為服務(wù)器監(jiān)聽(tīng)21號(hào)端口,客戶端向服務(wù)器的該端口發(fā)起TCP連接。主動(dòng)模式服務(wù)器通過(guò)控制連接知道客戶端監(jiān)聽(tīng)的端口后,使用自己的20號(hào)端口作為源端口,“主動(dòng)”發(fā)起TCP數(shù)據(jù)連接。而被動(dòng)模式服務(wù)器監(jiān)聽(tīng)1024-65535的一個(gè)隨機(jī)端口,并通過(guò)控制連接將該端口告訴客戶端,客戶端向服務(wù)器的該端口發(fā)起TCP數(shù)據(jù)連接。

兩種模式該選擇哪個(gè)了?選擇被動(dòng)模式。

如果FTP客戶端在私網(wǎng),F(xiàn)TP服務(wù)器在公網(wǎng)(云主機(jī)的應(yīng)用場(chǎng)景)應(yīng)該使用被動(dòng)模式,因?yàn)檫@種應(yīng)用場(chǎng)景FTP服務(wù)器訪問(wèn)不到在私網(wǎng)的FTP客戶端,而FTP客戶端可以訪問(wèn)到FTP服務(wù)器。

那ftp服務(wù)器放開(kāi)大于1024端口,不安全,如何做了?

服務(wù)端配置高點(diǎn)端口,然后防火墻中限制這個(gè)端口段可以被客戶端連接過(guò)來(lái)。
再者就是限制客戶端的ip,指定特定的客戶端地址。(誰(shuí)用誰(shuí)連)

被動(dòng)模式配置
connect_from_port_20=NO
PASV_enable=YES 開(kāi)啟被動(dòng)模式
PASV_min_port=%number% %u88AB動(dòng)模式最低端口
PASV_max_port=%number% %u88AB動(dòng)模式最高端口

2.ftp 創(chuàng)建虛擬用戶(加強(qiáng)訪問(wèn)安全的措施)
簡(jiǎn)明直接:

我們登錄FTP有三種方式,匿名登錄、本地用戶登錄和虛擬用戶登錄。
匿名登錄:在登錄FTP時(shí)使用默認(rèn)的用戶名,一般是ftp或anonymous。
本地用戶登錄:使用系統(tǒng)用戶登錄,在/etc/passwd中。
虛擬用戶登錄:這是FTP專(zhuān)有用戶,有兩種方式實(shí)現(xiàn)虛擬用戶,本地?cái)?shù)據(jù)文件和數(shù)據(jù)庫(kù)服務(wù)器。
FTP虛擬用戶是FTP服務(wù)器的專(zhuān)有用戶,使用虛擬用戶登錄FTP,只能訪問(wèn)FTP服務(wù)器提供的資源,大大增強(qiáng)了系統(tǒng)的安全。

具體實(shí)施:
2.1 搭建
yum -y install vsftpd
添加虛擬用戶文件,添加虛擬用戶名和密碼,一行用戶名,一行密碼,以此類(lèi)推。奇數(shù)行為用戶名,偶數(shù)行為密碼。
vim /etc/vsftpd/vuser.txt
name #用戶
passwd #密碼
生成虛擬用戶認(rèn)證文件
db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db
編輯vsftpd的pam認(rèn)證文件/etc/pam.d/vsftpd
vsftpd的其他行可注釋掉。
添加以下:
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
建立本地映射用戶并設(shè)置宿主目錄權(quán)限
useradd -d /data -s /sbin/nologin vsftpd
chmod a-w /data
chown -R vsftpd:vsftpd /data
2.2 配置文件vsftpd.conf

#連接相關(guān)
ftpd_banner=welcome to ftp service
#空閑超時(shí)時(shí)間,用戶超過(guò)這段時(shí)間不動(dòng)作被服務(wù)器提出。
idle_session_timeout=300
#數(shù)據(jù)連接超時(shí)時(shí)間
data_connection_timeout=60
connect_timeout=60
max_clients=100
#允許每個(gè)客戶端連接3個(gè)
max_per_ip=3
listen_address=192.168.100.100
listen_port=21

#權(quán)限相關(guān)
#不允許匿名用戶登錄
anonymous_enable=NO
#允許本地用戶登錄(這里指創(chuàng)建系統(tǒng)用戶vsftpd)
local_enable=YES
#允許ascii模式的上傳(可以防止上傳腳本等惡意文件),而不會(huì)遭受拒絕服務(wù)的危險(xiǎn)。
ascii_upload_enable=YES

guest_enable=YES
guest_username=vsftpd
#允許匿名用戶上傳(這里指系統(tǒng)用戶下的虛擬用戶)
anon_upload_enable=YES
#允許匿名用戶創(chuàng)建和寫(xiě)入
anon_mkdir_write_enable=YES

#開(kāi)啟全局權(quán)限
write_enable=YES
#設(shè)置這個(gè)之后客戶端上傳目錄權(quán)限就改為755,文件權(quán)限就為644
anon_umask=022
#以下為系統(tǒng)默認(rèn)設(shè)置
#允許為目錄配置顯示信息,顯示每個(gè)目錄下面的message_file文件的內(nèi)容。
dirmessage_enable=YES
#xferlog_enable=YES,啟用記錄上傳/下載活動(dòng)日志功能。
xferlog_enable=YES
#connect_from_port_20=YES啟用FTP數(shù)據(jù)端口的連接請(qǐng)求
connect_from_port_20=NO
xferlog_std_format=YES

#在VSFTPD中使用TCP_Wrappers遠(yuǎn)程訪問(wèn)控制機(jī)制,默認(rèn)值為YES
tcp_wrappers=YES

特別強(qiáng)調(diào)的配置:

#開(kāi)啟虛擬用戶;虛擬用戶對(duì)應(yīng)的系統(tǒng)用戶;PAM認(rèn)證文件。
guest_enable=YES
guest_username=vsftpd
pam_service_name=vsftpd

#這種完成后只能上傳文件,及下載文件。但是不能修改ftp 服務(wù)端的文件。
如何才能修改及刪除呢?
anon_other_write_enable=YES  #允許虛擬用戶寫(xiě)入權(quán)限(即修改刪除操作)

2.3 啟動(dòng)vsftpd
systemctl start vsftpd

更多關(guān)于云服務(wù)器域名注冊(cè),虛擬主機(jī)的問(wèn)題,請(qǐng)?jiān)L問(wèn)三五互聯(lián)官網(wǎng):www.shinetop.cn

贊(0)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享網(wǎng)絡(luò)內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。郵箱:3140448839@qq.com。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明出處:三五互聯(lián)知識(shí)庫(kù) » 健壯又簡(jiǎn)單文件共享服務(wù)

登錄

找回密碼

注冊(cè)