FTP服务器的设置.

Slides:



Advertisements
Similar presentations
Linux 应用基础 李志虹
Advertisements

项目8 架设FTP服务 目标 : 了解FTP服务的基本原理 掌握通过vsftpd配置FTP服务器的一般方法
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
《电算化会计》形成性考核 简易操作流程.
2.3 网络域名及其管理.
网络应用服务管理 吴献彩.
第2讲 vsftpd服务器配置与管理.
第6章内容回顾 域名空间结构分为哪4层 简述DNS查询过程 区域文件中主要有哪些资源记录 简述转发器的概念 简述子域和委派的概念
中青国信科技(北京)有限公司 空间域名邮局价格表.
RedHat Linux 服务器操作系统.
在PHP和MYSQL中实现完美的中文显示
J2EE与中间件技术 ——Lab.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
第二讲 搭建Java Web开发环境 主讲人:孙娜
本章主要讲解Internet应用服务器的配置方法,包括DNS服务器、FTP服务器、 服务器。通过对本章的学习,主要掌握以下内容:
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
大学计算机基础 典型案例之一 构建FPT服务器.
PPPoE PPTP L2TP全解 方伟、产品策划 讲师的CSDN博客地址
SVN服务器的搭建(Windows) 柳峰
网络常用常用命令 课件制作人:谢希仁.
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
大数据管理技术 --NoSQL数据库 HBase 陈 辉 大数据分析技术.
PostgreSQL 8.3 安装要点 四川大学计算机学院 段 磊
Windows网络操作系统管理 ——Windows Server 2008 R2.
Windows网络操作系统管理 ——Windows Server 2008 R2.
LogBase运维安全管理系统.
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
第17章 网站发布.
ENS 10.1安装配置指南 王俊涛 | SE.
访问Epic games官网( 点击右上方“获取Epic games”进行下载
Windows 7 的系统设置.
YMSM D-PACK 安装手册 作成者:D-PACK维护组(YMSLx) 作成日:
VSS使用简介 王树升
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
DevDays ’99 The aim of this mission is knowledge..
任务1-3 使用Dreamweaver创建ASP网页
产品防伪防窜管理系统 工具下载安装指引 信息管理部.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
SOA – Experiment 2: Query Classification Web Service
第 23 章 架設 FTP 伺服器.
第二章 登录UNIX操作系统.
電子郵件簡介.
Web安全基础教程
第四章 团队音乐会序幕: 团队协作平台的快速创建
主要内容: 无线局域网的定义 无线传输介质 无线传输的技术 WLAN的架构 无线网络搭建与配置 无线网络加密配置
Cassandra应用及高性能客户端 董亚军 来自Newegg-NESC.
姚金宇 MIT SCHEME 使用说明 姚金宇
实验七 安全FTP服务器实验 2019/4/28.
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
教育部 财政部 网络教育数字化学习资源中心平台系统 安装与配置
JSP实用教程 清华大学出版社 第2章 JSP运行环境和开发环境 教学目标 教学重点 教学过程 2019年5月7日.
文档创建与发布操作要点 青海省教育信息中心 2018年12月18日.
本节内容 文件系统 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
Visual Basic程序设计 第13章 访问数据库
郑 昀 应用开发事业部 神州泰岳 SIP多方会话消息 之实例讲解 郑 昀 应用开发事业部 神州泰岳
OpenStack vs CloudStack
Python 环境搭建 基于Anaconda和VSCode.
Google的云计算 分布式锁服务Chubby.
FTP服务器配置与管理 授课教师:于伟.
阻塞式模型 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang 官网地址:
第四章 UNIX文件系统.
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
培训课件 AB 变频器的接线、操作及参数的备份 设备动力科.
1 Web基础知识 1.1 HTTP协议 1.2 Web服务器和浏览器 1.3 C/S模式与B/S模式 1.4 Web的访问原理
四路视频编码器 快速安装手册 1、接口说明 2、安装连接 3、软件下载 4、注意事项 编码器软件下载地址
JUDDI安装手册.
百万行、千万行数据查询教程 老黄牛.
Presentation transcript:

FTP服务器的设置

FTP协议 FTP概述 FTP就是File Transport Protocol文件传输协议的缩写,FTP服务器能够在网络上提供文件传输服务。FTP最初与WWW服务和邮件服务一起被列为因特网的三大应用,可见其在网络应用中的地位举足轻重。 FTP服务器根据服务对象的不同可分为匿名服务器(Anonymous Ftp Server)和系统FTP服务器。前者是可以让任何人登录上去获取文件的FTP服务器,后者就只能是在FTP服务器上有合法账号的人才能使用。

FTP协议 FTP工作原理: 建立一个ftp会话包括五个软件元素的交互: 用户接口(UI):提供了一个用户接口并使用客户端协议解释器的服务 客户端协议解释器(CPI):向远程服务器协议机发送命令并且驱动客户 数据传输过程 服务端协议解释器(SPI):响应客户协议机发出的命令并且驱动服务器端数据 传输过程 客户端数据传输协议(CDTP):负责完成和服务器数据传输过程及客 户端本地文件系统的通信 服务端数据传输协议(SDTP):负责完成和客户数据传输过程及服务器端文件 系统的通信

FTP协议 控制连接:主要用来传送在实际通信过程中需要执行的FTP命令以及命令的响应(服务器监听21号端口) 数据连接:用来传输用户的数据。

FTP协议 FTP的数据传输模式: 主动传输模式:ftp服务器使用一个标准的端口(20)作为服务器端的数据连接端口与客户建立数据连接。

FTP协议 ftp的典型消息 在用于ftp客户程序与ftp服务器进行通信时,经常会看到一些由ftp服务器发送消息,这些消息是ftp协议所定义的。下面列出典型的ftp消息: 消息号 125:数据连接打开,传输开始 200:命令OK 226:数据传输完毕 331:用户名OK 425:不能打开数据连接 426:数据连接被关闭,传输被中断 452:错误写文件 500:语法错误,不可识别的命令

FTP服务器的设置 目前在UNIX和LINUX下常用的免费FTP服务器软件主要是Wu-FTP和ProFTP这两种。Wu-FTP广泛应用在众多的Unix和Linux系统中,曾经是RedHat Linux默认的FTP服务器软件,其全称是Washington University FTP。 Wu-FTP软件的特性: 1、让用户在下载文件的同时可以对文件做自动的压缩或解压缩操作; 2、可以对不同网络的机器做不同的存取限制和存取时间; 3、可以记录文件上传和下载的时间; 4、可以显示传输时的相关信息,以便让用户知道目前的传输状态; 5、可以设定连接的数量限制,以提高工作效率。

FTP服务器的设置 这些功能都适于吞吐量较大的FTP服务器的管理要求。 但是,Wu-FTP最致命的弱点是安全性比较差。由于推出的时间比较早,所以在功能上和安全性上,都不能满足现在的需求。所以,在Red Hat Linux 8.0中,默认的FTP服务器已经改成了vs-ftpd这个软件

vsftpd 简介 vsftpd 是一个基于GPL 发布的类UNIX 系统上使用的FTP 服务器软件。其中的vs 是“Very Secure”的缩写,从此名称缩写可以看出,编制者的初衷就是代码的安全性。

Vsftpd 的特性 安全性是编写vsftpd 代码的初衷,除了与生俱来的安全性能之外,高速、稳定的性能是vsftpd 的两个特性。 在速度方面:使用ASCII 模式下载数据时,vsftpd 的速度是WU-FTPd 的两倍;如果Linux的主机使用2.4.X 版本的内核,在千兆以太网上的下载速度可达86Mbytes/sec。 在稳定性方面:vsftpd 可以在单机(非集群)上支持4000 个以上的并发用户同时连接。据ftp.redhat.com 的数据,vsftpd 可以支持15000 个并发用户。 除了安全、高速、稳定之外,vsftpd 还具有如下的特性: 支持基于IP 的虚拟FTP 服务器 支持虚拟用户 支持PAM 或xinetd/tcp_wrappers 的认证方式 支持两种运行方式:独立和Xinetd 支持每个虚拟用户具有独立的配置 支持带宽限制等

谁在使用vsftpd 由于vsftpd 具有上述的特性,现在越来越多的FTP 服务器使用vsftpd。例如: ftp.redhat.com ftp.suse.com ftp.debian.org ftp.gnu.org ftp.gnome.org ftp.openbsd.org rpmfind.net

配置vsftpd Redhat 8.0自带了vsftpd,在安装时如果选择了FTP服务的话,已经安装好了如下的部分软件:vsftpd-1.1.0-1.i386.rpm,anonftp-4.0-12.i386.rpm。 其中: vsftpd包用于创建一个安全的FTP服务器。 anonftp 包用于创建匿名FTP服务器目录。若要架设匿名FTP服务器就应该安装此包。anonftp 包安装的匿名FTP服务器目录是/var/ftp,匿名下载目录为/var/ftp/pub。

vsftpd的配置文件 在RedHat9.0中vsftpd的默认配置文件有三个,分别是: /etc/vsftpd.conf /etc/vsftpd.ftpusers /etc/vsftpd.user_list 其中,/etc/vsftpd.conf 是主配置文件。/etc/vsftpd.ftpusers 中指定了哪些用户不能访问FTP服务器。/etc/vsftpd.user_list 中指定的用户默认情况( 即在/etc/vsftpd.conf 中设置了userlist_deny=YES)下也不能访问FTP 服务器,当在/etc/vsftpd.conf 中设置了userlist_deny=NO时,仅仅允许/etc/vsftpd.user_list 中指定的用户访问FTP 服务器。

默认配置文件 默认的配置文件如下:

默认配置文件 这个默认的配置文件达到的效果是: (1)允许匿名用户和本地用户登录; (2)匿名用户的登录名为ftp 或anonymous,口令为一个Email地址; (3)匿名用户不能离开匿名服务器目录/var/ftp,且只能下载不能上传; (4)本地用户的登录名为本地用户名,口令为此本地用户的口令; (5)本地用户可以离开自家目录切换至有权访问的其他目录,并在权限允许的情况下进行上传/下载; (6)写在文件/etc/vsftpd.ftpusers 中的本地用户禁止登录。

进一步配置vsftpd 启用ASCII 传输方式 默认情况下,vsftpd 为了提高传输效率,禁止了ASCII 传输方式。虽然在ftp 客户软件中可以使用asc命令,但是传输文件时仍然使用二进制传输方式。 可以分别启用上传和下载的ASCII 传输方式,方法是编辑/etc/vsftpd 配置文件,将如下两行前的#去掉即可启用。 #ascii_upload_enable=YES #ascii_download_enable=YES

进一步配置vsftpd 设置连接服务器后的欢迎信息 为了使用户连接服务器后显示信息,vsftpd 提供了两个选项,分别是: ftpd_banner banner_file 例如:可以设置如下的ftpd_banner 选项的值: ftpd_banner=Welcome to wnt FTP service. 即:用户连接服务器后显示信息“Welcome to wnt FTP service.”。 也可以设置如下的banner_file 选项的值: banner_file=/var/vsftpd_banner_file 即:用户连接服务器后显示文件/var/vsftpd_banner_file 中的信息。

进一步配置vsftpd 配置基本的性能和安全选项 1. 设置空闲的用户会话的中断时间 例如下面的配置: idle_session_timeout=600 将在用户会话空闲10 分钟后被中断。 2. 设置空闲的数据连接的的中断时间 data_connection_timeout=120 将在数据连接空闲2 分钟后被中断。 3. 设置客户端空闲时的自动中断和激活连接的时间 accept_timeout=60 connect_timeout=60 将使客户端空闲1 分钟后自动中断连接,并在中断1 分钟后自动激活连接。

进一步配置vsftpd 设置最大传输速率限制 例如下面的配置: local_max_rate=50000 anon_max_rate=30000 将使本地用户的最大传输速率为50kbytes/sec,匿名用户的传输速率为30kbytes/sec。 5. 设置客户端连接时的端口范围 pasv_min_port=50000 pasv_max_port=60000 将使客户端连接时的端口范围在50000 和60000 之间。这提高了系统的安全性。

进一步配置vsftpd 6. 设置chroot 在默认配置中,本地用户可以切换到自家目录以外的目录进行浏览,并在权限许可的范围内进行下载和上传。这样的设置对于一个FTP 服务器来说是不安全的。 如果希望用户登录后不能切换到自家目录以外的目录,则需要设置chroot 选项,涉及如: chroot_local_user chroot_list_enable chroot_list_file 有两种设置chroot 的方法: (1)设置所有的本地用户执行chroot 只要将chroot_local_user 的值设为YES 即可,即: chroot_local_user=YES (2)设置指定的用户执行chroot 需要如下的设置: chroot_local_user=NO chroot_list_enable=YES chroot_list_file= /etc/vsftpd.chroot_list 这样,只有/etc/vsftpd.chroot_list 文件中指定的用户才执行chroot。

进一步配置vsftpd 配置基于本地用户的访问控制 要配置基于本地用户的访问控制,可以通过修改vsftpd 的主配置文件/etc/vsftpd.conf 来进行,有如下两种限制方法: 1. 限制指定的本地用户不能访问,而其他本地用户可访问 例如下面的设置: userlist_enable=NO userlist_deny=YES userlist_file= /etc/vsftpd.user_list 使文件/etc/vsftpd.user_list 中指定的本地用户不能访问FTP 服务器,而其他本地用户可访问FTP服务器。

进一步配置vsftpd 2. 限制指定的本地用户可以访问,而其他本地用户不可访问 例如下面的设置: userlist_enable= YES userlist_deny=NO userlist_file= /etc/vsftpd.user_list 使文件/etc/vsftpd.user_list 中指定的本地用户可以访问FTP 服务器,而其他本地用户不可以访问FTP服务器。

进一步配置vsftpd 配置基于主机的访问控制 由于vsftpd 有两种运行方式,即:由xinetd 启动和独立启动。这两种运行方式的主机访问控制配置是不同的,下面介绍的是由xinetd 启动的vsftpd 的主机访问控制的配置。显然,要配置这种主机访问控制,需要修改配置文件/etc/xinetd.d/vsftpd。 1. 只允许指定的主机访问 在配置文件/etc/xinetd.d/vsftpd 的{}中添加如下的配置语句: only_from <主机表> 例如:only_from 166.111.219.0 表示只允许166.111.219.0网段内的主机访问。

进一步配置vsftpd 2. 指定不能访问的主机 在配置文件/etc/xinetd.d/vsftpd 的{}中添加如下的配置语句: no_access <主机表> 例如:no_access 202.106.138.0 表示202.106.138.0网段内的主机不能访问。 3. 配置每个客户机的最大连接数 per_source = 数值 例如:per_source = 5 表示每个客户机的最大连接数为5。

进一步配置vsftpd 4. 配置服务器总的并发连接数 在配置文件/etc/xinetd.d/vsftpd 的{}中添加如下的配置语句: instances = 数值 例如:instances = 200 表示FTP 服务器总共支持的最高连接数为200。 5. 配置访问时间限制 access_time = hour:min-hour:min 例如:access_time = 18:00-23:59 表示只有在下午6 点到午夜0 点之前才能访问此FTP 服务器; 又如:access_time = 8:30-11:30 13:00-18:00 表示只有在上午8 点半到11 点半和下午1 点到下午6 点才能访问此FTP 服务器。

进一步配置vsftpd 6. 指定连接失败时显示的信息 在配置文件/etc/xinetd.d/vsftpd 的{}中添加如下的配置语句: banner_fail = 文件名 例如:banner_fail = /etc/vsftpd.busy_banner 表示当连接失败时显示文件/etc/vsftpd.busy_banner 中的内容。

仅仅更改vsftpd. conf这个主配置文件是不够的,还要更改/etc/xinetd 仅仅更改vsftpd.conf这个主配置文件是不够的,还要更改/etc/xinetd.d/vsftpd这个文件,来控制vsftpd的一些启动参数。 [root@linux8 /etc]# cat /etc/xinetd.d/vsftpd service ftp { disable = no socket_type = stream wait = no user = root server = /usr/sbin/vsftpd nice = 10 per_source = 5 instances = 200 banner_fail = /etc/vsftpd.busy_banner log_on_success += PID HOST DURATION log_on_failure += HOST } 这种近乎偏执的配置会大大增加FTP服务器的安全性,使得vsftpd可以应用在Internet上而不用担心其安全性与稳定性。