主机防火墙软件系统的开发与设计随着IT技术的飞速发展,企业网络正迅速普及,同时企业网络的安全问题也越来越突出.分布式防火墙为解决企业网络的安全问题提出了一整套解决方案.该文分析对比了传统边界防火墙和分布式防火墙(DFW)的优缺点,从而明确了DFW中主机防火墙的任务及特点.该课题目标是完成一个DFW系统中的主机防火墙软件.DFW中主机防火墙的主要任务可归纳为以下几点:网络数据包拦截、安全策略接收、日志发送模块以及"心跳"发送.该文首先分析了在用户态和核心态实现数据包过滤的几种方法,包括基于Winsock 2 SPI HOOK和NDIS HOOK的两种网络封包截获等方法.在比较了这几种方法的优劣之后,决定在主机防火墙采用SPI HOOK和NDIS HOOK两种技术结合实现数据包过滤.其次,根据DFW拓扑结构的需要,设计了"心跳"序列方案,并设计了软件实现方法.在以上方案设计基础上,该文实现了基于Windows 2000操作系统的主机防火墙软件设计.SPI HOOK技术就是在Socket中插入开发过滤的服务提供者接口程序,它工作在应用层,CPU占用率低,效率高,而且跨Windows平台.NDIS HOOK是替换掉NDIS函数库中系统函数的地址,使之指向自己编写的过滤函数.NDIS HOOK拦截的是较为底层的数据包,不容易被渗透.结合这两种技术可以拦截所有的网络数据包.在主机防火墙中,应用程序、动态链接库以及驱动程序之间要经常交换安全策略、数据包信息等数据,为解决数据频繁交换问题,该文给出了一种行之有效的方法.另外主机防火墙安全策略、主机入侵检测安全策略以及"心跳"更新都是策略中心向主机发送的数据,因此主机防火墙需接收几种不同类型的数据,为了有效利用主机资源,该文给出了一种解决方法;此时该文给出了一种主机的日志包括防火墙与入侵检测日志正常上报到日志服务器的技术途径,合理解决了日志服务器的负载和网络吞吐量的问题.在主机防火墙经单独调试之后,将其整合到分布式防火墙系统中进行整体联调.联调结果证明,开发的主机防火墙功能样机已经具备较好的功能,稳定性良好,达到了预期的设计目标.