当前位置:系统之家 > 资讯首页 > 网络技术 > 如何忽略RESET报文?您所不知道的防火墙小技巧

如何忽略RESET报文?您所不知道的防火墙小技巧

2012-12-04 来源:本站整理 我要评论(0)

用手机看

扫描二维码查看并分享给您的朋友

  我们知道,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栈没有任何影响,客户端仍然继续接收网页。

您看完本文的心情是:

热门软件

  • 电脑软件
  • 手机软件
  • 手机游戏
更多>

用户评论

(已有0条评论)
表情
注:您的评论需要经过审核才能显示哦,请文明发言!
还没有评论,快来抢沙发吧!
返回顶部