论文部分内容阅读
以Internet为主要标志的网络技术飞速发展,为人们的日常生活和社会生产的发展带来了巨大的便利。随着网络深入到社会生活的方方面面,网络信息安全的问题已经成为人们关注的焦点。防火墙技术作为保护网络信息安全的主要技术之一,目前已经成为构建安全可靠网络的常用方法。随着新一代互联网协议——IPv6的产生和即将到来的大规模应用,进行IPv6防火墙的研究是必要而且迫切的。相对于传统的包过滤和应用网关技术,状态检测具有速度快,安全性较高的特点,是目前主流的防火墙技术。Linux作为开放源码的操作系统,有着广泛的应用。其2.4和2.6内核版本不仅支持IPv6协议栈,而且所采用的Netfilter/iptables框架引入了模块化的构建方式,可以方便地实现IPv6防火墙。本论文的主要目的就是对基于Linux操作系统的IPv6防火墙状态检测技术进行研究和实现。围绕这一目标,主要做了以下三个方面的工作:①在分析IPv4状态检测技术和Linux防火墙框架Netfilter/iptables的基础上。通过在Netfilter的NF_IP6_FORWARD HOOK点挂接自定义状态检测函数,以可加载内核模块的方式实现IPv6防火墙状态检测模块。②基于Patricia tries构造半开连接表来处理TCP连接建立的过程,利用端口队列来跟踪每个半开连接,按照先进先出的原则对半开连接进行数量统计和状态检测。模拟实验表明,引入这种方法的IPv6防火墙状态检测模块能够比较有效的抵御Syn Flood攻击。③为了提高连接状态表匹配的效率,采用一种新的哈希函数以解决IPv6 128 bit地址造成的连接状态表过大的问题。并且基于IP流的思想,在哈希表的头结点中增加一个指向上次匹配成功的冲突链结点的指针,以提高下次匹配的查找速度。本文基于理论分析和技术实现,对IPv6防火墙状态检测技术进行了研究和实现并优化了性能,为IPv6下的网络安全做出了有效的探索。