好文档 - 专业文书写作范文服务资料分享网站

开发硬件防火墙的主要步骤

天下 分享 时间: 加入收藏 我要投稿 点赞

开发硬件防火墙的主要步骤

这里说的虽然是硬件防火墙,但几乎所有的工作都是软件工作。硬件防火墙的核心是软件。

在开发前,首先要清楚知道自已要需要的是什么类型的防火墙。同为硬件防火墙,大致可以分为高端以千兆为代表的主火墙,中端的百兆企业防火墙,以及低端家庭-小办公室的防火墙(SOHU-SMB)。这三个级别的防火墙的开发方式有很大的不同。高端千兆防火墙的代表产品包括Netscreen的5000系列防火墙,以及Nodia-CheckPoint的IP720以上的产品,这级防火墙能够适应千兆要求的作业,吞吐量至少在600M以上。作为国内生产商目前要推出真正的千兆防火墙是很困难的,详情请参考:

为什么实现千兆防火墙很困难

而作为低端家庭-小办公室产品的防火墙,主要受的是硬件成本的压力。这一级产品包括如Netscreen的系列,Fortigate的FG200和FG300,以及一些市场上的拨号器、宽带路由器都可以归属这档防火墙。工作特点多是单进单出,主要用在小局域网进出互联网的控制。考虑到一般公司出入互联网的通道充其量也就几兆,即使是LAN用户或CABLE MODEM,公共出口也仍是几兆。因此,自适应十兆/百兆的单进出小防火墙基本上可以满足要求。事实上有些几百人的公司使用win98+sysgate拨号,也是自我感觉良好,可见这一档次的上网防火墙性能要求并不高;价格也是维持在两万元以下。但对于使用X86架构的防火墙来说,要求再低硬件也是有几千元的;连上软件成本,这两万元简直无法维持。

因此,这一级防火墙的主要开发方式,是选择合适的嵌入式系统,通常是Linux,连硬件和软件整套买进来,自已添加其中的防火墙应用程序。这种防火墙主要的系统开发工作由各嵌入系统的供应商完成,而系统功能也弱,留给生产商的软件施展空间也不大,所以更象是一项硬件采购项目。连同最低采购限额(一般是一千)和软件开发,大致在一百万左右就可以拿下一个产品。这种防火墙,虽然也是“硬件防火墙”,但不是我们本文的重点。

本文介绍的,是中档的企业级百兆防火墙的开发的主要步骤。这一级防火墙,是目前企业采购的主要对象,也是最需要的产品类型。国产防火墙,基本

1 / 3

上集中在这个区间,操作系统一般选用开源的Linux或者BSD;相比之下,BSD的应用程序升级速度不算快,所以大部分防火墙选用的是Linux。

要决定开发一个百兆的防火墙,需要选定一款合适的服务器主板,或者工控机,另外就是要选定一个好的网卡,通常是服务器专用网卡。虽然象Linux 这样的操作系统可以自动适应不同的主板,(只要它符合象PC2000这样的标准),Linux的最新内核也总能支持较新的主板的性能,(如PIII的超线程);但每个主板和CPU之间还是有少许不同的;作为一个防火墙,除非对极端性能要求不是太严格,否则,需要针对主板和CPU的一些特性,如寄存器,SMP,超线程等等对内核进行针对性的修改和优化,否则,默认的内核就只能使用这些主板/CPU最基本的部分。举个例子说,防火墙有一个重要的性能指标叫最大会话数速率,或称每秒最大生成会话数,如果使用普适形的内核用到P3CPU上,能够达到的最大数值大致也就只有几千;但经过对针对主板设计(这种说明可以从主板和CPU厂商获取)进行优化,可以把性能提高到3-5万左右。同样,单纯升级主板和CPU不见得能提高性能,象把防火墙从P3升级到P4,如果没有支持P4的特殊性能,如超线程,最大会话能力就仍与P3没有区别,不如不升值,还可以减点成本。而专门的优化,则可以把性能达到50万,这也是这类防火墙的使用Intel架构主板目前所能达到的极限。针对选定硬件的优化工作尽管独立于防火墙开发的主体软件工作,一般情况下也不会显出它的必要性,但当防火墙进行极端的使用环境或评测环境时,显出的差距就非常大。针对网卡的开发驱动程序除了优化性能外,另一个目的就是要把防火墙与网关绑定在一起,以免被盗版。这个驱动程序与定造的防火墙内核一起,就令盗版显得困难得多了。

