找回密码
 FreeOZ用户注册
查看: 4282|回复: 11
打印 上一主题 下一主题

[网络技术] 纯纯的技术文章转载:忽略RESET报文

[复制链接]
跳转到指定楼层
1#
发表于 14-10-2009 00:18:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?FreeOZ用户注册

x
我们知道,IDS(入侵检测系统)的主动响应系统“阻止会话”的机制是:IDS将会向通信的两端(服务器端和客户端)各发送三个TCP RESET包,此时通信双方的堆栈将会把这个RESET包解释为另一端的回应,然后停止整个通信过程,释放缓冲区并撤销所有TCP状态信息,从而实现主动切断连接的目的。
  这时,客户端浏览器看到的现象通常是,打开某一个网页,浏览器提示“连接被重置”而无法查看页面。
  IDS在逻辑上是与路由器分离的,很难从路由传输队列中去除或者延迟“有害”报文,通过RESET关闭连接相对较为简单而易于实现,那么,如何绕过IDS“会话阻止”机制呢?
  标准的TCP协议,客户端收到RESET包后会中断连接,但是,如果终端两边的节点同时忽略TCP RESET,那样,即使触发了IDS,防火墙也对HTTP传输没有任何影响,这就通过忽略RESET包实现了突破IDS的“会话阻止”功能。
  在Linux可以用iptables的此命令实现:
  iptables -A INPUT -p tcp --tcp-flags RST RST -j DROP
  来丢弃传入的RST置位报文。如果是FreeBSD的ipfw那么命令是这样的:
  ipfw add 1000 drop tcp from any to me tcpflags rst in
  因此,在网页传输过程中,可以将中间夹杂的一些防火墙的TCP复位报文完全忽略,因为它们对客户端的TCP/IP栈没有任何影响,客户端仍然继续接收网页。
  以上思路翻译自Ignoring the Great Firewall of China,点这里可以下载其PDF文件,原文很长,内容较多。我自己在Ubuntu系统上,在终端中使用iptables测试,的确可以实现忽略客户端RESET报文的功能,Firefox浏览器再也没有出现“连接被重置”的信息,可惜由于服务器端RESET信号没有被忽略,导致客户端不能与服务端同步握手,浏览还是有问题,不过,如果服务器段都可以识别并忽略这些伪造的RESET报文,那么两边的通讯就会正常了。
---------------------------------------------
请大家保持队形,进行纯纯的技术讨论
回复  

使用道具 举报

2#
发表于 14-10-2009 09:37:58 | 只看该作者
RESET本身是有作用的,对于服务器来说,要是忽略报文则服务器开销会加大很多。原因很简单,客户端本身会因为各种原因无法正常完成TCP链接的正常结束(比如,客户应用程序非法操作,出现未捕捉的异常等),操作系统的TCP堆栈对于这种情况一般会简单地发送RESET了事(因为处理FINAL报文的程序已经不存在了)。这时候,服务器需要马上释放与该客户端连接相关的资源。

但是就GFW的RESET而言,有一点可以利用的就是它发送的RESET报文没有正确的序列号。这样的话,服务器端遇到RESET时可以首先检查其序列号是否合法,如果不合法就加以忽略。
回复  

使用道具 举报

3#
发表于 15-10-2009 22:26:42 | 只看该作者
小范围的没问题,如果是大范围的用的话,估计会被gwf发现的。 那样就失去了意义。
回复  

使用道具 举报

4#
发表于 16-10-2009 11:12:21 | 只看该作者


帮助 GFW 查缺补漏是每个中国人的义务

热泪庆祝 GFW 把 http://www.python.org/download 封了
回复  

使用道具 举报

5#
发表于 16-10-2009 12:53:39 | 只看该作者
原帖由 yuba 于 16-10-2009 11:12 发表


帮助 GFW 查缺补漏是每个中国人的义务

热泪庆祝 GFW 把 http://www.python.org/download 封了


为啥这个夜风呢?
回复  

使用道具 举报

6#
 楼主| 发表于 16-10-2009 12:59:08 | 只看该作者
原帖由 四香油饼 于 16-10-2009 11:53 发表


为啥这个夜风呢?

估计受python.com影响 (小盆友不要点)
回复  

使用道具 举报

7#
发表于 16-10-2009 13:22:26 | 只看该作者
我估计是因为python出了一个开源代理的软件
回复  

使用道具 举报

8#
发表于 16-10-2009 14:11:58 | 只看该作者
原帖由 netstat_an 于 16-10-2009 13:22 发表
我估计是因为python出了一个开源代理的软件


可能,在此警告好事者

不要试图把这个软件用最OO的汉语实现

否则,GFW将封杀所有。。。
回复  

使用道具 举报

9#
发表于 16-10-2009 14:17:44 | 只看该作者
我试了一下.com的,打不开,似乎是被俺们公司的GFW给和谐了 看来澳洲也不够自由么。

This site has been blocked by the network administrator.
URL: http://www.python.com/
Block reason: Forbidden Category "ornography"
回复  

使用道具 举报

10#
 楼主| 发表于 16-10-2009 15:30:12 | 只看该作者

回复 #9 四香油饼 的帖子

告诉你不要去点,被开除了别怪我
回复  

使用道具 举报

11#
发表于 17-10-2009 11:33:38 | 只看该作者
晕 , 原来是个成人站,是被黑了还是咋的? 不过我在国内可以直接打开啊。
回复  

使用道具 举报

12#
 楼主| 发表于 17-10-2009 14:55:52 | 只看该作者

回复 #11 bfox 的帖子

不是被黑,人家python.com的历史说不定比python.org还久呢
回复  

使用道具 举报

您需要登录后才可以回帖 登录 | FreeOZ用户注册

本版积分规则

小黑屋|手机版|Archiver|FreeOZ论坛

GMT+11, 5-3-2025 08:58 , Processed in 0.019496 second(s), 28 queries , Gzip On, Redis On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表