论文部分内容阅读
本文是基于专用协议栈的多层网络防火墙的研究与实现。本防火墙系统以Linux操作系统为平台,通过模块加载的方式动态修改操作系统的网络流程,建立自己的专用协议栈,并以透明、安全、高效为主要目标,建立起从数据链路层、网络层到传输层,层层防御的多层防火墙系统。 就通用操作系统上构建的软件防火墙而言,大多数都是采用通用的TCP/IP协议栈,不可避免带来了一些隐患。我们摒弃了通用的TCP/IP协议栈,严格按照RFC相关文档重新设计、实现了一套专用的TCP/IP协议栈。 由于防火墙的广泛应用,黑客们已经开发出更加巧妙的攻击手段,从底层通信协议到应用层程序的所有内在弱点都成为攻击目标。所以为了保护网络的安全,有必要提供多个层面上的安全措施。多层防火墙具体体现在二个方面:一是从数据包过滤的角度来看,从数据链路层、网络层到传输层,层层设防,将不合法的包尽早过滤,从而减轻防火墙的处理负担,提高效率和安全性;二是从黑客入侵的角度来看,从信息收集、端口扫描到发起DoS攻击整个流程进行防范。 在数据链路层,通过对ARP协议的改进,解决了以下三个问题:(1)实现了透明模式,并采用ARP代理技术,解决了防火墙跨网段管理的问题。(2)利用ARP保护基于MAC绑定的局域网中已关机主机的IP地址。(3)通过对IP与MAC地址的绑定和对ICMP重定向报文的处理,有效地对ARP欺骗进行防范。 在网络层,本文提出了一种高效安全的防火墙分片处理策略。利用第一个分片处理结果来处理其它分片包,减轻了防火墙的负载,并创造性地在防火墙系统中应用伸展树算法对分片进行重组,提高了重组的效率和降低对存储空间的需求。 对于防御拒绝服务攻击与端口扫描,我们在网络层与传输层分别采取相应的措施进行防范。并首次提出了在Linux内核中嵌入监测代码和防范程序,实现了对Smurf攻击的实时监测与防范。 最后,对论文所作的工作进行了总结,并指出了进一步要做的研究工作。