欢迎来到学术参考网

基于Linux的FTP服务器安全研究

发布时间:2015-12-14 14:28

摘 要:基于Linux环境构建的FTP服务器一直受到广大用户的好评,以Linux下的FTP服务器软件vsftpd为对象,对FTP服务器的安全隐患进行分析,并提出了对应的防范策略。

关键词:FTP服务器;安全;Linux
1 引言
  FTP文件传输服务提供了在任意两台计算机之间相互传输文件的机制,是最基本的网络服务之一。Linux操作系统具有强大的网络服务器功能,基于Linux环境构建的FTP服务器一直受到广大用户的好评。
  Linux下可选用的FTP服务器软件比较多,常见的有wu-ftpd、pureftpd、proftpd和vsftpd。wu-ftpd因为安全性太差,有非常多的远程溢出攻击,现在基本上淘汰了;pureftpd运行时需要通过与MySql结合进行用户权限的控制,比较麻烦;proftpd功能很强大,但配置烦琐,且使用中需要打补丁;vsftpd小巧轻快,安全易用,很多著名的站点都在使用vsftpd作为其FTP服务器。本文以vsftpd为例,对基于Linux的FTP服务器安全问题进行研究。
2 vsftpd简介
  vsftpd原意为“very secure FTP daemon”,是一个基于Unix类操作系统上运行的服务器的名字,它可以运行在Linux、BSD、Solaris、HP-UX以及IRIX上面,支持很多其他传统的FTP服务器所不支持的特征,如高安全性、高速、稳定、带宽限制、良好的扩展性、支持创建虚拟用户、支持IPv6、支持虚拟IP等等。
3 基于Linux的FTP的安全隐患
3.1 缓冲区溢出攻击
  缓冲区溢出漏洞是由于编程机制而导致的在软件中出现的内存错误,这种错误使得黑客可以运行一段恶意代码来破坏系统的正常运行,甚至获得整个系统的控制权。通常情况下攻击者会先攻击root程序,然后利用缓冲区溢出时发生的内存错误来执行类似“exec(sh)”的代码,从而获得root的一个Shell。当攻击者找到一种途径可以改变原程序的执行代码和流程时,攻击的危险就产生了。
3.2 拒绝服务攻击
  简称DoS(Denial of  Service),它利用TCP/IP协议的缺陷作为漏洞来进行网络攻击。拒绝服务攻击的原理简单且易于实现:向目标主机发送海量数据包,占据大量的系统共享资源,使其他的用户使用不了系统资源,或者使服务器中充斥了大量要求回复的信息,消耗网络带宽,产生服务过载而造成网络服务瘫痪。拒绝服务攻击降低了资源的可用性,攻击的结果是停止和失去服务,甚至主机崩溃。
3.3 跳转攻击
  在FTP服务器中,基于网络安全策略通常会限制某些IP地址对服务器的访问权限,攻击者的IP地址正好在限制区域内,因此不能访问FTP服务器的目录。为了克服这些限制,攻击者使用中介机器来访问攻击目标。攻击者向中介FTP目录写一个文件,该文件包含有连接到攻击目标并获得一些文件的命令。当该中介连接攻击目标时,使用它自己的地址(而不是攻击者的地址)。因此,攻击目标信任该连接的请求并返回要求的文件,于是攻击者就可以对目标展开攻击了。
4 基于Linux的FTP安全防范策略
4.1 防范缓冲区溢出攻击
  Linux下的缓冲区溢出攻击威胁既来自于软件的编写机制,也来自于Linux系统本身的特性。要想有效地防范缓冲区溢出攻击就应该从这两个方面双管其下。首先应该确保在Linux系统上运行的程序(包括系统软件和应用软件)代码的正确性,避免程序中有未检查变量、缓冲区大小及边界等情况存在。然后就是对系统设置实施有效的安全策略,如改写“”、文件禁止提供finger服务等。
4.2 防范拒绝服务攻击
  为防范这种攻击,主要采取对操作系统参数进行配置以加强系统的稳固性,增强系统的抗攻击能力。可将数据包的链接数从缺省值修改为2048或更大,这样就可以加长每次处理数据包队列的长度,从而缓解和消化更多数据包的攻击。此外,还可以把等待数据包的超时时间设置得更短,以屏蔽非法攻击。
4.3防范跳转攻击
  在TPC协议族中,小于1024的端口常被保留用于众所周知的网络服务,可是在FTP规范中对数据链接却没有限制,这样攻击者就可以通过“代理FTP”来命令服务器去攻击任何机器上的服务,从而实现网络攻击。因此为防范跳转攻击,首先要堵住漏洞,不要使服务器把数据链接到小于1024的TCP端口。另外,攻击者实施跳转攻击时一般需要首先上传一个报文到FTP服务器,然后再下载到准备攻击的服务端口上。使用适当的文件保护措施就可以阻止这种情况发生。此外,禁止使用PORT命令也是避免跳转攻击的一种方法,大多数文件传输可以仅通过PASV命令来实现。
4.4 防范端口盗用
  为了避免攻击者“猜”出下一个即将使用的端口号,可以采取以下措施:使FTP客户和服务器随机地给数据连接分配端口号,或者要求操作系统随机分配端口号,或者使用与系统无关的机制,都可以减少端口被盗用的几率。
5 结语
  在Linux系统上配置FTP服务,稳定性、安全性比较高,但由于FTP是为了共享资源、方便用户文件下载而制定的文件传输协议,所有必然有对系统读写的权利,因而它也是整个网络系统的薄弱环节,一些攻击者常常利用FTP作为侵入和破坏系统的突破口。随着互联网应用的快速增长,Linux系统下FTP服务器的安全性能受到越来越多的关注,人们对安全的要求也不断提高。
参考文献:
[1]赵洪凯.浅谈Linux系统下FTP服务器安全性的管理策略[J].延边教育学院学报,2009,23(4):80-82.
[2]梁建国,张斌,王欣伟.基于vsftpd的安全FTP服务器的构建[J].计算机与网络,2009(16):53-55.

上一篇:计算机网络安全浅谈

下一篇:对威胁信息网络安全的恶意代码的简要分析