论文部分内容阅读
由于传统的内部防火墙信任内网防御外网,在制定安全策略的时候会针对内部网络和外部网络确定不同的过滤规则。而近些年,来自内部网络的攻击数量明显增加,边界防火墙却无法抵御这种攻击,因而主机防火墙显得非常重要。本文在对主机防火墙的各种技术对比的基础之上,结合计算机网络安全的本质与要求,对包过滤防火墙这一传统的防火墙体系结构进行了分析与改进,提出一种充分利用现有技术与实验条件的包过滤防火墙系统的设计方案,即在保留传统网络边界防火墙的同时,设计一种驻留在内部网络终端的主机防火墙,将防火墙延伸到内部网络的终端,从而有效防范来自网络内部的非法访问与恶意破坏。 本文所设计的防火墙在方法上主要基于有状态包过滤技术,利用协议类型、源IP地址与目的IP地址、TCP和UDP端口号等信息对计算机内部网络终端发出的数据包进行过滤,在资源节省与网络安全之间获得良好平衡。防火墙的过滤规则可由管理员根据需要自行增加与删除,包过滤工作由控制台统一进行,对网络终端用户透明。防火墙规则集利用巴克斯-诺尔范式(BNF)对包过滤规则的形式化描述进行了定义,BNF的精确性与平台无关性保证了规则只要按照BNF规范编写,就可以被严格的执行。 在包拦截部分首先讨论了一些Windows平台下包拦截的底层实现技术,在对它们的优缺点进行比较后,采用了内核模式的TDI过滤驱动程序和NDIS中间层驱动程序技术进行实现。TDI过滤驱动程序可以得到访问网络的进程的详细信息,并能够拦截网络协议栈内底层协议的数据包;NDIS中间层驱动程序不但可以拦截IP数据包而且还能拦截非IP数据包,扩大了数据包过滤的范围。正因为有这些优点,所以采用这样的技术开发的主机防火墙更为安全。软件程序代码统一在Visual C++6.0环境下编写而成。