防火墙设计中的一些重点问题(1)

80酷酷网    80kuku.com

  

  1.方案:硬件?还是软件?

  现在防火墙的功能越来越多越花哨,如此多的功能必然要求系统有一个高效的处理能力。

  防火墙从实现上可以分为软件防火墙和硬件防火墙。软件防火墙以checkpoint公司的Firewall-I为代表,其实现是通过 dev_add_pack的办法加载过滤函数(Linux,其他操作系统没有作分析,估计类似),通过在操作系统底层做工作来实现防火墙的各种功能和优化。国内也有一些所谓的软件防火墙,但据了解大多是所谓“个人”防火墙,而且功能及其有限,故不在此讨论范围。

  在国内目前已通过公安部检验的防火墙中,硬件防火墙占绝大多数。硬件防火墙一种是从硬件到软件都单独设计,典型如Netscreen防火墙不但软件部分单独设计,硬件部分也采用专门的ASIC集成电路。

  另外一种就是基于PC架构的使用经过定制的通用操作系统的所谓硬件防火墙。目前国内绝大

  多数防火墙都属于这种类型。

  虽然都号称硬件防火墙,国内厂家和国外厂家还是存在着巨大区别。硬件防火墙需要在硬件和软件两方面同时下功夫,国外厂家的通常做法是软件运算硬件化,其所设计或选用的运行平台本身的性能可能并不高,但它将主要的运算程序(查表运算是防火墙的主要工作)做成芯片,以减少主机CPU的运算压力。国内厂家的防火墙硬件平台基本上采用通用PC系统或工业PC架构(直接原因是可以节省硬件开发成本),在提高硬件性能方面所能做的工作仅仅是提升系统CPU的处理能力,增大内存容量而已。现在国内防火墙的一个典型结构就是:工业主板+x86+128(256)M内存+DOC/DOM+硬盘(或不要硬盘而另增加一个日志服务器)+百兆网卡 这

  样一个工业PC结构。

  在软件性能方面,国内外厂家的差别就更大了,国外(一些著名)厂家均是采用专用的操作系统,自行设计防火墙。而国内所有厂家操作系统系统都是基于通用的 Linux,无一例外。各厂家的区别仅仅在于对Linux系统本身和防火墙部分(2.2内核为ipchains,2.4以后内核为netfilter)所作的改动量有多大。

  事实上,Linux只是一个通用操作系统,它并没有针对防火墙功能做什么优化,而且其处理大数据量通信方面的能力一直并不突出,甚至比较低下(这也是 Linux一直只是低端服务器的宠儿的重要原因,我自己认为,在这一点上它还不如BSD系列,据说国外有用BSD做防火墙的,国内尚未见到)。现在绝大部分厂家,甚至包括号称国内最大的天融信,在软件方面所作的工作无非也就是系统有针对性的裁减、防火墙部分代码的少量改动(绝大部分还是没有什么改动)和少量的系统补丁。而且我们在分析各厂家产品时可以注意这一点,如果哪个厂家对系统本身做了什么大的改动,它肯定会把这个视为一个重要的卖点,大吹特吹,遗憾的是似乎还没有什么厂家有能力去做宣传(天融信似乎有一个类似于checkpoint的功能:开放式的安全应用接口 TOPSEC,但它究竟做了多少工作,还需要去仔细了解)。



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: