服务器 频道

实战:全面保障FTP服务器的安全

    3)权限
 
    为了限制ftp用户只能访问目录/home/ftp和它的子目录,需要对ftp用户隐藏文件结构的其余部分。要让目录/home/ftp呈现为ftp用户的主目录,实际的主目录和其他的目录结构则对ftp用户隐藏。可以用命令chroot加上参数ftp,使得目录/home/ftp呈现为主目录。
 
    ftp目录的权限应该设置为允许ftp用户访问。对于所有者、组和另外的用户,有三组权限为读、写和执行。为了允许ftp用户访问,组和目录的其他权限应设置为可读和执行。执行权限允许ftp用户访问目录,读权限则允许列出目录中内容。目录不允许ftp用户具有写权限,没人想让ftp用户能删除或添加一个目录。对于拥有可以下载的文件的目录/home/ftp/pub来说,它必须拥有读和执行的权限。
 
    作为目录的所有者,需要写权限以便能添加新文件或子目录。当然,只有当做改变时才需要写权限。为了进一步的安全,当不需要做改动时,能设置这些目录对所有的用户包括所有者都只开放读和执行的权限。用命令chmod加上数字555和目录名将设置对所有的用户为读和执行权限。
 
    对于目录/home/ftp/bin中文件的权限和其他指定的ftp目录的权限有时需要更多的限制。一些文件需要执行,而另一些文件只要被读。目录/home/ftp/bin或/home/ftp/lib中的文件ls和rld需要执行,可以设置权限为555。在目录/home/ftp/etc中的文件象passwd和group可以设置权限为111,即只读的权限。

    4)监测和记录
 
    用ftpwho命令可以显示通过FTP正在与系统连接的所有用户的进程信息。下面是ftpwho输出的一个例子:
    Service class all
    10448?S0:00
    ftpd:vestax.domain.com:anonymouws/sshah@domain.com:DLE
    10501?S0:00
     ftpd:toybox.domain.com:heidi:PETR mklinux-ALL.sit.bin-2 user(-1 maximum)
 
    在这里,可以看到有两个用户登录进入系统(本例没有对用户数进行限制)。第一个用户是一个称sshah@domain.com的匿名用户,他目前没有执行任何操作;第二个用户名为heidi,他目前正在获取mklinux-ALL.sit.bin文件。用ftpcount命令可以查看当前每个组的用户个数。显示信息如下:
 Serviceclassall-2user(-1maximum)
 
    最后,建议详细记载ftp登录,以防不测。

适度隔离保证安全
   
    FTP被我们广泛应用,自建立后其主框架相当稳定,二十多年没有什么变化,但在Internet迅猛发展的形势下,其安全问题日益突出,因此对于FTP的使用首先应做到正确地配置FTP,防止系统文件被窃取或者目录下程序进程被启动。

    其次,有条件的地方将FTP服务器与网络上的其他应用隔离,这样即便被攻击也不会影响整个系统。最后注意定期观察FTP服务器的运行情况,检查硬盘的大小,并做出相应处理。

    上述对FTP服务器的安全性能分析在一定程度上缓解了FTP服务的安全问题,而RFC2228.txt中提出的FTP扩展,提供了强大的认证和集成,并引入新的可选命令、应答和文件传输加密,使得控制和数据连接中的安全性大大提高。

0
相关文章