Linux系统下FTP的安全优化

一、FTP 的安装及启用

  1. 什么是FTP 服务器?
    FTP 是 File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于 Internet 上的控制文件的双向传输。同时,它也是一个应用程序(Application)。 基于不同的操作系统有不同的 FTP 应用程序,而所有这些应用程序都遵守同一种协议以传输文件。
    在 FTP 的使用当中,用户经常遇到两个概念:“下载”(Download)和"上传“(Upload)。

  2. 什么是Vsftpd?
    vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、HP-UNIX 等系统上面,是一个完全免费的、开放源代码的 ftp 服务器软件,支持很多其他的FTP 服务器所不支持的特征。

  3. 实验步骤:

步骤零:将服务端 IP 设置为172.25.254.150,客户端 IP 设置为172.25.254.250

在服务端
步骤一:配置好 yum 源,下载 vsftpd
在这里插入图片描述
步骤二:打开 vsftpd,并设置成开机自动启动
在这里插入图片描述
步骤三:关闭火墙
在这里插入图片描述
步骤四:设置SELINUX
在这里插入图片描述
在客户端

步骤五:下载 ftp,关闭火墙,设置 SELINUX
在这里插入图片描述
步骤六: 访问验证是否搭建成功
在这里插入图片描述
步骤七:为了在实验时便于观察,将服务端主机命名为 server,客户端主机命名为 client

二、FTP 基本安全部署示例

FTP服务的基本信息

软件安装包vsftpd
默认发布目录var/ftp
默认发布目录的子目录/var/ftp/pub/
协议接口21/tcp
服务配置文件/etc/vsftpd/vsftpd.conf

报错id的解析

500文件系统权限过大
530用户认证失败
550服务本身功能未开放
553本地文件系统权限过小

匿名用户设定

在服务端

安装完后,有/etc/vsftpd/vsftpd.conf 文件,是 vsftp 的配置文件

首先 anonymous_enable=YES|NO ##匿名用户登陆限制改为 YES
在这里插入图片描述
1.匿名用户上传

步骤一:修改配置文件
write_enable=YES
anon_upload_enable=YES
在这里插入图片描述
在这里插入图片描述
步骤二:重启服务
在这里插入图片描述
步骤三:因为匿名用户是以ftp用户的身份访问ftp服务器的,所以将 /var/ftp/pub 目录的所有组改成ftp
在这里插入图片描述
步骤四:赋予/var/ftp/pub 775较大的权限,这样匿名用户才可以上传
在这里插入图片描述
在客户端测试
步骤五:在客户端上传文件成功!
在这里插入图片描述
2.匿名用户家目录修改
匿名用户默认的家目录在/var/ftp/下,现在想要更改它的默认家目录,在配置文件里修改

步骤一:新建目录 /ahtl,并建立文件作为实验效果测试
在这里插入图片描述
步骤二:修改配置文件
anon_root=/ahtl
在这里插入图片描述
步骤三:重启服务
在这里插入图片描述
在客户端测试
步骤四:发现用户的默认家目录在/ahtl,成功!
在这里插入图片描述
3.匿名用户上传文件默认权限修改

步骤一:匿名用户默认上传文件 600,在配置文件里修改,重启服务
在这里插入图片描述
在客户端测试
步骤二:上传文件,发现文件权限为644,成功!
在这里插入图片描述
4.匿名用户建立目录

步骤一:在配置文件里修改,重启服务
在这里插入图片描述
在客户端测试
步骤二:新建目录,成功!
在这里插入图片描述
5.匿名用户下载

步骤一:在配置文件里修改,重启服务
anon_world_readable_only=YES|NO ##设定参数值为no表示匿名用户可以下载
在这里插入图片描述
在客户端测试
步骤二:下载文件,成功!
由于是在/Desktop 目录下进行的 lftp 连接,所以,下载的文件在/Desktop 目录
在这里插入图片描述
下载目录,用mirror命令
在这里插入图片描述
6.匿名用户删除

步骤一:在配置文件里修改,重启服务
在这里插入图片描述
在客户端测试
步骤二:删除文件,成功!
在这里插入图片描述
7.匿名用户使用的用户身份修改

步骤一:在配置文件里修改,重启服务
在这里插入图片描述
步骤二:查看 student 用户 id
在这里插入图片描述
在客户端测试
步骤三:用户身份修改为 student,成功!
在这里插入图片描述
8.最大上传速率设置

在客户端
步骤一:划一个1.5G的文件,在没有限制速度的情况下,上传速度较快
在这里插入图片描述
在服务端
步骤二:编辑配置文件,重启服务
在这里插入图片描述
在客户端测试
步骤三:上传速度减慢,成功!
在这里插入图片描述
8.最大链接数设置

步骤一:在配置文件里修改,重启服务
在这里插入图片描述
在客户端测试
步骤二:测试发现,仅能有两个用户进行链接,第三个用户链接时失败
在这里插入图片描述

本地用户设定

首先,在配置文件中修改
local_enable=YES|NO ##本地用户登陆限制
write_enable=YES|NO ##本地用户写权限限制
在这里插入图片描述
1.本地用户家目录修改

步骤一:为了方便观察,在想要修改的家目录中新建三个文件
在这里插入图片描述
步骤二:修改配置文件,并重启服务
在这里插入图片描述
在客户端测试
步骤三:使用本地用户连接,发现家目录为 /test
在这里插入图片描述
2.本地用户上传文件权限

步骤一:修改配置文件,并重启服务
在这里插入图片描述
在客户端测试
步骤二:使用本地用户连接,上传文件后发现权限为 600
在这里插入图片描述
3.限制本地用户浏览/目录
所有用户被锁定到自己的家目录中

步骤一:修改配置文件,并重启服务
在这里插入图片描述
步骤二:chmod u-w /home/student
在这里插入图片描述
在客户端测试
步骤三:用户被锁定在家目录中不能cd切换到其他目录下
在这里插入图片描述
4.用户黑名单建立

步骤一:修改配置文件,并重启服务
在这里插入图片描述
步骤二:编辑黑名单文件chroot_list
设置 student 用户在黑名单中
在这里插入图片描述
在客户端测试
步骤三:发现 student 用户不能登陆连接
在这里插入图片描述
5.用户白名单建立

步骤一:修改配置文件,并重启服务
在这里插入图片描述
步骤二:编辑黑名单文件chroot_list
此时只有写入的本地用户可以登陆连接
在这里插入图片描述
在客户端测试
步骤三:发现 student 用户能登陆连接,ahtl 用户不能登陆连接
在这里插入图片描述
在这里插入图片描述
6.永久设置本地用户黑名单

步骤一:修改配置文件,并重启服务
在这里插入图片描述
步骤二:编辑配置文件 /etc/vsftpd/ftpusers
将 student 加入
在这里插入图片描述
在客户端测试
步骤三:发现 student 用户不能登陆连接,ahtl 用户能登陆连接
在这里插入图片描述
在这里插入图片描述
7.永久设置本地用户白名单设定

步骤一:修改配置文件,并重启服务
在这里插入图片描述
步骤二:编辑配置文件 /etc/vsftpd/user_list
在这里插入图片描述

在客户端测试
步骤三:发现 student 用户能登陆连接,ahtl 用户不能登陆连接
在这里插入图片描述
在这里插入图片描述

三、FTP 虚拟用户的设定

1.创建虚拟帐号

步骤一:创建虚拟帐号身份的文件(注意: 不要出现空行或者多余的空格)
vim /etc/vsftpd/loginusers ##文件名称任意
在这里插入图片描述
步骤二:对用户帐号和密码进行加密
在这里插入图片描述
db_load 加密命令
-T 转换
-t 建立
-f 指定文件
/etc/vsftpd/ahtl 被加密文件
/etc/vsftpd/ahtl.db加密的文件

步骤三:chmod 600 /etc/vsftpd/ahtl*
在这里插入图片描述
步骤四:编辑帐号和密码处理的库文件
vim /etc/pam.d/ckvsftpd ##文件名称任意
在这里插入图片描述
account auth 帐号和密码
required 请求访问允许或拒绝
pam_userdb.so 验证程序
db=/etc/vsftpd/ahtl(.db) 在该文件里面验证

步骤五:配置vsftpd配置文件,并重启服务
在这里插入图片描述
在客户端测试
步骤六:分别用user1,user2,user3 可以登陆ftp服务器,成功!
在这里插入图片描述
2.虚拟帐号身份指定

步骤一:在 vsftpd配置文件中添加,并重启服务
在这里插入图片描述
步骤二:为了方便看到实验效果,在 /var/ftp 目录下建立文件
在这里插入图片描述
在客户端测试
步骤三:登陆ftp服务器发现用户身份为 ftp,成功!
在这里插入图片描述
3.虚拟帐号家目录独立设定

步骤一:为虚拟用户分别建立家目录,且在每个目录下建立一个/pub 目录
在这里插入图片描述
步骤二:分别在不同用户的家目录下建立文件
在这里插入图片描述
步骤三:修改 vsftpd 配置文件,并重启服务
在这里插入图片描述
在客户端测试
步骤四:分别用user1,user2,user3 可以登陆ftp服务器,发现在不同的家目录中,成功!
在这里插入图片描述
4.虚拟帐号独立配置

步骤一:修改不同用户的权限及所属用户
在这里插入图片描述
步骤二:修改 vsftpd 配置文件,并重启服务
在这里插入图片描述
步骤三:建立指定的目录
在这里插入图片描述
步骤四:若需要 user1 用户可以上传且限速,则在/etc/vsftpd/user_config 目录下建立与user1 同名的文件,并添加内容

此文件设定的参数,此文件的优先级最高
在这里插入图片描述
在客户端测试
步骤五:使用 user1 登陆连接,发现上传被限速

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值