在Linux下建立强大的FTP搜索引擎
作者:佚名 来源:stuun.com 时间:2009-02-09 16:34: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:
在你的匿名ftp提供可写入的目录, 让一个匿名ftp服务允许使用者储存文件是有风险存在的。我们强烈提醒网站不要自动建立一个上传目录,除非已考虑过相关的风险。CERT/CC的事件回报成员接获许多使用上传目录造成非法传输版权软件或交换帐号与密码信息的事件。也接获恶意地将系统文件灌报造成denialof service问题。