vsftp
(4) 查看 vsftp 配置文件中限速限制的配置(在 storagesrv 上执行指令: cat /etc/vsftpd/vsftpd.conf | grep rate)(1) 测试 ftps(insidecli 使用 lftp -u webuser,密码 ftp.chinaskills.cn登录, 然后使用 ls 截图)(3) 测试 ftp 文件上传权限(分别上传 test.doc,test.
题目:
禁止使用不安全的FTP,请使用“CSK Global Root CA”证书颁发机构,颁发的证书,启用FTPS服务;
用户webuser,登录ftp服务器,根目录为/webdata/;上传的文件映射为webadmin;
登录后限制在自己的根目录;
允许WEB管理员上传和下载文件,但是禁止上传后缀名为.doc .docx .xlsx的文件。
限制用户的下载最大速度为100kb/s;最大同一IP在线人数为2人;
用于通过工具或者浏览器下载的最大速度不超过 100kb/s
一个IP地址同时登陆的用户进程/人数不超过2人。
实验:
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]#yum install vsftpd -y
创建虚拟用户和根目录:
[root@storagesrv ~]# mkdir /webdata
创建一个用户作为虚拟用户的宿主用户,所有的虚拟用户都要映射到一个真实的系统用户:
[root@storagesrv ~]# useradd webadmin
[root@storagesrv ~]# chown -R webadmin /webdata
建立虚拟用户名单密码文件(奇数行为用户,偶数行为密码)
[root@storagesrv ~]# cat /etc/vsftpd/vuser
webuser
123456
[root@storagesrv ~]#
加密虚拟用户名单文件:
[root@storagesrv ~]# db_load -T -t hash -f /etc/vsftpd/vuser /etc/vsftpd/vuser.db
证书部分
使用httpd.crt http.key即可
[root@storagesrv ~]# mkdir /csk-rootca
[root@appsrv ~]#scp /csk-rootca/httpd.key root@192.168.100.200:/csk-rootca
[root@appsrv ~]#scp /csk-rootca/httpd.key root@192.168.100.200:/csk-rootca
编辑ftp的配置文件
[root@storagesrv ~]# vim /etc/vsftpd/vsftpd.conf
guest_enable=YES
guest_username=webadmin
user_config_dir=/etc/vsftpd
(使用证书的配置)
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_enable=YES
rsa_cert_file=/csk-rootca/httpd.crt
rsa_private_key_file=/csk-rootca/httpd.key
local_root=/webdata
allow_writeable_chroot=YES
deny_file={*.doc,*.docx,*.xlsx}
local_max_rate=100000
max_per_ip=2
pasv_min_port=40000
pasv_max_port=41000
配置PAM文件
编辑认证文件,除了以下两行,其他全部注释掉
[root@storagesrv /]# vim /etc/pam.d/vsftpd
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
编辑用户配置文件
[root@storagesrv /]# vim /etc/vsftpd/webuser
local_root=/webdata
download_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
赋予权限重启服务并测试:
[root@storagesrv /]# chmod 777 /webdata
[root@storagesrv /]# systemctl restart vsftpd
inside上验证
注意:appsrv上写 192.168.100.200 > ftp.chinaskills.cn的dns解析记录
[root@insidecli ~]#yum install lftp -y
编辑lftp配置文件加入一行(关闭ssl安全证书验证,可以解决自签证书的信任)
[root@insidecli ~]# vim /etc/lftp.conf
set ssl:verify-certificate no
(1) 测试 ftps(insidecli 使用 lftp -u webuser,密码 ftp.chinaskills.cn登录, 然后使用 ls 截图)
评分要点:FTP 登陆后能够查看 文件内容, 不报 SSL 错误即可

(2) quote pwd 查看 chroot
评分要点:显示为 “/”
[root@insidecli ~]#lftp -u webuser,123456 ftp.chinaskills.cn
lftp webadmin@localhost:~> quote pwd
257 "/"

(3) 测试 ftp 文件上传权限(分别上传 test.doc,test.docx,test.xlsx,test.txt 文件,然后 ls)
上传 test. doc、 test. docx、 test. xlsx 后缀文件会提示错误 550 代码
上传 test. txt 成功, 并且 ls 能够显示
lftp webadmin@localhost:/> put test.doc
put: Access failed: 550 Permission denied. (test.doc)
lftp webadmin@localhost:/> put test.docx
put: Access failed: 550 Permission denied. (test.docx)
lftp webadmin@localhost:/> put test.xlsx
put: Access failed: 550 Permission denied. (test.xlsx)
lftp webadmin@localhost:/> put test.txt
lftp webadmin@localhost:/> ls
-rw-r--r-- 1 1000 1000 0 Jul 21 11:24 test.txt

(4) 查看 vsftp 配置文件中限速限制的配置(在 storagesrv 上执行指令: cat /etc/vsftpd/vsftpd.conf | grep rate)
显示出 local_max_rate=100000 即可, 如果显示的是其它关键字则不得分。

(5) 测试 ftp 中同一个 IP 地址登录(insidecli 上通过 lftp -u webuser, 密码 ftp.chinaskills.cn 打开三个终端, 第三个终端执行 ls 命令后截图)
评分要点:
打开第三个终端输入 ls 后显示 delying before reconnect, 显示其它不得分;

(6) 查看端口 范围(截取配置文件中相关配置)
评分要点:
和截图中配置信息一致即可得分

(7) 测试匿名用户 (storagesrv 执行 ls -l /webdata/test.txt)
评分要点:
之前上传的 test. txt 的文件所属者为 webadmin 即可得分

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)