日期:2011-02-15 02:11:00  来源:本站整理

若何巧妙设定安全的匿名FTP[服务器安全]

赞助商链接



  本文“若何巧妙设定安全的匿名FTP[服务器安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

以下的设定方法是由过去很多网站积累的经验与倡议构成.我们认为可以让有个体需求的网站拥有差别设定的挑选.
设定匿名FTP
A.FTP daemon
网站必须肯定目前利用的是最新版本的FTP daemon.
B设定匿名FTP的目录
匿名ftp的根目录(~ftp)和其子目录的拥有者不能为ftp帐号,或与ftp相同群组的帐号.这是 普通常见的设定问题.假定这些目录被ftp或与ftp相同群组的帐号所拥有,又没有做好避免写入的保护,入侵者便大概在此中增添文件或改正别的文件.目前很多网站都拥有root帐号,假如让匿名FTP的根目录与子目录的拥有者是root,所属族群(group)为system?,如此只有root有写入的权利,这能帮忙你保持FTP服务的安全???
以下是一个匿名ftp目录的设定典范:
drwxr-xr-x 7 root system 512 Mar 1 15:17 ./
drwxr-xr-x 25 root system 512 Jan 4 11:30 ../
drwxr-xr-x 2 root system 512 Dec 20 15:43 bin/
drwxr-xr-x 2 root system 512 Mar 12 16:23 etc/
drwxr-xr-x 10 root system 512 Jun 5 10:54 pub/
全部的文件和链接库,分外是那些被FTP daemon利用和那些在 ~ftp/bin 与~ftp/etc 中的文件,应当像上面典范中的目录做相同的保护.这些文件和链接库除了不该该被ftp帐号或与ftp相同群组的帐号所拥有之外,也必须避免写入.
C.我们激烈倡议网站不要利用系统中 /etc/passwd 做为~ftp/etc 目录中的密码文件或将系统中 /etc/group 做为 ~ftp/etc目录中的群组文件.在~ftp/etc目录中安排这些文件会使得入侵者获得它们.这些文件是可自定的并且不是用来做存取掌握.
我们倡议你在 ~ftp/etc/passwd 与 ~ftp/etc/group 利用替换的文件.这些文件必须由root所拥有.DIR号令会利用这替换的文件来显示文件及目录的拥有者和群组名称.网站必须肯定 ~/ftp/etc/passwd档中没有包含任何与系统中 /etc/passwd文件中相同的帐号名称.这些文件应当仅仅包含需求显示的FTP阶层架构中文件与目录的拥有者与所属群组名称.此外,肯定密码字段是"整理"过的.比方利用「*」来代替密码字段.
以下为cert中匿名ftp的密码文件典范
ssphwg:*:3144:20:Site Specific Policy Handbook Working Group::
cops:*:3271:20:COPS Distribution::
cert:*:9920:20:CERT::
tools:*:9921:20:CERT Tools::
ftp:*:9922:90:Anonymous FTP::
nist:*:9923:90:NIST Files::
以下为cert中匿名ftp的群组文件典范
cert:*:20:
ftp:*:90:
II..在你的匿名ftp供应可写入的目录
让一个匿名ftp服务答应利用者储存文件是有风险存在的.我们激烈提醒网站不要自动成立一个上传目录,除非已考虑过相关的风险.CERT/CC的事件回报成员接获很多利用上传目录造成不法传输版权软件或交换帐号与密码信息的事件.也接获恶意地将系统文件灌报造成denialof service问题.

本节在谈论操纵三种办法来办理这个问题.第一种办法是利用一个改正过的FTP daemon.第二个办法是供应对特定目录的写入限制.第三种办法是利用独立的目录.

A. 改正过的FTP daemon
假定你的网站筹划供应目录用来做文件上传,我们倡议利用改正过的FTP daemon对文件上传的目录做存取的掌握.这是避免利用不需求的写入区域的最好的办法.以下有一些倡议:
1.限定上传的文件无法再被存取, 如此可由系统管理者检测后,再放至于得当位置供人下载.
2.限制每个联机的上传资料大小.
3.按照现有的磁盘大小限制数据传输的总量.
4.增添登录记录以提早发现不当的利用.
若您欲改正FTP daemon, 您应当可以从厂商那边拿到程序代码, 大概您可从下列地方获得公开的FTP程序原始码:
wuarchive.wustl.edu ~ftp/packages/wuarchive-ftpd
ftp.uu.net ~ftp/systems/unix/bsd-sources/libexec/ftpd
gatekeeper.dec.com ~ftp/pub/DEC/gwtools/ftpd.tar.Z
CERT/CC 并没有正式地对所提到的FTP daemon做检测、评价或背书.要利用何种FTP daemon 由每个利用者或组织负责决意,而CERT/CC倡议每个机关在安装利用这些程序之前, 能做一个完好的评价.
B. 利用保护的目录
假定你想要在你的FTP站供应上传的服务, 而你又没办法去改正FTP daemon, 我们便可以利用较复杂的目录架构来掌握存取.这个办法需求事前筹划并且无法百分之百避免FTP可写入区域遭不当利用, 不过很多FTP站仍利用此办法.
为了保护上层的目录(~ftp/incoming), 我们只给匿名的利用者进入目录的权限(chmod 751~ftp/incoming).这个行动将使得利用者可以更改目录位置(cd),但不答应利用者检视目录内容.Ex:
drwxr-x--x 4 root system 512 Jun 11 13:29 incoming/
在~ftp/incoming利用一些目录名只让你答应他们上传的人知道.为了要让别人不易猜到目录名称, 我们可以用设定密码的法则来设定目录名称.请不要利用本文的目录名称典范(避免被有心人士发现您的目录名, 并上传文件)
drwxr-x-wx 10 root system 512 Jun 11 13:54 jAjwUth2/
drwxr-x-wx 10 root system 512 Jun 11 13:54 MhaLL-iF/
很重要的一点是,一旦目录名被有意无意的泄露出来, 那这个办法就没什么保护作用.只要目录名称被大部份人知道, 就无法保护那些要限定利用的区域.假定目录名被大家所知道,那你就得挑选删除或更改那些目录名.
C. 只利用一颗硬盘:
假定你想要在你的FTP站供应上传的服务, 而你又没办法去改正FTP daemon,您可以将全部上传的资料集合在同一个挂(mount)在~ftp/incoming上的文件系统.可以的话 ,将一颗单独的硬盘挂(mount)在~ftp/incoming上.系统管理者应持续检视这个目录(~ftp/incoming), 如此便可知道开放上传的目录能否有问题.
限制FTP用户目录
匿名FTP可以很好地限制用户只能在规定的目录范围内活动,但正式的FTP用户默许不会遭到这种限制,这样,他可以安闲在根目录、系统目录、其他用户的目录中读取一些答应其他用户读取的文件.
若何才能把指定的用户象匿名用户一样限制在他们自己的目录中呢?以下我们以red hat和wu-ftp为例做一介绍.
1 成立一个组,用groupadd号令,普通可以就用ftp组,大概任何组名.
-----相关号令: groupadd ftpuser
-----相关文件: /etc/group
-----相关帮忙: man groupadd
2 成立一个用户,如testuser,成立用户可用adduser号令.假如你已在先前成立了 testuser这个用户,可以直接编辑/etc/passwd文件,把这个用户加入到ftpuser这个组中.
-----相关号令: adduser testuser -g ftpuser
-----相关文件: /etc/passwd
-----相关帮忙: man adduser

3 改正/etc/ftpaccess文件,加入guestgroup的定义: guestgroup ftpuser我是这样改的,加的是最后5行
compress yes all
tar yes all
chmod no anonymous
delete no anonymous
overwrite no anonymous
rename no anonymous
chmod yes guest
delete yes guest
overwrite yes guest
rename yes guest
guestgroup ftpuser
除了加 guestgroup ftpuser 这行,其他4行也要加上,不然用户登陆后,固然可以到达用户不能返回上级目录的目的,但是却只能上传,不能覆盖、删除文件!

-----相关号令: vi /etc/ftpaccess
-----相关文件: /etc/ftpaccess
-----相关帮忙: man ftpaccess,man chroot
4 向这个用户的根目录下拷贝必要的文件,拷贝ftp server自带的目录,把 /home/ftp/下的Bin,lib两个目录拷贝到这个用户的根目录下,因为一些号令(主如果ls)需求Lib支持,不然不能列目录和文件.
-----相关号令:
cp -rf /home/ftp/lib /home/testuser;cp -rf /home/ftp/bin /home/testuser
5 别的可别忘了关掉用户的telnet权,不然就白做了噢. 怎么不让用户telnet呢?很简单: 在/etc/shells里加一行/dev/null ,然后可以直接编辑/etc/passwd文件,把用户的shell设置为/dev/null便可以了.
-----相关号令: vi /etc/passwd
这一步可以在步骤2 成立一个用户时就先做好.
-----相关号令: adduser testuser -g ftpuser -s /dev/null
小经验:只要把/home/ftp下的bin和lib目录cp到/etc/skel目录里,今后新建用户城市自动把bin和lib目录CP到用户目录里,当然你也可以加上public_html目录和cgi-bin目录.
经过以上设置,testuser这个用户的全部FTP行动将限制在他的/home/testuser目录中.

  以上是“若何巧妙设定安全的匿名FTP[服务器安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 手把手教你若何巧妙删除那些删不掉的视频文件
  • 若何巧妙设定安全的匿名FTP
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .