网络安全参考 | UNIX参考 | GPS参考 | 无线参考 | 在线手册 | OSBUG.ORG | SUNNY-NETWORK.COM
网站地图 RSS订阅
高级搜索 收藏本站
Home | 业界动态 | 防火墙 | IDS/IPS | VPN | PKI | Honeypot | Hacker/Intruder | 黑客技术 | 破解技术 | 加密技术 | 病毒防护 | 木马 | 反垃圾邮件 | 反流氓软件 | 漏洞 | 无线安全 | UNIX | Windows | 安全编程 | 安全软件 | TPM/TCG | 数据恢复 | 企业信息安全 | 个人信息安全
 当前位置: Home > 防火墙 > 文章  
状态检测工作机制
文章来源: Internet 文章作者: 未知 发布时间: 2002-04-24   字体: [ ]
 

  一、状态监测应该如何工作

  无论何时,一个防火墙接收到一个初始化TCP连接的SYN包,这个带有SYN的数据包被防火墙的规则库检查。该包在规则库里依次序比较。如果在检查了所有的规则后,该包都没有被接受,那么拒绝该次连接。一个RST的数据包发送到远端的机器。如果该包被接受,那么本次会话被记录到状态监测表里。该表是位于内核模式中的。随后的数据包(没有带有一个SYN标志)就和该状态监测表的内容进行比较。如果会话是在状态表内,而且该数据包是会话的一部分,该数据包被接受。如果不是会话的一部分,该数据包被丢弃。这种方式提高了系统的性能,因为每一个数据包不是和规则库比较,而是和状态监测表比较。只有在SYN的数据包到来时才和规则库比较。所有的数据包与状态检测表的比较都在内核模式下进行所以应该很快。

  二、状态监测表建立?

  那么初始化一个连接时使用ACK行不行?它又会出现什么问题呢?如果一个包不在状态检测表中时,那么该包使用规则库来检查,而不考虑它是否是SYN、ACK或其他的什么包。如果规则库通过了这个数据包,本次会话被添加状态检测表中。

  所有后续的包都会和状态检测表比较而被通过。因为在状态监测表中有入口,后续的数据包就没有进行规则检查。而且我们在做状态监测表项时,也需要考虑时间溢出的问题。使用这种方法,一些简单的DOS攻击将会非常有效地摧毁防火墙系统。

  那么状态检测表建立应该怎么进行呢?

  首先,对于一个会话我们使用什么来区分。从最简单的角度出发,我们可以使用源地址、目的地址和端口号来区分是否是一个会话。当通过使用一个SYN包来建立一个会话时,防火墙先将这个数据包和规则库进行比较。如果通过了这个数据连接请求,它被添加到状态检测表里。这时需要设置一个时间溢出值,参考CHECK-POINT FW-1的时间值,将其值设定为60秒。然后防火墙期待一个返回的确认连接的数据包,当接收到如此的包的时候,防火墙将连接的时间溢出值设定为3600秒。对于返回的连接请求的数据包的类型需要做出判断,已确认其含有SYN/ACK标志。(注:对于时间溢出值,应该可以由用户自行设定。)在进行状态监测时,对于一个会话的确认可以只通过使用源地址、目的地址和端口号来
区分,在性能设计上如果能满足要求,也应该考虑对于TCP连接的序列号的维护,虽然这样可能需要消耗比较多的资源

  三、连接的关闭

  在连接被通讯双方关闭后,状态监测表中的连接应该被维护一段时间。

  下面的处理方法可以作为在连接关闭后状态检测行为的参考。当状态监测模块监测到一个FIN或一个RST包的时候,减少时间溢出值从我们缺省设定的值3600秒减少到50秒。如果在这个周期内没有数据包交换,这个状态检测表项将会被删除,如果有数据包交换,这个周期会被重新设置到50秒。如果继续通讯,这个连接状态会被继续地以50秒的周期维持下去。这种设计方式可以避免一些DOS攻击,例如,一些人有意地发送一些FIN或RST包来试图阻断这些连接。

  四、UDP的连接维护

  虽然UDP连接是无状态的,但是仍然可以用类似的方法来维护这些连接。当一个完成规则检查的数据包通过防火墙时,这次会话被添加到状态检测表内,并设置一个时间溢出值,任何一个在这个时间值内返回的包都会被允许通过,当然它的SRC/DST的IP地址和SRC/DST的端口号是必须匹配的。

  五、ICMP的状态检测问题

  对于一些ICMP包的分析,在许多防火墙系统中都是做的很不够的,在对做状态检测时是需要对ICMP的内容进行分析的。对于什么样的ICMP可以发出和放入在状态监测模块中如何确定是关键。下面只是列出了什么样的ICMP包是安全的,可以作为对状态检测模块ICMP支持的参考。

  #define ICMP_ECHOREPLY 0 /* Echo Reply */
  
  Needed if you want to allow ping, so you can allow that for trusted peers
  outgoing and incoming for all to allow them to ping the internet

 
推荐文章
·怎么样给企业级防火墙“体检”
·构建Linux系统下U盘路由器、防火
·安全基础:防火墙功能指标详解
·没有防火墙是可行的 但是并不理
·2005年度千兆防火墙公开比较评测
·没有防火墙的安全:明智还是愚蠢?
·使用防火墙封阻应用攻击的八项技
·防火墙与路由器的安全性比较
·防火牆安全管理
·netfilter: Linux 防火墙在内核
·再谈防火墙及防火墙的渗透
·一种新的穿透防火墙的数据传输技
 

 
共3页: 上一页 1 [2] [3] 下一页
↑返回顶部   打印本页   关闭窗口↓  

Google
 
Web oldhand.org unixreference.net meshmea.org
热点文章
·网络安全保护神——免费
·浴火坚“墙”——12款防
·防火墙技术综述
·教你命令行下配置Window
·2005年度千兆防火墙公开
·构建Linux系统下U盘路由
·Windows Vista系统防火
·Win XP SP2自带防火墙设
相关分类
相关文章
·防火墙功能指标详解
·基于NAT的混合型防火墙
·Check Point防火墙简介
·防火墙技术综述
·怎样用ipchains构建防火
·IPCHAINS参数介绍
·怎么样给企业级防火墙“
·全面透视防火墙
更多...
 
 

Copyright(c) 2001-2008 OLDHAND ORGANIZATION, All Rights reserved.
Power by DedeCms 织梦内容管理系统
$Id: article_article.html,v 1.3 2007/02/10 12:00:37 yjs Exp $