




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
vsftp配置大全3.2 VSFTP安全与效能兼备的ftp 服务器3.2.1 VSFTP 概述FTP,file transfer protocol,这是档案传输的通讯协议,也是一般最常用来传送档案的方式。读者在使用RedHat9 的时候,可能会感受到ftp server 有一些改变:第一,就是ftp server 只剩下vsftp,原有的wuftp 等都没放入第二,就是vsftp 从XINETD 中独立出来,并将设定档从/etc/vsftpd.conf 之中移到/etc/vsftpd/vsftpd.conf。为什么做这样的改变?可以想见的是vsftp 已有独立运作的能力,不需要XINETD 来做更进一步的管控,并且类似sendmail、httpd、ssh、samba 等,将设定文件的放入/etc 下独立的目录。FTP 分为两类,一种为PORT FTP,也就是一般的FTP 另一类是PASVFTP,分述如下: PORT FTP这是一般形式的FTP,首先会建立控制频道,默认值是port 21,也就是跟port 21 建立联机,并透过此联机下达指令。第二,由FTP server 端会建立数据传输频道,默认值为20,也就是跟port 20 建立联机,并透过port 20 作数据的传输。PASV FTP跟PORT FTP 类似,首先会建立控制频道,默认值是port 21,也就是跟port 21 建立联机,并透过此联机下达指令。第二,会由client 端做出数据传输的请求,包括数据传输port 的数字。这两者的差异为何?PORT FTP 当中的数据传输port 是由FTP server 指定,而PASV FTP 的数据传输port 是由FTP client 决定。通常我们使用PASV FTP,是在有防火墙的环境之下,透过client 与server 的沟通,决定数据传输的port。3.2.2 范例3.2.1. 直接启动VSFTP 服务这个范例是套用RedHat 的预设范例,直接启动vsftp。rootrelay vsftpd# /sbin/service vsftpd startStarting vsftpd for vsftpd: OK 3.2.2. 更换port 提供服务:将预设的port 21 更换为2121为了安全,或是以port 来区隔不同的ftp 服务,我们可能会将ftp port 改为21 之外的port,那么,可参考以下步骤。Step1. 修改/etc/vsftpd/vsftpd.conf新增底下一行listen_port=2121Step2. 重新启动vsftpdroothome vsftpd# /sbin/service vsftpd restartShutting down vsftpd: OK Starting vsftpd for vsftpd: OK 3.2.3. 特定使用者peter、john 不得变更目录使用者的预设目录为/home/username,若是我们不希望使用者在ftp 时能够切换到上一层目录/home,则可参考以下步骤。Step1. 修改/etc/vsftpd/vsftpd.conf将底下三行#chroot_list_enable=YES# (default follows)#chroot_list_file=/etc/vsftpd.chroot_list改为chroot_list_enable=YES# (default follows)chroot_list_file=/etc/vsftpd/chroot_listStep2. 新增一个档案: /etc/vsftpd/chroot_list内容增加两行:peterjohnStep3. 重新启动vsftpdroothome vsftpd# /sbin/service vsftpd restartShutting down vsftpd: OK Starting vsftpd for vsftpd: OK 若是peter 欲切换到根目录以外的目录,则会出现以下警告:ftp cd /home550 Failed to change directory.3.2.4. 取消anonymous 登入若是读者的主机不希望使用者匿名登入,则可参考以下步骤。Step1. 修改/etc/vsftpd/vsftpd.conf将anonymous_enable=YES改为anonymous_enable=NOStep2. 重新启动vsftpdroothome vsftpd# /sbin/service vsftpd restartShutting down vsftpd: OK Starting vsftpd for vsftpd: OK 3.2.5. 安排欢迎话语若是我们希望使用者在登入时,能够看到欢迎话语,可能包括对该主机的说明,或是目录的介绍,可参考以下步骤。首先确定在/etc/vsftpd/vsftpd.conf 当中是否有底下这一行dirmessage_enable=YESRedHat9 的默认值是有上面这行的。接着,在各目录之中,新增名为.message 的档案,再这边假设有一个使用者test1,且此使用者的根目录下有个目录名为abc,那首先我们在/home/test1之下新增.message,内容如下:Hello Welcome to the home directoryThis is for test only.接着,在/home/test1/abc 的目录下新增.message,内容如下:Welcome to abcs directoryThis is subdir.那么,当使用者test1 登入时,会看到以下讯息:230- Hello Welcome to the home directory230-230- This is for test only.230-若是切换到abc 的目录,则会出现以下讯息:250- Welcome to abcs directory250-250- This is subdir .3.2.6. 对于每一个联机,以独立的process 来运作一般启动vsftp 时,我们只会看到一个名为vsftpd 的process 在运作,但若是读者希望每一个联机,都能以独立的process 来呈现,则可执行以下步骤。Step1. 修改/etc/vsftpd/vsftpd.conf新增底下一行setproctitle_enable=YESStep2. 重新启动vsftpdroothome vsftpd# /sbin/service vsftpd restartShutting down vsftpd: OK Starting vsftpd for vsftpd: OK 使用ps -ef 的指令,可以看告不同使用者联机的情形,如下图所示:roothome vsftpd# ps -ef|grep ftproot 2090 1 0 16:41 pts/0 00:00:00 vsftpd: LISTENERnobody 2120 2090 0 17:18 ? 00:00:00 vsftpd: 44:connectedtest1 2122 2120 0 17:18 ? 00:00:00 vsftpd: 44/test1:IDLEnobody 2124 2090 0 17:19 ? 00:00:00 vsftpd: 44:connectedtest2 2126 2124 0 17:19 ? 00:00:00 vsftpd: 44/test2:IDLEroot 2129 1343 0 17:20 pts/0 00:00:00 grep ftproothome vsftpd#3.2.7. 限制传输档案的速度:本机的使用者最高速度为200KBytes/s,匿名登入者所能使用的最高速度为50KBytes/sStep1. 修改/etc/vsftpd/vsftpd.conf新增底下两行anon_max_rate=50000local_max_rate=200000Step2. 重新启动vsftpdroothome vsftpd# /sbin/service vsftpd restartShutting down vsftpd: OK Starting vsftpd for vsftpd: OK 在这边速度的单位为Bytes/s,其中anon_max_rate 所限制的是匿名登入的使用者,而local_max_rate 所限制的是本机的使用者。VSFTPD 对于速度的限制,范围大概在80%到120%之间,也就是我们限制最高速度为100KBytes/s,但实际的速度可能在80KBytes/s 到120KBytes/s 之间,当然,若是频宽不足时,数值会低于此限制。3.2.8. 针对不同的使用者限制不同的速度:假设test1 所能使用的最高速度为250KBytes/s,test2 所能使用的最高速度为500KBytes/s。Step1. 修改/etc/vsftpd/vsftpd.conf新增底下一行user_config_dir=/etc/vsftpd/userconfStep2. 新增一个目录:/etc/vsftpd/userconfmkdir /etc/vsftpd/userconfStep3. 在/etc/vsftpd/userconf 之下新增一个名为test1 的档案内容增加一行:local_max_rate=250000Step4. 在/etc/vsftpd/userconf 之下新增一个名为test2 的档案内容增加一行:local_max_rate=500000Step5. 重新启动vsftpdroothome vsftpd# /sbin/service vsftpd restartShutting down vsftpd: OK Starting vsftpd for vsftpd: OK 3.2.9-1. 建置一个防火墙下的ftp server,使用PORT FTP mode:预设的ftpport:21 以及ftp data port:20启动VSFTPD 之后执行以下两行指令,只允许port 21 以及port 20 开放,其它关闭。iptables -A INPUT -p tcp -m multiport -dport 21,20 -j ACCEPTiptables -A INPUT -p tcp -j REJECT -reject-with tcp-reset3.2.9-2. 建置一个防火墙下的ftp server,使用PORT FTP mode:ftp port:2121以及ftp data port:2020Step1. 执行以下两行指令,只允许port 2121 以及port 2020 开放,其它关闭。iptables -A INPUT -p tcp -m multiport -dport 2121,2020 -j ACCEPTiptables -A INPUT -p tcp -j REJECT -reject-with tcp-resetStep2. 修改/etc/vsftpd/vsftpd.conf新增底下两行listen_port=2121ftp_data_port=2020Step3. 重新启动vsftpdroothome vsftpd# /sbin/service vsftpd restartShutting down vsftpd: OK Starting vsftpd for vsftpd: OK 在这边要注意,8、9 两个例子中,ftp client(如cuteftp)的联机方式不能够选择passive mode,否则无法建立数据的联机。也就是读者可以连上ftp server,但是执行ls、get 等等的指令时,便无法运作。3.2.10. 建置一个防火墙下的ftp server,使用PASS FTP mode:ftp port:2121以及ftp data port 从9981 到9986。Step1. 执行以下两行指令,只允许port 2121 以及port 9981-9990 开放,其它关闭。iptables -A INPUT -p tcp -m multiport -dport2121,9981,9982,9983,9984,9985,9986,9987,9988,9989,9990 -j ACCEPTiptables -A INPUT -p tcp -j REJECT -reject-with tcp-resetStep2. 修改/etc/vsftpd/vsftpd.conf新增底下四行listen_port=2121pasv_enable=YESpasv_min_port=9981pasv_max_port=9986Step3. 重新启动vsftpdroothome vsftpd# /sbin/service vsftpd restartShutting down vsftpd: OK Starting vsftpd for vsftpd: OK 在这边要注意,在10 这个例子中,ftp client(如cuteftp)的联机方式必须选择passive mode,否则无法建立数据的联机。也就是读者可以连上ftp server,但是执行ls,get 等等的指令时,便无法运作。8.2.11. 将vsftpd 与TCP_wrapper 结合若是读者希望直接在/etc/hosts.allow 之中定义允许或是拒绝的来源地址,可执行以下步骤。这是简易的防火墙设定。Step1. 确定/etc/vsftpd/vsftpd.conf 之中tcp_wrappers 的设定为YES,如下图所示:tcp_wrappers=YES这是RedHat9 的默认值,基本上不需修改。Step2. 重新启动vsftpdroothome vsftpd# /sbin/service vsftpd restartShutting down vsftpd: OK Starting vsftpd for vsftpd: OK Step3. 设定/etc/hosts.allow,譬如提供 以及 到54 连线,则可做下图之设定:vsftpd : 10.1.1. : allowALL : ALL : DENY8.2.12. 将vsftpd 并入XINETD若是读者希望将vsftpd 并入XINETD 之中,也就是7.x 版的预设设定,那么读者可以执行以下步骤。Step1. 修改/etc/vsftpd/vsftpd.conf将listen=YES改为listen=NOStep2. 新增一个档案: /etc/xinetd.d/vsftpd内容如下:service vsftpddisable = nosocket_type = streamwait = nouser = rootserver = /usr/sbin/vsftpdport = 21log_on_success += PID HOST DURATIONlog_on_failure += HOSTStep3. 重新启动xinetdroothome vsftpd# /sbin/service xinetd restartStopping xinetd: OK Starting xinetd: OK 3.2.3 设定档说明在范例中,有些省略的设定可以在这边找到,譬如联机的总数、同一个位址的联机数、显示档案拥有者的名称等等,希望读者细读后,可以做出最适合自己的设定。格式vsftpd.conf 的内容非常单纯,每一行即为一项设定。若是空白行或是开头为#的一行,将会被忽略。内容的格式只有一种,如下所示option=value要注意的是,等号两边不能加空白,不然是不正确的设定。ascii 设定ascii_download_enable管控是否可用ASCII 模式下载。默认值为NO。ascii_upload_enable管控是否可用ASCII 模式上传。默认值为NO。个别使用者设定chroot_list_enable如果启动这项功能,则所有的本机使用者登入均可进到根目录之外的数据夹,除了列在/etc/vsftpd.chroot_list 之中的使用者之外。默认值为NO。userlist_enable用法:YES/NO若是启动此功能,则会读取/etc/vsftpd.user_list 当中的使用者名称。此项功能可以在询问密码前就出现失败讯息,而不需要检验密码的程序。默认值为关闭。userlist_deny用法:YES/NO这个选项只有在userlist_enable 启动时才会被检验。如果将这个选项设为YES,则在/etc/vsftpd.user_list 中的使用者将无法登入 若设为NO , 则只有在/etc/vsftpd.user_list 中的使用者才能登入。而且此项功能可以在询问密码前就出现错误讯息,而不需要检验密码的程序。user_config_dir定义个别使用者设定文件所在的目录,例如定义user_config_dir=/etc/vsftpd/userconf,且主机上有使用者test1,test2,那我们可以在user_config_dir 的目录新增文件名为test1 以及test2。若是test1 登入,则会读取user_config_dir 下的test1 这个档案内的设定。默认值为无。欢迎语设定dirmessage_enable如果启动这个选项,使用者第一次进入一个目录时,会检查该目录下是否有.message这个档案,若是有,则会出现此档案的内容,通常这个档案会放置欢迎话语,或是对该目录的说明。默认值为开启。banner_file当使用者登入时,会显示此设定所在的档案内容,通常为欢迎话语或是说明。默认值为无。ftpd_banner这边可定义欢迎话语的字符串,相较于banner_file 是档案的形式,而ftpd_banner 是字串的格式。预设为无。特殊安全设定chroot_local_user如果设定为YES,那么所有的本机的使用者都可以切换到根目录以外的数据夹。预设值为NO。hide_ids如果启动这项功能,所有档案的拥有者与群组都为ftp,也就是使用者登入使用ls -al之类的指令,所看到的档案拥有者跟群组均为ftp。默认值为关闭。ls_recurse_enable若是启动此功能,则允许登入者使用ls -R 这个指令。默认值为NO。write_enable用法:YES/NO这个选项可以控制FTP 的指令是否允许更改file system,譬如STOR、DELE、RNFR、RNTO、MKD、RMD、APPE 以及SITE。预设是关闭。setproctitle_enable用法:YES/NO启动这项功能,vsftpd 会将所有联机的状况已不同的process 呈现出来,换句话说,使用ps -ef 这类的指令就可以看到联机的状态。默认值为关闭。tcp_wrappers用法:YES/NO如果启动,则会将vsftpd 与tcp wrapper 结合,也就是可以在/etc/hosts.allow 与/etc/hosts.deny 中定义可联机或是拒绝的来源地址。pam_service_name这边定义PAM 所使用的名称,预设为vsftpd。secure_chroot_dir这个选项必须指定一个空的数据夹且任何登入者都不能有写入的权限,当vsftpd 不需要file system 的权限时,就会将使用者限制在此数据夹中。默认值为/usr/share/empty纪录文件设定xferlog_enable用法:YES/NO如果启动,上传与下载的信息将被完整纪录在底下xferlog_file 所定义的档案中。预设为开启。xferlog_file这个选项可设定纪录文件所在的位置,默认值为/var/log/vsftpd.log。xferlog_std_format如果启动,则纪录文件将会写为xferlog 的标准格式,如同wu-ftpd 一般。默认值为关闭。逾时设定accept_timeout接受建立联机的逾时设定,单位为秒。默认值为60。connect_timeout响应PORT 方式的数据联机的逾时设定,单位为秒。默认值为60。data_connection_timeout建立数据联机的逾时设定。默认值为300 秒。idle_session_timeout发呆的逾时设定,若是超出这时间没有数据的传送或是指令的输入,则会强迫断线,单位为秒。默认值为300。速率限制anon_max_rate匿名登入所能使用的最大传输速度,单位为每秒多少bytes,0 表示不限速度。默认值为0。local_max_rate本机使用者所能使用的最大传输速度,单位为每秒多少bytes,0 表示不限速度。预设值为0。新增档案权限设定anon_umask匿名登入者新增档案时的umask 数值。默认值为077。file_open_mode上传档案的权限,与chmod 所使用的数值相同。默认值为0666。local_umask本机登入者新增档案时的umask 数值。默认值为077。port 设定connect_from_port_20用法:YES/NO若设为YES,则强迫ftp-data 的数据传送使用port 20。默认值为YES。ftp_data_port设定ftp 数据联机所使用的port。默认值为20。listen_portFTP server 所使用的port。默认值为21。pasv_max_port建立资料联机所可以使用port 范围的上界,0 表示任意。默认值为0。pasv_min_port建立资料联机所可以使用port 范围的下界,0 表示任意。默认值为0。其它anon_root使用匿名登入时,所登入的目录。默认值为无。local_enable用法:YES/NO启动此功能则允许本机使用者登入。默认值为YES。local_root本机使用者登入时,将被更换到定义的目录下。默认值为无。text_userdb_names用法:YES/NO当使用者登入后使用ls -al 之类的指令查询该档案的管理权时,预设会出现拥有者的UID,而不是该档案拥有者的名称。若是希望出现拥有者的名称,则将此功能开启。默认值为NO。pasv_enable若是设为NO,则不允许使用PASV 的模式建立数据的联机。默认值为开启。更换档案所有权chown_uploads用法:YES/NO若是启动,所有匿名上传数据的拥有者将被更换为chown_username 当中所设定的使用者。这样的选项对于安全及管理,是很有用的。默认值为NO。chown_username这里可以定义当匿名登入者上传档案时,该档案的拥有者将被置换的使用者名称。预设值为root。guest 设定guest_enable用法:YES/NO若是启动这项功能,所有的非匿名登入者都视为guest。默认值为关闭。guest_username这里将定义guest 的使用者名称。默认值为ftp。anonymous 设定anonymous_enable用法:YES/NO管控使否允许匿名登入,YES 为允许匿名登入,NO 为不允许。默认值为YES。no_anon_password若是启动这项功能,则?褂媚涿侨胧保换嵫拭苈搿现滴狽O。anon_mkdir_write_enable用法:YES/NO如果设为YES,匿名登入者会被允许新增目录,当然,匿名使用者必须要有对上层目录的写入权。默认值为NO。anon_other_write_enable用法:YES/NO如果设为YES,匿名登入者会被允许更多于上传与建立目录之外的权限,譬如删除或是更名。默认值为NO。anon_upload_enable用法:YES/NO如果设为YES,匿名登入者会被允许上传目录的权限,当然,匿名使用者必须要有对上层目录的写入权。默认值为NO。anon_world_readable_only用法:YES/NO如果设为YES,匿名登入者会被允许下载可阅读的档案。默认值为YES。ftp_username定义匿名登入的使用者名称。默认值为ftp。deny_email_enable若是启动这项功能,则必须提供一个档案/etc/vsftpd.banner_emails,内容为emailaddress。若是使用匿名登入,则会要求
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 考点攻克人教版八年级上册物理物态变化《温度》专题训练试题(解析版)
- 2025年阑尾炎病人护理题库及答案
- 2025年护理期末药理学试题题库及答案
- 道路交通道路养护管理技术方案
- 2025年护理值班与交班制度题库及答案
- 固体废物综合利用及处置项目社会稳定风险评估报告
- 机加零件检验员考试题及答案
- 6.22 不断发展的现代社会 说课稿 2024-2025学年统编版九年级历史下册
- 粤人版地理七上3.1《陆地和海洋的分布》表格说课稿
- 酿酒师岗前操作管理考核试卷含答案
- 影视鉴赏-第一章-影视鉴赏的基本概念
- 医院院前急救病历 广州市急救中心
- 诊断学胸壁胸廓与乳房
- 输液室运用PDCA降低静脉输液患者外渗的发生率品管圈(QCC)活动成果
- 电气设备空载试运行及负荷试运行记录
- 全等三角形-倍长中线法
- 集约化猪场的规划设计
- 数星星的孩子习题精选及答案
- 可下载打印的公司章程
- 螺旋千斤顶设计大作业
- 超声流量计技术规格书9
评论
0/150
提交评论