隧道机制下的图形防火墙实现

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:renxin216
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:本文首先分析了隧道机制本身容易引起地址欺骗攻击,而当前防火墙往往无法抵御这样的网络攻击,针对这样的缺陷,笔者通过改进netfilter机制实现了适用于过渡网络的防火墙功能。同时采用GIMP Toolkit+2.0(GTK+2.0)设计了针对该防火墙的图形界面,从而能方便地配置IPv4或IPv6防火墙过滤规则。最后利用隧道机制搭建过渡网络环境进行防火墙功能测试,验证了方案的有效性。
  关键词:隧道;netfilter;GTK;防火墙
  中图分类号:TP393文献标识码:A文章编号:1009-3044(2007)18-31536-01
  Implementation of Graphic Firewall under Tunneling Mechanisms
  DAI Xiao-miao,LIU Ying,ZHANG Si-dong
  (School of Electronics and Information Engineering,Beijing Jiaotong University,Beijing 100044,China)
  Abstract:Tunneling mechanisms may introduce spoofing attack which today firewalls can not stand against.In order to solve such a problem,authors implement a firewall suitable for networks during the period of IPv4/IPv6 transition by improving netfilter.Then authors design a graphical interface of firewall during this period with GIMP Toolkit+2.0 (GTK+2.0),thus conveniently setting filtering rules for users. Lastly,the solution is tested whether it is effective in the transitional environment.
  Key words: tunneling;netfilter;GTK;firewall
  
  目前接入IPv6网络的方式主要是隧道机制和双协议栈机制,其中隧道机制是将IPv6的分组封装到IPv4的分组中,封装后的IPv4分组源地址和目的地址分别是隧道入口和出口的IPv4地址,并将报头的“协议”字段设置为41,表明该分组的负载是一个IPv6分组。在隧道的出口处,再将IPv6分组解封并转发到目的地。由于IPv6分组隐藏在IPv4报头之后,而当前防火墙又无法识别隐藏着的IPv6分组是否非法,因此往往无法抵御类似的地址欺骗攻击,严重地影响了网络性能。基于这样的安全需求,本文设计的防火墙不仅能够识别“协议”字段为41的数据包,而且能根据封装在IPv4分组的IPv6分组信息对数据包进行过滤,此外本文还开发了相应的图形界面,方便了用户操作。
  
  1 防火墙功能分析与实现
  
  Linux提供了一个防火墙工具——Netfilter/iptables,其中Netfilter是一个结构化的防火墙底层架构,而Iptables是Netfilter的用户态接口管理工具,此外,ip6tables是应用在IPv6环境下的相应工具。在基于双栈机制的过渡网络中,这样的防火墙已经起到不错的保护作用。
  但是,由于隧道机制是在隧道出口把隧道包解封成IPv6数据包的,而我们的防火墙是应用在隧道两端之间、以透明网桥的方式工作的,所以当数据包经过防火墙的时候,防火墙不能看到IPv4报头后的IPv6分组,因此基于IPv6的防火墙功能也起不了作用。在应用隧道机制接入的过渡网络中,这样的防火墙是无法保证网络安全的。
  本文的设计思想就是当接收到IPv4数据包时,设置在NF_IP_FORWARD这个点的钩子函数首先根据数据包的协议字段来判断该包是否为隧道包,如果不是则正常处理;否则,提取IPv6分组,并根据设置好的IPv6防火墙规则信息来判断IPv6分组是否非法,从而采取相应的措施。具体处理流程如图1所示。
  
  2 图形界面实现
  
  防火墙的图形界面实现主要是用GTK+2.0来完成的。它使用一些称为“构件”的对象来创建GUI应用程序。它提供了窗口、按钮、框架、列表框、组合框、树、状态条等很多构件,可以构造丰富的用户界面。本文就是通过创建这些构件来布局图形界面的。最常用的是盒状容器,它有两种形式:横向盒和纵向盒。通过GTK_box_pack_start( )或GTK_box_pack_end( )函数,我们从左到右(从上到下)或从右到左(从下到上)地把构件组装到横向盒(纵向盒)中,也可以使用任意的盒组合,比如盒套盒、盒挨盒,以产生预想的效果。
  图1 防火墙功能流程图
  2.1规则设置界面
  由于IPv4和IPv6数据包的“协议”字段不完全一样,源/目的地址的格式也有区别,所以要根据版本进行设置不同的规则,此时要利用GTK+中的无线按钮GtkRadioButton,因为其同组内的各个选项是互斥的。
  另外,当选择版本为IPv6时,需要隐藏源/目的v4地址标签;同样,当选择版本为IPv4时,需要隐藏源/目的v6地址标签。这可以通过函数gtk_widget_set_sensitive(GtkWidget *widget, FALSE)来实现,从而在选择某种版本时,将另一种版本的地址输入框显示成灰色,从而无法输入。
  图2就是进行阻断源IPv4地址为192.168.3.1、目的IPv4地址为192.168.3.2、源IPv6地址为3ffe::1、目的IPv6地址为3ffe::2的IPv6-in-IPv4隧道包的示例。
  图2 规则设置界面示例
  2.2图形接口实现
  这里主要使用GTK+2.0中的回调函数来处理窗口外部传来的事件、消息、或信号。即先为窗口或控件定义一系列的信号,然后引用信号名称或控件添加回调函数,这个回调函数往往是我们要实现的功能。之后,当信号发生的时候,程序自动调用与该信号相关的回调函数。
  本文在设计规则设置界面的时候,将点击确定按钮发出的信号与回调函数联系在一起。即:g_signal_connect(GTK_OBJECT(button),”clicked”,GTK_SIGNAL_FUNC(our_firewall), NULL)。它的含义是当点击按钮发出clicked信号,则执行回调函数也就是我们的防火墙程序our_firewall,它主要是把规则设置界面中的参数传递到iptables/ip6tables规则表中,并调用了iptables/ ip6tables功能。
  
  3 测试
  
  如图3所示,PC A通过ISATAP隧道机制获得IPv6地址,从而能够与处于IPv6网络中的PC B进行通信,这里,防火墙C也就是我们设计的图形防火墙串联在PC A与ISATAP服务器之间,从而监控着PC A与PC B之间的数据传输。
  图3 试验的过渡环境
  在PC A上ping6 PC B的IPv6地址时,发现在未设置任何规则时,PC A和PC B是相通的。
  这时,打开如图1所示的规则设置界面,并输入要拒绝的IPv6地址2001:da8:205:ffff:0: 5efe:211.71.71.137来设置阻断规则,可以发现规则生效,PC A和PC B已经不能通信了。清除该规则后,隧道两端又可以通信了。
  
  4 结束语
  
  本文很好的解决了隧道机制引起的地址欺骗问题,开发的图形界面也使得防火墙更加简单易用。事实上,该防火墙的设计思想不止可以用于基于隧道机制的过渡网络中,它同样适用于任何采用隧道机制的网络环境中。
  
  参考文献:
  [1]RFC 4213,Basic Transition Mechanisms for IPv6 Hosts and Routers[S],2005.
  [2]Draft-ietf-v6ops-security-overview-06.txt,IPv6 Transition/Co-existence Security Considera-tions[S],2007.
  [3]SLLSCN.Iptables指南1.1.19 [EB/OL].http://man.lupaworld.com/content/network/ iptables -tutorial-cn-1.1.19.html#prelude.
  [4]Rusty Russell,Harald Welte.Linux netfilter Hacking HOWTO [EB/OL].http://debian. linuxsir.org /book/nhh/ FreeWill/ netfilter-hacking-HOWTO.htm.
  [5]STEVE SUEHRING.何泾沙.Linux防火墙[M].北京:机械工业出版社,2006.
  [6]宋国伟.GTK+2.0编程范例[M].北京:清华大学出版社,2002.
  注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
