溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

健壯又簡(jiǎn)單文件共享服務(wù)

發(fā)布時(shí)間:2020-07-12 05:26:43 來(lái)源:網(wǎng)絡(luò) 閱讀:321 作者:qq5808174b4df6f 欄目:系統(tǒng)運(yùn)維

官方語(yǔ)言介紹下ftp,文件傳輸協(xié)議(File Transfer Protocol,F(xiàn)TP)是用于在網(wǎng)絡(luò)上進(jìn)行文件傳輸?shù)囊惶讟?biāo)準(zhǔn)協(xié)議,F(xiàn)TP 的目標(biāo)是提高文件的共享性。今天從ftp的兩種模式,ftp用戶管理主要的兩方面實(shí)踐使用下。

1.ftp 兩種模式
簡(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% 被動(dòng)模式最低端口
PASV_max_port=%number% 被動(dòng)模式最高端口

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

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

具體實(shí)施:
2.1 搭建
yum -y install vsftpd
添加虛擬用戶文件,添加虛擬用戶名和密碼,一行用戶名,一行密碼,以此類推。奇數(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

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI