【赛迪网独家特稿】在众多网络应用中,FTP(文件传输协议)有着非常重要的地位。互联网一个十分重要的资源就是软件资源,而各种各样的软件资源大多数都放在FTP服务器中。与大多数互联网服务一样,FTP也是一个客户机/服务器系统。
FTP服务器端软件三剑客,也是Linux下的FTP软件目前使用较多的是Wu-ftpd、Vsftpd和ProFTPD。这三种Linux服务器端的FTP软件在因特网中的占有率达到了95%以上。本文将分别介绍其安全策略。
FTP服务面临的安全隐患
FTP服务面临的安全隐患主要包括缓冲区溢出攻击(Buffer Overflow)、数据嗅探和匿名访问缺陷等。
◆ 缓冲区溢出攻击。缓冲区溢出漏洞是一个困扰了安全专家30多年的难题,是现在入侵的一个重要手段。缓冲区溢出好比是将十公斤货物放进一个只能装五公斤的容器里,简单说是由于编程机制而导致的、在软件中出现的内存错误。这样的内存错误使得黑客可以运行一段恶意代码来破坏系统的正常运行,甚至获得整个系统的控制权。
◆ 数据嗅探。FTP是传统的网络服务程序,在本质上是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而且,这些服务程序的安全验证方式也是有其弱点的,就是很容易受到“中间人”(man-in-the-middle)这种方式的攻击。截获这些口令的方式主要为暴力破解,另外使用sniffer程序监视网络封包捕捉FTP开始的会话信息,便可顺手截获root密码。
小知识:所谓“中间人”的攻击方式,就是“中间人”冒充真正的服务器接收您传给服务器的数据,然后再冒充您把数据传给真正的服务器。服务器和您之间的数据传送被“中间人”转手后做了手脚之后,就会出现很严重的问题。
◆ 匿名访问缺陷。匿名访问方式在FTP服务当中被广泛的支持,但是由于匿名FTP不需要真正的身份验证,因此很容易为入侵者提供一个访问通道,配合缓冲区溢出攻击,会造成很严重的后果。例如,Linux下第一个病毒:Ramen蠕虫就是利用匿名访问和缓冲区溢出攻击对著名的Wu-ftpd服务器造成了极大的威胁。
Wu-ftpd服务器安全策略
1.版本升级和安全自定义
升级陈旧的Wu-ftpd版本,因为早期版本(2.6.1以前)存在的安全漏洞。
特别是对于一个新配置的Wu-ftpd服务器来说使用稳定版本是明智的选择,可以在其官方网站下载其源代码进行编译。编译命令是:
./configure option1 option2
其中,option1是第一个选项,option2是第二个选项,依此类推可以包括多个选项。
Option主要安全相关选项说明:enable-paranoid,启用paranoid模式可以去除一些安全隐患,如不规范的站点地址命令、文件覆盖和删除等;disable-upload,使文件上传功能无效;disable-overwrite,使文件覆盖功能无效;disable-anonymous,使匿名FTP功能无效;disable-virtual,使虚拟FTP功能无效。
说明:如果您不希望提供匿名FTP功能使用命令:“./configure--disable-anonymous”,然后执行“make;make install”命令完成安装。
2.使用/etc/ftpaccess文件中的选项保护Wu-ftpd
etc/ftpaccess文件中提供了一些选项,可以提高Wu-ftpd的安全性。
(1)增强日志系统
尽量记录所有日志,一般情况Wu-ftpd会记录所有用户类别(real,真实;anonymous,匿名;guest,来宾)的上传和下载情况。下面是常用的日志设定方法,如果希望了解所有数据传输情况,可以在/etc/ftpaccess加入一行:
log transfers anonymous,real,guest inbound,outbound
(2)限制对敏感文件和目录的访问。可以在/etc/ftpaccess文件中使用noretrieve目录限制对敏感文件和目录的访问。如果希望禁止用户修改核心目录“:/etc”下的任何文件,可以在/etc/ftpaccess加入一行:
noretrieve /etc
如果Wu-ftpd服务器同时运行Apache服务器,同样要确保其配置文件不能被匿名用户下载,可以在/etc/ftpaccess加入:
noretrieve noretrieve .htaccess .htpasswd class=anonymous
1
2
3
4
下一页>>