其他文献
制作电子相册的软件不在少数,而三维动感效果的为数不多,今天我们说的这款《声影制作家》软件,就是三维相册软件里的佼佼者。  软件名称:声影制作家  软件版本:3.21  软件语言:中文   运行环境: Win9x/NT/2000/XP/2003  文件大小: 659MB   下载地址:http://www.clzx.net.cn/Soft/ShowSoft.asp?SoftID=99    1软件的
这个周日,舒马赫会有些失望,因为阿龙索不论在排位赛还是比赛,都显得非常轻松。
期刊
平时我们在使用Word的时候.经常会遇到编辑长文档的任务,比如公司的项目计划书、科研人员的科技论文、单位的宣传手册、各类评估报告,甚至您要出版的科技书籍等等。动不动就上万
摘 要:博物馆是征集、收藏、保护、陈列和研究自然及人类文化遗产和遗迹的场所。随着社会的发展,人们对文化生活需求也日益增强,走进博物馆接受教育的人越来越多,博物馆的社会化服务面临着严峻考验。因此,研究当前博物馆如何充分发挥服务社会、服务公众的职能,具有重要的学术和现实意义。  关键词:博物馆;社会化服务;对策  1 当前我国博物馆社会化服务的概况  1.1 当前我国建立博物馆的基本情况  博物馆是收
作为汽车的发明者,梅赛德斯-奔驰一直是汽车工业发展的领航员,梅赛德斯-奔驰的历史就是汽车的发展史、因此,经过两年半施工,刚刚开业的全新梅赛德斯-奔驰博物馆不仅成为斯图加特
文章就中国商业银行操作风险内部欺诈损失样本数据较小的情况,采用贝叶斯推断增加推断效果。损失频率以泊松分布和负二项分布为例,对损失强度以对数正态分布和极值分布为例,利用
摘 要:国家“海洋强国”战略、“一带一路”倡议的提出,为航海历史与文化类学术刊物的成长繁荣提供了良好的氛围。仅从数量来看,专刊与文集呈现出遍地开花的景象,部分刊物甚至通过专辟航海历史与文化专栏的方式来助推海丝历史文化研究的繁荣。但盛象之下也出现良莠不齐的状况,特别是有质感且品质稳定的刊物依然不太多,且由于刊物日众,稿源不足,尤其是优质稿源匮乏的情况渐趋成为各刊物面临的常态。所幸,相关研究人员的成长
第2万辆玛沙拉蒂是销往美国市场的灰色Quattroporte旅行车。美国是玛莎拉蒂最大的市场,占全球销量的30%。继2004年取得优异成绩(全球注册销售4600辆汽车,比2003年提高60%)后.05年
针对配电网结构复杂、位置分散、数据采集困难等问题,提出了一种将嵌入式软硬件技术和基于GPRS(General Packet Rdtio Service)无线通信技术相结合的远程自动抄表系统,可自动
介绍基于Windows2003服务器及Windows XP客户端的局域网络环境下的,快速而又安全安装、配置考试服务器与数百台考试机的一项综合技术。结合我校实际情况,探索出一套较为可靠