《FTP服务的配置与应用.ppt》由会员分享,可在线阅读,更多相关《FTP服务的配置与应用.ppt(37页珍藏版)》请在三一办公上搜索。
1、Page 1/36,第5章内容回顾,Apache是著名的Web服务器软件Apache服务器可采用RPM安装和源码编译安装两种安装方式Apache服务器的服务程序是httpd,主配置文件是httpd.confLAMP是由Linux、Apache、MySQL和PHP/Perl/Python组成的开放应用架构,FTP服务的配置与应用,第6章,Page 3/37,本章目标,了解FTP服务的基本概念了解常用的FTP服务器和FTP客户端软件掌握vsftpd服务器的配置和管理掌握使用ftp命令对FTP服务器进行测试,Page 4/37,本章结构,Page 5/37,FTP服务器及基本原理,FTP服务的基本概
2、念 FTP是用于进行文件传输的网络协议FTP服务中分为服务器和客户机两个角色FTP服务器的传输模式主动模式:由服务器主动连接客户机建立数据链路被动模式:FTP服务器等待客户机建立数据链路FTP服务器使用的端口21端口用于与客户机建立命令链路在主动模式下服务器使用20端口向客户机建立数据链路,Page 6/37,主动模式的连接过程,1:FTP客户机由大于1024的N端口向FTP服务器的21端口发出请求建立命令链路,2:FTP服务器由21端口向FTP客户机的N端口回应,确认建立命令链路,3:FTP服务器由20端口向FTP客户机的N+1端口主动建立数据链路连接,4:FTP客户机由N+1端口向FTP服
3、务器的20端口回应,确认数据链路的建立,Page 7/37,被动模式的连接过程,1:FTP客户机由大于1024的N端口向FTP服务器的21端口发出请求建立命令链路,2:FTP服务器由21端口向FTP客户机的N端口回应,确认建立命令链路,3:FTP服务器会通过已建立的数据链路通知客户机自己已经打开了大于1024的端口M,用于建路数据链路;当需要传输数据时,FTP客户机会通过N+1端口向FTP服务器的M端口请求建立数据链路,4:FTP服务器在M端口监听到FTP客户机的连接请求后,将从M端口向FTP客户机的N+1端口确认数据链路的建立,Page 8/37,常用FTP服务器软件,Windows下常用的
4、FTP服务器软件IIS具有FTP服务器的功能Serv-U是流行的FTP服务器软件Linux下的FTP服务器Wu-ftpd出现较早,运行稳定,安全性稍差Proftpd在配置文件和安全性方面有很大改进vsftpd着重强调服务的安全性,运行效率也很高vsftpd服务器是本章学习的重点,Page 9/37,ftp命令作为FTP客户端,ftp命令是最基本的FTP客户端软件在Linux和Windows系统中都默认提供ftp命令ftp命令的交互环境中使用命令对FTP服务器进行操作ftp中很多命令与Bash中的命令类似binary设置传输二进制文件,ascii设置传输文本文件get命令用于下载文件,put命令
5、用于上传文件mget和mput用于一次下载或上传多个文件bye命令可退出ftp命令交互环境,Page 10/37,FTP客户端软件,FTP客户端软件的特点运行在图形环境下的窗口程序可使用鼠标和通过菜单进行操作用户界面友好,操作方便常用FTP客户端软件CuteFTP是Windows下流行的商业软件Filezilla是Windows下运行的开源软件gftp是Linux中GNOME桌面环境中运行的FTP客户端软件,是GNOME的重要组成部分,Page 11/37,安装vsftpd,vsftpd的安装需要注意以下几点RHEL4系统中默认没有安装vsftpd服务器vsftpd服务器的安装文件位于第1张安
6、装光盘中安装文件名称是vsftpd-2.0.1-5.i386.rpm 使用rpm命名可顺利安装该软件包,Page 12/37,vsftpd.conf配置文件,vsftpd.conf是vsftpd服务器的主配置文件/etc/vsftpd/vsftpd.conf 配置文件中所有的配置项都有相同的格式anonymous_enable=YES配置文件中的注释行以“#”开始配置文件的详细帮助信息可查询手册页#man vsftpd.conf,Page 13/37,vsftpd服务器的缺省配置,vsftpd.conf文件中的缺省配置为:anonymous_enable=YESlocal_enable=YES
7、write_enable=YESlocal_umask=022dirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESxferlog_std_format=YESpam_service_name=vsftpduserlist_enable=YESlisten=YEStcp_wrappers=YES,anonymous_enable设置为“YES”时FTP服务器允许匿名登录,local_enable设置为“YES”时允许本地用户登录,write_enable设置为“YES”时FTP服务器开放对本地用户的写权限,local_um
8、ask设置项设置本地用户的文件生成掩码,dirmessage_enable设置为“YES”时当切换到FTP服务器中的某个目录时,将显示该目录下的.message隐含文件的内容,xferlog_enable设置为“YES”时FTP服务器将启用上传和下载日志,connect_from_port_20设置为“YES”时FTP服务器将启用FTP数据端口的连接请求,xferlog_std_format设置为“YES”时FTP服务器将使用标准的ftpd xferlog日志格式,pam_service_name设置PAM认证服务的配置文件名称,userlist_enable设置为“YES”时FTP服务器将检
9、查userlist_file设置文件中指定的用户是否可以访问vsftpd服务器,listen设置为“YES”时FTP服务器将处于独立启动模式,tcp_wrappers设置为“YES”时FTP服务器将使用tcp_wrappers作为主机访问控制方式,Page 14/37,vsftpd.ftpusers文件,vsftpd.ftpusers用于保存不允许进行FTP登录的本地用户帐号#head-5/etc/vsftpd.ftpusers#Users that are not allowed to login via ftprootbindaemonadm vsftpd.ftpusers文件中可禁止高权
10、限本地用户登录FTP服务器,提高了系统的安全性,Page 15/37,vsftpd.user_list文件,vsftpd.user_list文件具有对vsftpd服务器更灵活的用户访问控制/etc/vsftpd.user_list 使用vsftpd.user_list文件需要在主配置文件中进行设置设置禁止vsftpd.user_list文件中的用户登录userlist_enable=YESuserlist_deny=YES 设置只允许vsftpd.user_list文件中的用户登录userlist_enable=YESuserlist_deny=NO,Page 16/37,匿名用户登录,vsf
11、tpd服务器提供匿名用户登录的功能匿名用户使用的登录用户名anonymousftp匿名FTP用户登录的口令通常是使用用户的E-mail地址,在vsftpd中输入任何字符串或直接回车都可以登录所有匿名用户都登录到相同的目录中/var/ftpFTP服务器的匿名登录可用于构建公共的文件下载服务器,Page 17/37,vsftpd服务的启动和关闭,服务器启动脚本启动脚本名称是vsftpd/etc/init.d/vsftpd vsftpd服务需要设置在运行级别3和5自动启动#chkconfig-level 35 vsftpd on 服务器启动#service vsftpd start 服务器停止#se
12、rvice vsftpd stop 服务器状态查询#service vsftpd status,Page 18/37,使用ftp命令登录FTP服务器,ftp命令登录FTP服务器的格式 匿名登录使用用户名anonymous或ftp登录的FTP根目录为系统目录“/var/ftp”本地用户登录使用系统用户帐号和口令登录ftp服务器登录FTP服务器后的目录为用户宿主目录,用户可转换到系统中的其他目录,Page 19/37,FTP本地用户帐号的问题,使用FTP本地用户帐号存在安全性问题FTP本地用户使用Linux系统用户帐号,存在安全隐患使用虚拟帐号替代本地用户帐号可以增强系统的安全性本地用户登录FTP
13、目录后可从宿主目录转换到其他目录,不是很安全可以设置将本地用户禁锢在宿主目录中,Page 20/37,将FTP本地用户禁锢在宿主目录中,在vsftpd.conf文件中添加设置项chroot_local_user=YES 重新启动vsftpd服务#service vsftpd restart 使用ftp客户端验证本地用户登录FTP服务器后,宿主目录将作为根(/)目录,Page 21/37,阶段总结,FTP是进行文件传输的网络协议FTP服务器和客户机软件在Linux和Windows平台都有多种选择vsftpd是以安全见长的FTP服务器软件FTP客户端可以是ftp命令或窗口程序vsftpd服务使用v
14、sftpd.conf文件进行核心配置vsftpd服务器的启动脚本是vsftpdvsftpd默认配置支持匿名用户登录和本地用户登录,Page 22/37,阶段练习,查看vsftpd.conf配置文件的默认设置使用ftp命令匿名登录FTP服务器,Page 23/37,vsftpd中支持的用户类型,匿名用户使用公共的用户帐号进行登录,通常用于提供公共文件下载服务本地用户使用Linux系统用户帐号登录,每个用户都使用各自的宿主目录虚拟用户使用独立的文件保存虚拟帐号,安全性较好,可替代本地用户,Page 24/37,vsftpd虚拟用户帐号的设置步骤,建立虚拟用户口令库文件生成vsftpd的认证文件建立
15、虚拟用户所需的PAM配置文件建立虚拟用户所要访问的目录并设置相应权限设置vsftpd.conf配置文件,Page 25/37,vsftpd虚拟用户配置3-1,建立虚拟用户口令库文件口令库文件中奇数行设置用户名,偶数行设置口令#cat logins.txt mikepwabcdjohnpw1234生成vsftpd的认证文件使用db_load命令生成认证文件#db_load-T-t hash-f logins.txt/etc/vsftpd/vsftpd_login.db设置认证文件只对用户可读可写#chmod 600/etc/vsftpd/vsftpd_login.db,Page 26/37,vs
16、ftpd虚拟用户配置3-2,建立虚拟用户所需的PAM配置文件 手工建立vsftpd.vu文件#cat/etc/pam.d/vsftpd.vuauth required/lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_loginaccount required/lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login 建立虚拟用户及要访问的目录并设置相应的权限 建立所有FTP虚拟用户帐号使用的系统用户帐号,并设置该帐号宿主目录的权限#useradd-d/home/ftpsite virtual#
17、chmod 700/home/ftpsite/,Page 27/37,vsftpd虚拟用户配置3-3,设置vsftpd.conf配置文件在配置文件中添加虚拟用户的配置内容guest_enable=YESguest_username=virtualpam_service_name=vsftpd.vu 重新启动vsftpd服务程序 对vsftpd.conf文件修改后需要重新启动vsftpd服务程序#service vsftpd restart,Page 28/37,测试虚拟用户帐号的FTP登录,使用ftp命令登录FTP服务器使用已配置的虚拟用户名和口令登录FTP服务器,如能够正常登录说明虚拟帐号配
18、置成功为了系统的安全,缺省配置的虚拟用户只具有较低的用户权限可以通过为每个虚拟用户建立独立的配置文件增加用户的权限,Page 29/37,对虚拟用户设置不同的权限,设置主配置文件 在vsftpd.conf文件中添加用户配置文件目录设置user_config_dir=/etc/vsftpd_user_conf 建立用户配置文件目录使用mkdir命令建立用户配置文件目录#mkdir/etc/vsftpd_user_conf 为虚拟用户建立单独的配置文件用户配置文件名称与用户名相同/etc/vsftpd_user_conf/mike/etc/vsftpd_user_conf/john,Page 30
19、/37,虚拟用户配置文件中的配置项,每个FTP虚拟用户都可以独立设置其权限anon_world_readable_only=NOanon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YES,“anon_world_readable_only=NO”表示用户可以浏览FTP目录和下载文件,“anon_upload_enable=YES”表示用户可以上传文件,“anon_mkdir_write_enable=YES”表示用户具有建立和删除目录的权利,“anon_other_write_enable=YES”表
20、示用户具有文件改名和删除文件的权限,Page 31/37,配置vsftpd服务器中的资源限制,vsftpd服务器中的资源使用可以进行限制max_clients=100max_per_ip=5local_max_rate=500000anon_max_rate=200000,max_clients设置项用于设置FTP服务器所允许的最大客户端连接数,值为0时表示不限制,max_per_ip设置项用于设置对于同一IP地址允许的最大客户端连接数,值为0时表示不限制,local_max_rate设置项用于设置本地用户的最大传输速率,单位为bytes/sec,值为0时表示不限制,anon_max_rate
21、设置项用于设置匿名用户的最大传输速率,单位为bytes/sec,值为0表示不限制,Page 32/37,阶段总结,vsftpd服务器中可使用匿名用户、本地用户和虚拟用户三种用户类型FTP服务器中的虚拟用户与本地用户功能类似,但更加安全vsftpd服务器中使用虚拟用户需要维护独立的用户口令库文件vsftpd中的每个虚拟用户可以建立用户配置文件用于设置独立的用户权限vsftpd中可以限制客户机对服务器资源的使用,Page 33/37,阶段练习,查看vsftpd.conf的手册页,阅读虚拟用户相关的配置项的说明查看vsftpd.conf的手册页,阅读FTP服务器资源限制相关配置项的说明,Page 3
22、4/37,本章总结,FTP服务器及基本原理,ftp命令与FTP客户端软件,安装vsftpd,vsftpd服务器的配置基本,vsftpd服务的启动和关闭,配置FTP服务器的虚拟用户,典型FTP服务器设置,Page 35/37,实验,任务1:在vsftpd服务器中配置虚拟用户帐号任务2:在vsftpd服务器中限制客户机连接数和传输速率,Page 36/37,任务1,注意事项提示1:虚拟用户的口令库文件需要先手工建立文本文件,再使用db_load命令生成提示2:配置使用虚拟用户需要手工建立PAM认证文件,Page 37/37,任务2,注意事项提示1:在vsftpd.conf配置文件中设置资源限制配置项应明确其含义,否则容易限制错对象提示2:每次对vsftpd.conf配置文件进行修改后都需要重新启动vsftpd服务使新的配置生效,