用UC聊天和收发其它邮箱的邮件
网易POPO兴趣组点点通 交流轻...
删除“我的电脑”中的MSN共享文件...
让你的Foxmail发信有回执功能
Maxthon傲游划词翻译功能应用教程
反对腾迅“霸权主义” 让TT也...
可远程搜索桌面—Google Des...
巧恢复Maxthon未关闭网页列表
火狐 Firefox浏览器使用教程
巧用网际快车-FlashGet实现自动关...
传输快慢由我定 限制FlashFXP速度
像QQ那样 为MSN也添加永久聊...
也能做兼职秘书 迅雷的绝对另...
巧解迅雷自动下载之迷
保护邮件慎用Foxmail卸载程序
让Foxmail的特快专递更加准确
下载中断不要紧 迅雷将任务完...
节省硬盘中的资源 网易泡泡也...
Foxmail飞狐信使最新实用技巧三则
Maxthon实用插件之闹钟篇
ftp服务程序不安全因素研究(1)
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的问题。
(出处:部落中国)
