VSFTP

cftak發表於2024-10-29

StorageSrv

配置1

服務

​ 禁止使用不安全的FTP,請使用“CSK Global Root CA”證書頒發機構,頒發的證書,啟用FTPS服務;
​ 使用者webadmin,登入ftp伺服器,根目錄為/webdata/;
​ 登入後限制在自己的根目錄;
​ 允許WEB管理員上傳和下載檔案,但是禁止上傳字尾名為.doc .docx .xlsx的檔案。

配置服務

安裝服務

yum install -y vsftpd

建立本地使用者

useradd webadmin
passwd webadmin

編輯vsftpd配置檔案

cd /etc/vsftpd
cp vsftpd.conf vsftpd.conf.bak

vim vsftpd.conf
#最下面新增

local_root=/webdata	#使用者登陸後的根目錄
allow_writeable_chroot=yes	#在chroot目錄中寫入檔案

#下面是ssl配置
#force_local_data_ssl=YES
#force_local_logins_ssl=YES
#ssl_enable=YES
#rsa_cert_file=/ca/ftp.crt
#rsa_private_key_file=/ca/ftp.key

重啟服務

systemctl restart vsftpd

客戶端交第一張截圖
image-20241024192955006

繼續改VSFTP服務的配置檔案

vim /etc/vsftpd/vsftpd.conf

local_root=/	#改這裡就可以了

重啟服務,交第二張截圖
image-20241024193113356

注意

​ 配置檔案中 "local_root=/“ 這個意思是使用使用者登陸後的工作目錄是這個目錄,題目是要求在/webdata下,但是評分標準第二張截圖是在/下的。
​ 第一張截圖是在/webdata下使用命令ls
​ 另外題目要求配置ssl,但是可以不配置,因為沒有影響到評分標準的截圖

配置2

服務

VSFTPD
禁止使用不安全的 FTP,請使用“CSK Global Root CA”證書頒發機構,頒發的證書,啟用 FTPS 服務;
建立虛擬使用者 webuser,登入 ftp 伺服器,根目錄為/webdata,上傳的檔案對映為 webadmin;
登入後限制在自己的根目錄;
允許 WEB 管理員上傳和下載檔案,但是禁止上傳字尾名為.doc .docx .xlsx 的檔案;
限制使用者的下載最大速度為 100kb/s;最大同一 IP 線上人數為 2 人;
透過工具或者瀏覽器下載的最大速度不超過 100kb/s;
一個 IP 地址同時登陸的使用者程序/人數不超過 2 人;
採用隨機埠使用者客戶端跟伺服器的資料傳輸,並限制傳輸埠為40000-41000 之間。

安裝服務

建立虛擬使用者和對映使用者

建立對映使用者

useradd webadmin
passwd webadmin

建立虛擬使用者資料庫,來儲存虛擬使用者的使用者名稱和密碼

vim /root/user

webuser
1234

使用db_load命令將這個文字檔案轉換為Berkeley DB資料庫格式

db_load -T -t hash -f user user.db

編輯配置檔案

主配置檔案

vim /etc/vsftpd/vsftpd.conf

guest_enable=yes	#啟用虛擬使用者功能
guest_username=webadmin	#虛擬使用者的宿主使用者,即對映使用者
user_config_dir=/etc/vsftpd	#虛擬使用者個人配置檔案的存放目錄,查詢以使用者名稱命名的配置檔案

#
force_local_data_ssl=YES	#強制對本地資料連線使用SSL/TLS加密
force_local_logins_ssl=YES	#強制對所有本地登陸嘗試使用SLL/TLS加密
ssl_enable=YES
rsa_cert_file=/root/ftp.crt
rsa_private_key_file=/root/ftp.key

local_root=/webdata
allow_writeable_chroot=YES

deny_file={*.doc,*.docx,*.xlsx}
#透過工具或者瀏覽器下載的最大速度不超過 100kb/s
local_max_rate=100000
#一個 IP 地址同時登陸的使用者程序/人數不超過 2 人
max_per_ip=2
#採用隨機埠使用者客戶端跟伺服器的資料傳輸,並限制傳輸埠為40000-41000 之間。
pasv_min_port=40000
pasv_max_port=41000

認證檔案

vim /etc/pam.d/vsftpd
#新增下面兩行,其他全部註釋

auth required pam_userdb.so db=/root/user
account required pam_userdb.so db=/root/user

編輯使用者配置檔案

vim /etc/vsftpd/webuser

local_root=/webdata	#使用者登陸後的目錄
write_enable=YES	#允許寫入
anon_uploal_enable=yes	#上傳檔案,和上面那條命令一起使用,才有效
#anon_mkdir_write_enable=yes	#建立新目錄(可選)
#anon_other_write_enable=yes	#其他寫入操作,如刪除,重新命名(可選)

重啟服務

systemctl restart vsftpd