FTP协议的介绍及配置实验

FTP协议的介绍及配置实验FTP FileTransfer 文件传输协议 是一种用于在网络上进行

大家好,欢迎来到IT知识分享网。

FTP协议的介绍及配置实验

1、FTP协议的定义

FTP(File Transfer Protocol,文件传输协议)是一种用于在网络上进行文件传输的应用层协议。它允许用户通过FTP客户端连接到FTP服务器,进行文件的上传和下载。FTP服务基于客户端/服务器(C/S)模式,使用TCP协议,默认服务端口号为21(用于接收客户端的FTP命令与参数),以及20(用于数据传输)

2、FTP服务的工作模式

  • 主动模式:客户端和服务器之间建立一个命令连接和一个数据连接。命令连接用于传输FTP命令,而数据连接用于传输文件数据。
  • 被动模式:客户端和服务器之间建立一个命令连接,然后由服务器发起数据连接。这种方式适用于客户端和服务器位于不同网络环境的场景。

3、FTP服务的特点

  • 基于TCP的传输:FTP使用TCP协议进行数据传输,保证了数据传输的可靠性。
  • 控制连接和数据连接:FTP使用两个连接,一个用于控制命令(端口21),另一个用于数据传输(端口20)。
  • 主动模式和被动模式:FTP支持主动模式和被动模式,以适应不同的网络环境。
  • 支持ASCII模式和二进制模式:根据文件类型选择合适的传输模式,以优化传输效率。
  • 需要身份验证:FTP服务器通常需要用户进行身份验证后才能进行文件传输,以保护数据的安全性。
  • 支持文件列表和传输大文件:FTP允许列出目录内容,并支持传输大文件。

4、vsftpd的安装和配置

vsftpd(Very Secure FTP Daemon)是一个在Linux/Unix系统上运行的开源免费FTP服务器软件,它以安全性和速度为主要特点。

1)配置匿名访问

存在的缺点:匿名用户权限过高,存在安全隐患
配置环境:

rpm -qc vsftpd 检查vsftpd安装包是否存在,-c显示配置文件 yum install -y vsftpd 安装vsftpd 一台Linux系统和一台windows系统的虚拟机,且网络可互联 

配置FTP服务:

cd /etc/vsftpd 切换到安装好vsftpd目录下 ls 查看目录下文件 cp vsftpd.confvsftpd.conf.bak 将vsftpd的配置文件进行备份 vim /etc/vsftpd/vsftpd.conf 编辑 vsftpd初始化全局配置 

编辑配置文件

anonymous_enable=YES #开启匿名用户访问。默认已开启 local_enable=YES #允许系统用户进行访问(useradd zhangsan) write_enable=YES #开放服务器的写权限(若要上传,必须开启)。默认已开启 anon_umask=022 #设置匿名用户所上传数据的权限掩码(反掩码)。 让匿名用户拥有访问本机权限和各种权限 anon_umask=022 #设置匿名用户所上传数据的权限掩码(反掩码)。 anon_upload_enable=YES #允许匿名用户上传文件。默认已注释,需取消注释 anon_mkdir_write_enable=YES #允许匿名用户创建(上传)目录。默认已注释,需取消注释 anon_other_write_enable=YES #允许删除、重命名、覆盖等操作。需添加 

重启vsftpd服务,关闭防火墙和核心安全防护

systemctl restart vsftpd systemctl stop firewalld setenforce 0 
chmod 777 /var/ftp/pub/ 修改匿名用户的默认根目录权限 echo 'hello world!' > test.txt 配置实验用来验证的一个文件 

匿名访问测试

在Windows系统打开开始菜单,输入cmd 命令打开命令提示符

ftp 192.168.233.21 #建立ftp连接,匿名访问密码为空 ftp> pwd #匿名访问ftp的根目录为Linux系统的/var/ftp/目录 ftp> ls #查看当前目录 ftp> cd pub #切换到pub目录 ftp> ls ftp> get test.txt #获取目录中的文件下载到电脑,文件在windos系统user根目录下 ftp> put test4.txt #在window系统下创建test4,并上传到Linux系统中/var/ftp/目录 ftp> ls #查看test4 文件是否上传成功 
2)配置本地用户可以访问ftp,禁止匿名用户登录

创建用户

useradd huhu echo '123' | passwd --stdin zhangsan useradd feifei echo '123' | passwd --stdin lisi 

编辑ftp配置文件

vim /etc/vsftpd/vsftpd.conf local_enable=Yes #启用本地用户 anonymous_enable=NO #关闭匿名用户访问 write_enable=YES #开放服务器的写权限(若要上传,必须开启) local_umask=077 #可设置仅宿主用户拥有被上传的文件的权限(反掩码) 

在windows系统终端上进行验证

ftp 192.168.188.10 进行ftp访问 huhu 访问的用户名 123 密码 
3)对本地用户访问切换目录进行限制

添加、切换目录的限制配置 :

vim /etc/vsftpd/vsftpd.conf 编辑ftp配置文件 chroot_local_user=YES 将访问禁锢在用户的宿主目录中 取消注释即可 allow_writeable_chroot=YES 允许被限制的用户主目录具有写权限 systemctl restart vsftpd 重启服务 

windows上进行验证

ftp 192.168.100.21 进行访问 huhu 访问用户 123 密码 cd /etc 测试权限是否限制 
4)修改匿名用户、本地用户登录的默认根目录
anon_root=/var/www/html			#anon_root 针对匿名用户 local_root=/var/www/html		#local_root 针对本地用户 
5)黑名单和白名单的使用 :

白名单

白名单是一个允许访问FTP服务器的用户列表。只有在这个列表中的用户才能访问服务器。配置白名单的方法因FTP服务器软件而异,但通常涉及编辑配置文件并指定允许访问的用户。

例如,在vsftpd中,可以在/etc/vsftpd/vsftpd.conf文件中配置白名单:

userlist_enable=YES userlist_file=/etc/vsftpd/allowed_users.txt userlist_deny=NO 

这里,userlist_enable=YES表示启用白名单功能,userlist_file指定了包含允许访问的用户列表的文件,userlist_deny=NO表示只允许白名单中的用户访问。

黑名单

黑名单是一个禁止访问FTP服务器的用户列表。在这个列表中的用户将被拒绝访问服务器。配置黑名单的方法也因FTP服务器软件而异。

例如,在vsftpd中,可以在/etc/vsftpd/vsft.pyd文件中配置黑名单:

userlist_enable=YES userlist_file=/etc/vsftpd/banned_users.txt userlist_deny=YES 

这里,userlist_enable=YES表示启用黑名单功能,userlist_file指定了包含禁止访问的用户列表的文件,userlist_deny=YES表示禁止黑名单中的用户访问。

注意事项

  • 在配置白名单和黑名单时,请确保正确设置了文件权限,以防止未经授权的用户修改列表。
  • 当同时使用白名单和黑名单时,FTP服务器将首先检查白名单,然后检查黑名单。这意味着,如果一个用户在白名单中,即使他也在黑名单中,他仍然可以访问服务器。
  • 不同的FTP服务器软件可能有不同的配置方法,请参考相应的文档进行配置。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/144086.html

(0)
上一篇 2025-04-28 22:33
下一篇 2025-04-28 22:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信