Linux学习笔记十六(FTP的安全优化)
FTP的安装及启用
首先需要配置好yum仓库源,然后用yum安装两个包:
vstpd.x86_64:提供FTP服务
lftp.x86_64:为了浏览FTP的工具开启服务:
设置防火墙,首先打开防火墙的设置图形界面:
点Permanent,然后勾选FTP:
Options里选择Reload Firewalld:
查看生效:
查看软件在系统中的安装文件路径:
服务主配置目录:
服务主配置文件:
服务默认访问目录:
例子:
协议接口:
FTP基本安全部署
在做实验前,先设置setenforce 0,避免影响实验效果:
匿名用户登录
匿名用户值得是远程ftp登录时为指定任何用户登录
进入vsftpd的主配置文件:
将12行改为NO,则匿名用户无法登录:
根该配置文件后重启服务:
匿名用户无法登录:
本地用户登录
修改配置文件:
重启服务:
本地用户无法登录(530认证失败):
本地用户不可写
为设置时本地用户student可以上传文件:
修改配置文件:
保存退出,重启服务:
测试(上传/etc/passwd)上传失败:
匿名用户的读写
关于匿名用户的写
修改配置文件(29行取消注释)YES代表功能开启:
保存退出,重启服务:
匿名用户上传,553本地文件系统权限过小:
匿名用户在登录的时候使用的是ftp的身份:
ftp服务的家目录对于匿名用户不具有可写权限(出于安全性考虑):
但是对该目录下的pub目录可以设置可写权限:
设置:
测试可以上传:
关于匿名用户读和下载
匿名只可以下载具有读权限的文件,可从配置文件的说明书中查看:
于是载配置文件中只需将它设置为NO关闭即可,配置文件中不存在该项,手动粘贴编辑:
保存退出,重启服务:
下载成功:
关于匿名用户建立目录
修改配置文件:
退出保存,重启服务:
测试:
关于匿名用户的删除
配置文件中不存在该参数,可再说明书中查找:
粘贴到配置文件中:
保存退出,重启服务:
匿名用户的其他设定
修改匿名用户上传文件默认权限
匿名用户上传文件的默认权限为600:
修改配置文件,增加参数:
保存退出,重启服务:
新上传的文件的权限为755。
修改匿名用户登录的默认位置
匿名用户登录后默认在/var/ftp目录下,这个也可以通过增加配置文件参数来修改默认登录位置:
首先在根下建立file目录:
修改配置文件参数:
保存退出,重启服务:
测试(修改成功):
限制匿名用户上传文件速度
修改配置文件:
保存退出,重启服务:
限制匿名用户登录个数
增加配置文件参数:
保存退出,重启服务:
本地用户的设定
修改本地用户登录的默认位置
本地用户登录后,会到本地用户自身的家目录中,也可以修改配置文件,指定使其登录到指定文件。
修改配置文件:
保存退出,重启服务:
ftp虚拟用户的设定
首先创建虚拟帐号身份:
vim /etc/vsftpd/loginusers (一行名字,一行密码,不要出现空行和空格):
输入命令(对虚拟帐号身份和密码进行加密操作),查看属性:
给与文件权限600:
创建一个用户用来操作:
创建一个文件/etc/pam.d/ckvsftpd,编辑文件信息(编辑帐号和密码库处理文件):
进入/etc/vsftpd/vstpd.conf编辑修改两处:
修改完配置文件需要重起服务:
chmod a-w /home/ftpuser:
关闭Selinux(setenforce 0):
进入desktop测试:
虚拟用户家目录独立设定
建立/ftp目录
修改该目录的所有组,并且对该目录所有组设置s权限,使在该目录下建立的新文件的所有组的变为ftpuser:
在/ftp下创建ftpuser1,ftpuser2,ftpuser3(独立家目录):
在ftpuser1创建hello1
在ftpuser2创建hello2
在ftpuser3创建hello3
进入/etc/vsftpd/vstpd.conf编辑配置文件:
保存退出重启服务:
测试:分别键入ls,显示独立家目录中的文件:
虚拟帐号独立配置
目标:
ftpuser1用户上传和下载文件限速
ftpuser2用户上传和下载文件限速,并且可以上传文件
实验过程:
进入/etc/vsftpd/vstpd.conf编辑配置文件:
创建目录 /etc/vsftpd/conf.d:
进入该文件,创建ftpuser1,编辑文件:
创建ftpuser2,编辑文件:进入到上个实验中创建的/ftp/ftpuser1中,往hello1中写入100M的文件:
再进入/ftp/ftpuser2中,往hello2中写入100M的文件,再建立一个upload目录:
查看upload的属性,改变upload的所有用户为ftpuser:
重启服务:
测试:
用ftpuser1登陆,由于限速,所以下载速度很慢:测试ftpuser2: