Linux系统的FTP的安全优化

实验环境

连接真机yum源

FTP部署

ftp知识点
ftp(文件传输协议)是internet上常用的最老的网络协议之一,ftp(file transfer protocol)是TCP/IP协议组中的协议之一,它为系统提供了通过网络与远程服务器进行传输的简单方法,在red hat entreprise liunx 中,ftp服务器包在vsftpd,它在very secure file transferprotocol damon服务器名称也叫做vsftpd。默认配置文件让匿名用户只能下载位于chroot目录下的内容。/var/ftp/。这意味着远程ftp客户端能以匿名用户或ftp身份连接到服务器(无需密码),并从ftp服务器上的/var/ftp/目录下载文件(其本地ftp用户可以读取这些文件)。
ftp协议组成:
ftp服务器、ftp客户端。
ftp服务器用来存储文件,用户使用ftp客户端通过ftp协议访问位于ftp服务器上的资源,在开发网站时,通常利用ftp协议把网页或程序传到web服务器上。ftp传输效率非常高,在网络传输大的文件时,一般也采用该协议。
默认情况下。ftp协议使用tcp端口中的20或21端口,20端口传输数据,21端口传输控制信息。
ftp工作方式
standard(PORT)主动方式,客户端需要接收数据时在这个通道上发送port命令,发送到ftp服务器上。访问端口为21端口,数据传输端口为20端口。
passive(PASV)被动方式,此方式发送的是pasv命令。访问端口为21端口,随即开启大于1024的端口。
安装ftp包
vsftpd:ftp服务的软件
lftp:测试ftp,相当于浏览ftp

yum istall vsftpd.x86_64 lftp.x86_64  -y

启动ftp服务

systemctl start vsftpd
systemctl enable vsftpd

火墙开启ftp服务

firewall-config	##开启火墙图形界面

runtime:当前
permanent:永久

在这里插入图片描述
设置完成后:Options—>reload firewalld

firewall-cmd --list-all

在这里插入图片描述
在另外一台主机上测试结果:
在这里插入图片描述
ftp默认发布目录:/var/ftp,在访问时会访问到这个目录下。
ftp默认配置文件:/etc/vsftpd/vsftpd.conf(主配置文件),主配置目录:/etc/vsftpd
访问方式:被动方式
服务访问端口:21端口,数据传输时随机开启的端口(大于1024的端口),这种方式安全性高

FTP配置

ftp主配置文件

vim /etc/vsftpd/vsftpd.conf
systemctl restart vsftpd.service 
anonymous_enable=YES 匿名用户可以登陆
local_enable=YES 本地用户可以登陆
write_enable=YES 本地用户可写
anon_upload_enable=YES 允许匿名用户上传
anon_world_readable_only=YES 不允许匿名用户下载
anon_mkdir_write_enable=YES 匿名用户建立目录
anon_other_write_enable=YES 匿名用户删除目录
anon_umask=022 匿名用户上传文件默认权限修改为755
anon_root=/westos 匿名用户家目录修改
anon_max_rate=102400 限制匿名用户最大上传速率
max_clients=2 限制登陆用户为2个
local_umask=022 本地用户上传文件权限
local_root=/westos 让所有本地用户登录时都会进入/westos
chroot_local_user=YES 所有用户被锁定到自己家目录中
chroot_list_enable=YES 在列表的用户是可以锁定到自己的家目录里
chroot_list_file=/etc/vsftpd/chroot_list
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Tinyftpd是用C语言实现的简单、快速、高效的Linux FTP服务器,只需简单的配置,就可快速的将主机变成高效的FTP服务器。模块简介TinyFTP分为 字符串工具模块、参数配置模块、socket模块、内部进程间通讯模块、系统调用工具模块。字符串工具模块:字符串模块主要用来处理开发过程中,各种对字符串的处理。模块在string.h 与 string.c参数配置模块:参数配置模块提供参数配置的功能。具体在parseconf.h 和 parseconf.csocket模块:用于socket通讯建立与数据传输。可见 commonsock.h commonsock.c内部进程间通讯模块:用于子进程 与 父进程间的通讯 与数据传输。privsock.h 和 privsock.c系统调用工具模块:主要是一些用到的系统调用的函数封装。可见sckutil.h sckutil.c安装编译cd build/ chmod  x bulid.sh sudo ./build.sh运行cd /bin sudo ./tinyftpd配置配置文件在当前目录的tinyftpd.conf配置参数说明tunable_pasv_enable是否开启被动模式tunable_port_enable是否开启主动模式tunable_max_clients最大连接数tunable_max_per_ip每IP最大连接数tunable_listen_portFTP服务器端口tunable_accept_timeoutaccept超时间tunable_connect_timeoutconnect超时间tunable_idle_session_timeout控制时间连接超时tunable_data_connection_timeout数据连接时间超时tunable_local_umask掩码tunable_upload_max_rate最大上传速度(byte/s)tunable_download_max_rate最大下载速度(byte/s)tunable_listen_addressFTP服务器IP地址 标签:Tinyftpd
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值