咨询电话:023-88959644    24小时服务热线:400-023-8809
NEWS CENTER ·
新闻动态
关注中技互联 关注前沿

探索关于ftp服务程序中那些不安全因素

发表日期:2012-06-29    文章编辑:山城阿修    浏览次数:5    标签:

  FTP(File Tranfer Protocol)是一种很古老的协议来的了,自unix始就不断有运用的了,FTP由于自身不但能够提供多用户同时下载的功用外,还能够让用户上载文件,在不时的开展中,还能够运用ftp远程执行命令,由于FTP普通需求帐户和密码的,而且关于不同的帐户可提供不同的权限,由于这么多的功用,所以不断至今还是相当盛行的。不过,以下我会说说FTP效劳程序很可能呈现的平安方面的问题。

  FTP的衔接普通是有两个衔接的,一个是客户程和效劳器传输命令的,另一个是数据传送的衔接。FTP效劳程序普通会支持两种不同的形式,一种是Port形式,一种是Passive形式(Pasv Mode),我先说说这两种不同形式衔接方式的分别。

  先假定客户端为C,效劳端为S.

  Port形式:

  当客户端C向效劳端S衔接后,运用的是Port形式,那么客户端C会发送一条命令通知效劳端S(客户端C在本地翻开了一个端口N在等着你进去数据衔接),当效劳端S收到这个Port命令后,就会向客户端翻开的那个端口N停止衔接,这种数据衔接就生成了。

  Pasv形式:

  当客户端C向效劳端S衔接后,效劳端S会发信息给客户端C,这个信息是(效劳端S在本地翻开了一个端口M,你如今去衔接我吧),当客户端C收到这个信息后,就能够向效劳端S的M端口停止衔接,衔接胜利后,数据衔接也树立了。

  从上面的解释中,大家应该能够看到两种形式主要的不同是数据衔接树立的不同,关于Port形式,是客户端C在本地翻开一个端口等效劳端S去衔接树立数据衔接;而Pasv形式就是效劳端S翻开一个端口等候客户端C去树立一个数据衔接。

  两种形式看起来其实都是没什么问题,但其实都是躲藏着平安方面的问题的。

  关于Port形式,这种形式多是用于由于效劳端有防火墙,无法运用Pasv在效劳端翻开端口让客户端去衔接而被逼运用的,但由于衔接自身是由效劳端自身向外衔接的,这自身就存在了一个平安的问题了,由于假如这个衔接一旦被hijack,由于衔接是由效劳器自身向外连的,防火墙将不会有任何动作去处置这个衔接。

  关于Pasv形式,看起来是比Port形式平安很多不过认真想一想的话,还是会发现它自身的问题的。由于效劳端会翻开一个端口等客户端去衔接,但假如这个翻开的端口并没有检测衔接的IP能否那个是那个客户端的IP,那么平安问题的呈现了。由于有很多FTP效劳器翻开的数据端口等客户端衔接是随机的,但都会在一定范围内的,例如是20000-21000这些端口间。假如FTP效劳器并没有在接纳数据端口的衔接时检测衔接过来的 IP是不是曾经是合法登陆的用户的话,那么其他并没有登陆的用户就很有时机写程序hijack这个衔接了。以下给一个例子阐明一下:

  效劳端S接纳到客户端C(IP=12.12.12.12)的命令衔接运用的是Pasv形式,效劳端S翻开了端口20000等候数据衔接,在这时,一位黑客(IP=11.11.11.11)扫描了效劳端S的20000到20100的端口,发现了20000端口翻开了,马上就衔接上去效劳端S的20000这个端口了。在这状况中,假如效劳端S并没有检测11.11.11.11这个IP是不是合法登陆的用户的IP的话,那么真正的客户端C的数据衔接就被人 hijack了,假如客户端C发送给效劳端S的命令是下载某个文件的话,那么那个文件只会发送到那个黑客中去了。这种状况下,黑客能够是随机扫描并 hijack到不同的衔接,或者能够同时对那些端口不停的衔接,那么合法用户的衔接就会很多被hijack了,hijack后黑客会做什么,那就视乎那位黑客的才能和想做什么了。

  处理:

  关于Port形式,由于那是FTP自身的问题,所以没有什么处理的好办法。或者能够的话,只是允许Pasv形式而不允许Port形式。

  关于Pasv形式,只需在接纳到数据衔接时检测IP是不是合法用户的恳求,就能够防止衔接被hijack的问题。

  以上hijack衔接的都属于比拟高级的"黑客"才有时机完成的,由于关于不同的FTP效劳程序是有所不同的,而且普通是需求本人先研讨过那个FTP效劳程序然后再写程序才有可能完成的。以下说说普通用户都能够由于写FTP效劳程序关于平安的不注重而停止经过FTP而入侵到系统的问题。

  这个问题其实平常都是很常见的了,普通都是关于用户登入FTP后能够跳转到的目录的权限限制问题。

  很多用过的FTP程序(最根本的FTP效劳,只提供上传,下载,连用户名和密码都不需求那种),如anonymouse ftp(aftp)那类,基本不会限制登陆用户能够跳转到的目录,就是说登入的用户能够随意查看系统不同目录的文件,下载不同目录的文件或者上传文件到任何目录中去的,能够下载任何文件或上传任何文件到任何目录,这问题有多严重,我也不需求说了吧。

  有的FTP程序,固然提供了用户名和密码,但一样没有关于用户可访问目录停止任何限制,xfocus的出品,xftpd就是一个很好的例子,用户登入后,一样是能够上面所说的,用户可 以下载系统任何文件或上传任何文件到任何目录中去的。

  有的FTP,就是关于要限制可访问的目录的检测不够全面,招致登入用户能够运用一些特殊的字符而能够访问到限制访问的目录中去。好的一个例子就是旧版的 slimftpd了。这种状况普通称为"Directory Traveling Vulnerability",很多旧版的共享的FTP效劳程序都曾存在过这些问题的。

  假如你要树立一个FTP效劳器,我能够给的倡议就是选择一个比拟稳定和平安的FTP程序(当然能够思索本人写的),然后在真正投入运用前关于上面所提及到的平安问题都本人检测一下,假如是本人写的话能够发布些免费版本(不是全功用的)给用户去测试一下,测试没问题后再投入正式运用。

  上面所写都是在和朋友开发FTP效劳程序时研讨FTP协议时看到或在测试时的一些当心得,错漏的中央也是难免的,假如看到有什么错误的中央能够跟贴指出。

如没特殊注明,文章均为中技互联原创,转载请注明来自www.zjcoo.com
上一篇:web服务器安全设置配置-超全攻略,超详细~ 下一篇:已经是最后一篇了
相关新闻

CopyrightZJCOO technology Co., LTD. All Rights Reserved.    

渝ICP 备11003429号

  • qq客服
  • 公众号
  • 手机版
  • 新浪微博