新客网WWW.XKER.COM:致力做中国最专业的网络学院!
模糊搜索
标题搜索
最新更新
新客商城
网站地图
RSS订阅
首页
新闻中心
网络学院
软件开发
站长之家
软件下载
手机学院
桌面壁纸
专题
论坛
学院:
操作系统
-
网络应用
-
服务器
-
网络安全
-
工具软件
-
办公软件
-
Web开发
-
数据库
-
网页设计
-
图形图像
-
媒体动画
-
硬件学堂
-
存储频道
-
QQ专区
您的位置:
首页
>
网络学院
>
服务器
>
Ftp服务器
> 正文:关于ftp服务程序中不安全因素研究
关于ftp服务程序中不安全因素研究
新客网
XKER.COM
2007-01-09 来源:
收藏本文
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协议时看到或在测试时的一些小心得,错漏的地方也是难免的,如果看到有什么错误的地方可以跟贴指出。
上一篇:
FTP服务器安全
下一篇:
IIS建立FTP就真的那么弱吗
【
收藏
】 【
评论
】 【
推荐
】 【
投稿
】 【
打印
】 【
关闭
】
最新相关文章
·
Serv-U的安装和基本设置技巧
·
如何限制FTP服务器实现单线程下载
·
教你在Red Hat下架设FTP服务器
·
Windows中IIS内FTP服务器高级配置
·
充分利用 FTP分类账户设置经验谈
·
用SRP服务构建Linux下FTP服务器
·
教你在Red Hat Linux 9下架设FTP服务器
·
详细解析 配置Telnet服务与配置Ftp服务
·
自动封杀非法连接FTP的IP的方法
·
什么是FTP及什么是FTP服务器
·
Serv-U FTP Server远程/本地提升权限缺陷
·
文件上传技巧
·
Win2000中如何让FTP服务器更安全
·
FTP 命令
·
ASP漏洞全接触-高级篇
·
ASP漏洞全接触-进阶篇
发表评论
(
要记得去论坛讨论,点击注册新会员
)
匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
什么是FTP及什么是FTP服务器
Win2000中如何让FTP服务器更安全
Linux下FTP的配置与应用
Serv-U FTP Server远程/本地提升权限缺陷
FTP 命令
文件上传技巧
FTP服务器端软件Serv-U教程(2)
IIS6.0下建立FTP“用户隔离”站点
内网FTP服务器架设不完全解析
ftp使用经典
BulletProof FTP Server:物美价廉
Serv-u6.0提权新招
远程修改Serv-U FTP用户的登录密码
教你在Red Hat Linux 9下架设FTP服务器
使用CesarFTP架设FTP服务器
专题教程
非主流Ps教程
磁碟机病毒专杀
AV终结者
会声会影教程
nero教程
FreeBSD使用大全
PDF阅读器
BT下载
QQ防骗术案例剖析
机器狗病毒查杀专题
搜狗拼音输入法专题
google earth专题
随机推荐
使用CesarFTP架设FTP服务器
Linux服务器设置指南-代理接入服务器(1)2
Linux下安PHP,APACHE,MYSQL,PERL方法2
关于ftp服务程序中不安全因素研究
用tar包配置高可用性vsftp(上)
FTP出错解决和分析
IIS6.0下建立FTP“用户隔离”站点
用Linux架设FTP服务器(上)
ProFtpd快速指南(二)
LINUX学习笔记--FTP服务器设置篇2
FTP服务器架设--架设篇
基于UNIX平台FTP服务器的建立 上
快速架设基于宽带的FTP服务器(上)
FTP服务器端软件Serv-U教程(6)
SERV-U 6002版安全设置全攻略(2)
实用信息推荐
常用网页广告代码全集
中国电子地图
IP查询、IP签名
免费代理IP(每日更新)
免费周公解梦大全
html互转JS
FLASH休闲小游戏
flash动画
qq搞笑表情
最新电影大片
戴尔dell笔记本电脑订购
戴尔dell台式机电脑订购