Article View: cn.comp.hacker
Article #13259防火墙技巧――忽略RESET报文
From: RSS Feed For GFW Blog
Date: Mon, 12 Oct 2009 16:36
Date: Mon, 12 Oct 2009 16:36
38 lines
4141 bytes
4141 bytes
作者:williamlong 来源:[月光博客][1] 我们知道,IDS([入侵检测系统][2]) 的主动响应系统"阻止会话"的机制是:IDS将会向通信的两端(服务器端和客户端)各发送三个TCP RESET包,此时通信双方的堆栈将会把这个RESET包解释为另一端的回应,然后停止整个通信过程,释放缓冲区并撤销所有TCP状态信息,从而实现主动 切断连接的目的。 [1]: http://www.williamlong.info/archives/1954.html [2]: http://www.williamlong.info/archives/1315.html 这时,客户端浏览器看到的现象通常是,打开某一个网页,浏览器提示"连接被重置"而无法查看页面。 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文件][3], 原文很长,内容较多。我自己在Ubuntu系统上,在终端中使用iptables测试,的确可以实现忽略客户端RESET报文的功能,Firefox浏览 器再也没有出现"连接被重置"的信息,可惜由于服务器端RESET信号没有被忽略,导致客户端不能与服务端同步握手,浏览还是有问题,不过,如果服务器段 都可以识别并忽略这些伪造的RESET报文,那么两边的通讯就会正常了。 [3]: http://www.cl.cam.ac.uk/%7Ernc1/ignoring.pdf 敬请订阅我们:http://feeds2.feedburner.com/chinagfwblog,在twitter跟随我们:http://twitter.com/cdt。翻墙工具介绍和下载:http://www.sesawe.org/和http://www.sesawwe.net/。![][4] [4]: https://blogger.googleusercontent.com/tracker/5500297126185736776-1689289501861144815?l=www.chinagfw.org Contentes HTML URL: http://www.chinagfw.org/2009/10/reset.html Send By Feed RSS2eMail BOT V2.65 Admin By Liuxing99
Technical Details
Message-ID:
<4ad39eac$1@news.liuxing99.3322.org>Path:
arc1-ca.pugleaf.net!g2news2.google.com!news2.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!61.160.212.82.MISMATCH!www.shinco.com!news.liuxing99.3322.org!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Thread: 85629cb6ee,d1a979456e81e14b,start X-Google-Attributes: gid85629cb6ee,public,usenet X-Google-NewGroupId: yes X-Google-Language: Chinese,GB Path: arc1-ca.pugleaf.net!g2news2.google.com!news2.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!61.160.212.82.MISMATCH!www.shinco.com!news.liuxing99.3322.org!not-for-mail From: RSS Feed For GFW Blog <gfwblog-list@szb66.vicp.net> Newsgroups: cn.comp.hacker Subject: 防火墙技巧――忽略RESET报文 Date: Mon, 12 Oct 2009 16:36:00 -0000 Organization: A poorly-installed InterNetNews site Lines: 38 Message-ID: <4ad39eac$1@news.liuxing99.3322.org> NNTP-Posting-Host: 58.208.6.107 Mime-Version: 1.0 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 X-Trace: www.shinco.com 1255382709 26080 58.208.6.107 (12 Oct 2009 21:25:09 GMT) X-Complaints-To: news@www.shinco.com NNTP-Posting-Date: Mon, 12 Oct 2009 21:25:09 +0000 (UTC) Received-Path: <gfwblog-list@szb66.vicp.net> X-Feed-By: news.liuxing99.3322.org User-Agent: Feed RSS2eMail BOT V2.65 X-Gateway-Administrator: bianlule@bianlule.3322.org X-Gateway-From: dnews-gateway@news.liuxing99.3322.org