让一个匿名ftp服务答应使用者储存档案是有风险存在的。我们强烈提醒网站不要自动建立一个上传目录,除非已考虑过相关的风险。CERT/CC的事件回报成员接获许多使用上传目录造成非法传输版权软件或交换帐号与密码信息的事件。也接获恶意地将系统档案灌报造成denial of 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),我们只给匿名的使用者进入目录的权限(chmod751~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), 如此便可知道开放上传的目录是否有问题。
评论加载中…
![]() |