论文部分内容阅读
防火墙技术是一种比较成熟的网络安全技术,在现代的互联网安全中起着举足轻重的地位,经过多年的发展,已经演变为具有多种网络安全功能的综合安全网关,成为网络中不可缺少的基础设置。防火墙和路由器的区别在于,路由器是负责转发报文的网络设备,而防火墙是负责丢弃报文的网络设备,而对于接受的报文,防火墙也负责发送到对应的端口,在这个意义上讲,防火墙(安全网关)可代替路由器来完成连接网络的作用。状态检测技术是一种先进的过滤报文的技术,它利用TCP/IP协议本身的特点,对于报文只进行必要的检测,大大的减少了规则匹配的数量,对于提高防火墙的数据吞吐量有着里程碑式的意义。Linux作为最近崛起的操作系统,无论是在桌面应用还是服务器和嵌入式开发,都有着用户群逐渐扩大的趋势。谷歌推出的android系统,也是基于linux开发的。Linux自产生以来,就因为优秀的网络支持,适应各种各样的网络环境,并提供了对TCP/IP协议的全面支持。Linux自内核2.4以后,加入了netfilter的架构,完整的实现了状态检测技术。Netfilter的连接跟踪模块,是linux开放给用户的内核级别的API,因此可利用该技术,开发具有状态检测功能的防火墙。可以说,目前市场上大多数的防火墙产品,均是基于linux内核来开发的,甚至有些直接利用iptables配置工具来完成。本文在分析研究linux网络报文转发流程的基础上,将netfilter和连接跟踪技术进行实际的应用,首先提出了自动控制子连接流量的概念,对于研究linux内核网络模块,有着广泛的意义。本文实现的状态检测防火墙,可以运行在嵌入式系统上,作为简单的安全网关,对于保护小型网络,可以直接利用。为开源社区以及linux内核开发者提供了一套可参考的模型。