防火墙软件的开发工作主体就是防火墙管理软件的开发。对此,架构师要明白自已到底要开发那一种防火墙,防火墙的管理思路是什么。在几年前这种开发显得简单,就是用一些web调用的程序,(另一种办法是用dephi 写windows程序,通过特定端口服务控制防火墙,调用预设程序,原理也是一样的),直接调用Linux的防火墙管理工具如ipchains;其余的工作主要就是预先编好若干类的默认配置(相当于template)。因此开发难度不算大,十来个人一年半载总能完成;大批国产防火墙就是这样开发出来的。这种防火墙,对于熟悉Linux防火墙的高手来说是不必要的,自已用Ipchains就可以达到同样的目的。因此,今天这种防火墙已经摆不上台面了。今天的防火墙主要是从便于管

2 / 3

理着手,着眼于管理员可以较易对大量、复杂、多半的政策进行维护,这就需要开发“面向对象管理的防火墙”。这样一来,使用把ipchains/iptables单纯用PHP或delphi图形化是不足够的,事实上,这时侯单纯使用如iptables已经很难满足要求,开发者常常必须开发自已的象iptables那样的防火墙管理工具。这部分的工作非常庞大。

作为防火墙的载体的操作系统和防火墙的内核也是一个工作重点。防火墙作为网络的第一道防线,不可以使用默认设置的操作系统,除了最必要的服务以外,所有东西都必须删除。

因此,企业级防火墙基本上是使用的是嵌入式操作系统的开发方式,通通常是形成一个在内存中运行的安全操作系统,如同一个无盘的工作站。防火墙必须长时间无故障工作,还要应付可能有的突然断电等现象,所以,一般情况下禁止连接系统硬盘,以免造成断电损坏。防火墙的固存一般都不大,16M到32M就绰绰有余了。有些防火墙厂商没有能力做到这一步,就使用大容易的FLASH作为系统盘,其实是非常危险的。原因在于flash的写性能差,可写次数只在千次数量级,而Unix类的文件系统读与频繁,因此极易造成flash上数据的丢失;而且一旦发生断电关机,如果仍然有系统盘安装在目录上,很可能造成文件系统的损坏,最终结果,即使最后可以抢救过来,也会给用户防火墙质量不过关的印象。防火墙软件系统的测试是一项最耗时最耗力的工作,占了整个开发成本至少一半以上,任何一个测试通不过,都要重新debug,重新测试,直到测试完全通过为止。如果一个模块测试返工三次就通过,那个程序员一定是很优秀的;如果通过六七次,实在很正常;就算十次才通过,也不算是丢脸的。在这种反反复复的工作中,开发者就会发现,象前文说的那样把程序分成几个独立的层面分别开发,分别测试,文档完整,具有无可比拟的优势。否则,这样的开发工程那怕一千人做,做一百年都做不完。

只有完成测试工作,防火墙就算过关了。整个工程100人如果能够在一年里做完,就要谢天谢地了。开发一个企业级防火墙需要上千万人民币,各位朋友现在是不是理解一点了?同样,在几年前几个人做个管理界面调用ipchains,当然也是一个防火墙,的确也不是弄虚作假。只不过,在于各个厂商的选择而已。

3 / 3

开发硬件防火墙的主要步骤

开发硬件防火墙的主要步骤这里说的虽然是硬件防火墙,但几乎所有的工作都是软件工作。硬件防火墙的核心是软件。在开发前,首先要清楚知道自已要需要的是什么类型的防火墙。同为硬件防火墙,大致可以分为高端以千兆为代表的主火墙,中端的百兆企业防火墙,以及低端家庭-小办公室的防火墙(SOHU-SMB)。这三个级别的防火墙的开发方式有很大的不同。高端千兆防火墙的
推荐度:
点击下载文档文档为doc格式
0gpfs7vxq10vngk58yua7wp9920csk00zsw
领取福利

微信扫码领取福利

微信扫码分享