已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
概述使用文件传输协议(FTP)来通过网络在计算机之间传输文件是很普遍的一种方法。几乎在所有的平台上面都有FTP 的客户端和服务端的软件,因此用FTP来传送文件也是很方便的一个方法。 有很多配置FTP服务器的不同方法。其中一种是把FTP配置成只对系统中的用户开放的私有服务器,这也是FTP的默认配置。一个私有的FTP服务器只运行系统中的用户访问,而且可以对用户进行访问控制,这样可以给予或拒绝特定用户的访问权限。另一种是把FTP服务器配置成匿名服务器。匿名FTP服务器允许任何人(不管有没有帐号)访问服务器并传输文件。因为可能存在潜在的安全问题,必须小心配置使得只允许访问系统中特定的目录。 在这一节里,我们把FTP配置成“chrooted”的方式,这种配置运行用户访问,例如:Web站点的目录,但是不允许他们访问更高一层的目录。注意事项下面所有的命令都是Unix兼容的命令。源路径都为“/var/tmp”(当然在实际情况中也可以用其它路径)。安装在RedHat Linux 6.1下测试通过。要用“root”用户进行安装。wu-ftp的版本号是2.6.0。编译和安装 把软件包(tar.gz)解压缩:rootdeep# cp wu-ftpd-version.tar.gz /var/tmprootdeep# cd /var/tmprootdeep# tar xzpf wu-ftpd-version.tar.gz编译和优化转到wu-ftpd的新目录下,运行下面的命令:编辑“ftpcount.c”文件(vi +241 src/ftpcount.c),改变下面这一行:#if defined (LINUX)改为:#if defined (LINUX_BUT_NOT_REDHAT_6_0)编辑“pathnames.h.in”文件(vi +42 src/pathnames.h.in),改变下面这一行:#define _PATH_EXECPATH /bin/ftp-exec改为:#define _PATH_EXECPATH /usr/bin/ftp-exec我们把“ftp-exec”从“/bin”目录改到“/usr/bin”目录下。message “message”设置当用户登录或转到一个目录的时候会收到什么消息。可以设定多个消息。命令的格式为:message path whenpath表示需要显示的文件的完整路径名,when和“readme”中的when意思一样。还需要注意的是消息文件的路径名也是相对于匿名ftp目录的。例如:message /home/ftp/.welcome.msg LOGINcompress、tar、chmod、delete、overwrite、rename如果这些都不设置,那么就使用默认值,也就是对所有人都是“yes”。下面例子中的设置的意思是给guest组chmod、delete、overwrite和rename文件的权力,所有人都可以使用compress和tar。例如:compress yes alltar yes allchmod yes guestdelete yes guestoverwrite yes guestrename yes guestlog commands因为安全上的原因需要记录用户使用的每一个命令。“log commands”的格式是:log commands typelisttypelist是用逗号隔开的字串,表示哪些用户的命令需要记录下来,字串的取值可以是:anonymous、guest或real。例如:要记录real和guest用户的每一个命令,可以这么表示:log commands real,guest这些记录都保存在“/var/log/message”文件中。log transfers因为安全文件需要把文件的传输都记录下来。“log transfers”的格式是:log transfers typelist directionstypelist是用逗号隔开的字串,表示哪些用户的命令需要记录下来,字串的取值可以是:anonymous、guest或real。direction也是用逗号隔开的字串,设置需要记录的文件传输的方向,可以选择的两个传输方向是“inbound”(向内)和“outbound”(向外)。page例如,用下面表示记录所有real和guest用户的“inbound”和“outbound”方向的文件传输: log transfers real,guest inbound,outbound这些记录保存在“/var/log/xferlog”文件中。guestgroup这个命令用来设置guest组,每一行只能有一个成员。例如:guestgroup ftpadminguestgroup webmasterlog security用来设置记录real、guest或anonymous用户违反安全规则的行为。log security typelisttypelist是用逗号隔开的字串,字串的取值可以是:anonymous、guest或real。“real”表示真正在ftp服务器上有帐号的用户,“anonymous”表示匿名用户,“guest”表示guest用户。例如:log security real,guestrestricted-uid、restricted-gid、guest-root这些用来设置是否允许real和guest用户访问家目录之外的目录。格式为:guest-root root-dirrestricted-uid uid-rangerestricted-gid gid-range例如:guest-root /home/ftp ftpadmin webmasterrestricted-uid ftpadmin webmasterrestricted-gid adminftp webmasterroot-dir设置chroot环境的用户路径。在一行里可以有多个uid地范围。如果为用户设置了guest-root,那么该用户的家目录就在“root-dir/etc/passwd”文件中设定,而“/etc/passwd”文件中的设定是无效的。当“ftpadmin”和“webmaster”被改变了根目录(chrooted)到“/home/ftp”目录下,他们就被限制在各自的家目录下而不能访问别人的文件。greeting设置用户登录时候的欢迎信息。格式为:greeting full|brief|terse“greeting full”是默认的设置显示主机名和ftp daemon地版本,“greeting brief”显示主机名,“greeting terse”简单地显示“FTP server ready”。例如:greeting tersekeepalive yes|no设置socket的TCP SO_KEEPALIVE参数。这样在必要的时候可以断开网络连接。“yes”有效,“no”无效。最好设成“yes”:Keepalive yespage配置“/etc/ftphosts”文件“/etc/ftphosts”文件为每一个用户建立规则,指定允许用户从某个主机登录ftp服务器,或者不允许用户从某个主机登录ftp服务器。 创建“ftphosts”文件(touch /etc/ftphosts),加入下面这几行:# Example host access file# Everything after a # is treated as comment,# empty lines are ignoredallow ftpadmin 把文件的权限改为600:rootdeep# chmod 600 /etc/ftphosts每一行可能是:allow username addrglob或deny username addrglob“allow”允许用户用username用户名,从addrglob地址访问ftp服务器。addrglob可以包含多个地址。“deny”禁止用户名为username的用户,从addrglob地址访问ftp服务器。addrglob可以包含多个地址。配置“/etc/ftpusers”文件“/etc/ftpusers”文件设置哪些用户不允许连接到ftp服务器。创建“ftpusers”文件(touch /etc/ftpusers),加入下面这几行:rootbindaemonadmlpsyncshutdownhaltmailnewsuucpoperatorgamesnobody把文件的权限设成600:rootdeep# chmod 600 /etc/ftpusers配置“/etc/ftpconversions”文件“/etc/ftpconversions”是用来控制当传输文件的时候是否进行压缩。创建“ftpconversions”文件(touch /etc/ftpconversions),在文件中加入::.Z: : :/bin/compress -d -c %s:T_REG|T_ASCII:O_UNCOMPRESS:UNCOMPRESS: : :.Z:/bin/compress -c %s:T_REG:O_COMPRESS:COMPRESS:.gz: : :/bin/gzip -cd %s:T_REG|T_ASCII:O_UNCOMPRESS:GUNZIP: : :.gz:/bin/gzip -9 -c %s:T_REG:O_COMPRESS:GZIP: : :.tar:/bin/tar -c -f - %s:T_REG|T_DIR:O_TAR:TAR: : :.tar.Z:/bin/tar -c -Z -f - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+COMPRESS: : :.tar.gz:/bin/tar -c -z -f - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+GZIP: : :.crc:/bin/cksum %s:T_REG:CKSUM: : :.md5:/bin/md5sum %s:T_REG:MD5SUM把文件的属性改为600:rootdeep# chmod 600 /etc/ftpconversions配置“/etc/pam.d/ftp”文件配置“/etc/pam.d/ftp”文件使其支持PAM安全验证。page创建“ftp”文件(touch /etc/pam.d/ftp)并加入: #%PAM-1.0auth required /lib/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeedauth required /lib/security/pam_pwdb.so shadow nullokauth required /lib/security/pam_shells.soaccount required /lib/security/pam_pwdb.sosession required /lib/security/pam_pwdb.so配置“/etc/logrotate.d/ftpd”文件配置“/etc/logrotate.d/ftpd”文件使得日志文件每周自动循环更新。创建“ftpd”文件(touch /etc/logrorate.d/ftpd)并加入:/var/log/xferlog # ftpd doesnt handle SIGHUP properlynocompress配置ftp使其使用inetd超级服务器(用于实现tcp-wrappers)tcp-wrappers用来启动和中止ftpd服务。当inetd执行的时候,它会从默认为“/etc/inetd.conf”的配置文件读入配置信息。配置文件中每一行中的项用TAB或空格隔开。编辑inetd.conf文件(vi /etc/inetd.conf),加入并验证是否存在下面这一行: ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a注意:更新完“inetd.conf”文件之后要发给inetd一个SIGNUP信号,运行下面的命令:rootdeep /root# killall -HUP inetd编辑“hosts.allow”文件(vi /etc/hosts.allow)加入这一行:in.ftpd: 这表示IP地址为“”并且主机名为“”的计算机允许访问ftp服务器。FTP管理工具ftpwhoftpwho显示当前连接到ftp服务器上的所有用户。这个命令菜单输出类似“/bin/ps”的输出,其格式为:pid time tty connection details其中pid表示ftp daemon用来处理这次文件传输的进程号,time表示用户什么时候连接到ftp服务器上,tty总是用问号(?)表示因为是通过ftp而不是telnet连接,connection details告诉连接是来自哪里、用户是谁以及用户现在在干什么。下面是ftpwho输出的一个例子:rootdeep# ftpwhoService class openarch:5443 ? S 0:00 ftpd: : admin: IDLE- 1 users ( 20 maximum)page可以看到现在有一个用户登录(最多可以有20个用户同时登录),这个用户的用户名是admin来自。 ftpcountftpcount是ftpwho的简化版,只显示登录到ftp服务器的用户数以及最多允许多少个用户登录。下面是一个例子:rootdeep# ftpcountService class openarch - 1 users ( 20 maximum)保证ftp服务器的安全首先确保已经创建了“/etc/ftpusers”文件,这个文件用来设置不允许哪些用户登录ftp服务器,其中至少要包括:root、bin、daemon、adm、lp、sync、shutdown、halt、mail、news、uucp、operator、games、nobody以及所有Linux发行商在系统中提供的默认帐号。如果想禁止匿名ftp服务,把ftp用户从password文件中移去,再用下面的命令确定在系统中没有安装anonftp-version.i386.rpm软件包:rootdeep# rpm -q anonftp.upload命令在默认情况下,WU-FTPD服务器给所有的guest用户上载的权限。当用户登录的时候,被改变根目录(chroot)到“/home/ftp”就不能访问这个目录之外的地方。但是“/home/ftp”目录中的一些地方还是需要保护,不能让用户随便访问。在我们配置的ftp服务器中为“/home/ftp”目录下的“bin”、“etc”、“dev”和“lib”目录。我们不允许用户上载文件到这些目录。所以我们要为这些目录设置访问权限,可以在“/etc/ftpaccess”文件中设置上载权限。在我们的例子中是这样设置的:upload /home/ftp/* / noupload /home/ftp/* /etc noupload /home/ftp/* /dev noupload /home/ftp/* /bin no (require only if you are not using the “-enable-ls” option)upload /home/ftp/* /lib no (require only if you are not using the “-enable-ls” option)noretrieve命令最好禁止某些用户从“/home/ftp”目录下的某些子目录中下载文件,可以用“noretrieve”命令在“/etc/ftpaccess”文件中设置。noretrieve /home/ftp/etcnoretrieve /home/ftp/devnoretrieve /home/ftp/bin (require only if you are not using the “-enable-ls” option)noretrieve /home/ftp/lib (require only if you are not using the “-enable-ls” option)“.notar”文件无论是否允许即时的目录打包(on-the-fly tar),都必须保证用户不能打包(tar)禁止上载的目录。在“/home/ftp”目录的每个子目录中都创建“.notar”文件。rootdeep# touch /home/ftp/.notarrootdeep# chmod 0 /home/ftp/.notarrootdeep# touch /home/ftp/etc/.notarrootdeep# chmod 0 /home/ftp/etc/.notarrootdeep# touch /home/ftp/dev/.notarrootdeep# chmod 0 /home/ftp/dev/.notarrootdeep# touch /home/ftp/bin/.notar (require only if you are not using the “-enable-ls” option)rootdeep# chmod 0 /home/ftp/bin/.notar (require only if you are not using the “-enable-ls” option)rootdee
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 冷链物联网技术-第3篇-洞察与解读
- 注会税法预测试题及答案
- 2025年高一巴蜀物理试卷及答案
- 2025年医疗财务专员招聘面试题库及参考答案
- 2025年彩票网络安全专员岗位招聘面试参考题库及参考答案
- 2025年建筑师人员岗位招聘面试参考题库及参考答案
- 车载协作路由优化策略-洞察与解读
- 2025年客户解决方案顾问岗位招聘面试参考题库及参考答案
- 2025年文化传播经理岗位招聘面试参考试题及参考答案
- 2025年效率提升专员岗位招聘面试参考题库及参考答案
- 2025中国航天科工二院二十五所秋季校园招聘笔试历年常考点试题专练附带答案详解试卷2套
- 慢病的防治知识
- 热力设备安装调试方案
- 银行贷款项目尽职调查完整报告模板
- 2025年哈市冰城骨干教师考试试题及答案
- 文化安全方面的案例
- 网络安全市场2025年市场竞争格局变化可行性分析报告
- PRP技术治疗骨关节疼痛
- 口腔门诊护士培训课件
- 高压用电安全培训课件
- 2025至2030中国高模量碳纤维行业产业运行态势及投资规划深度研究报告
评论
0/150
提交评论