收藏 分销(赏)

毕业设计(论文)-校园网络防火墙系统的设计与实现.docx

上传人:可**** 文档编号:3044275 上传时间:2024-06-13 格式:DOCX 页数:47 大小:229.57KB
下载 相关 举报
毕业设计(论文)-校园网络防火墙系统的设计与实现.docx_第1页
第1页 / 共47页
毕业设计(论文)-校园网络防火墙系统的设计与实现.docx_第2页
第2页 / 共47页
毕业设计(论文)-校园网络防火墙系统的设计与实现.docx_第3页
第3页 / 共47页
毕业设计(论文)-校园网络防火墙系统的设计与实现.docx_第4页
第4页 / 共47页
毕业设计(论文)-校园网络防火墙系统的设计与实现.docx_第5页
第5页 / 共47页
点击查看更多>>
资源描述

1、 陕西理工学院毕业设计题 目 校园网络防火墙系统的设计与实现_ 学生姓名 学号 _所在学院 物理与电信工程学院_专业班级 电子1202班_指导教师 _完成地点 物电学院计算机信息处理分室_ 2016年6月1日毕业论文设计任务书院(系) 物电学院 专业班级 电子信息工程 学生姓名 _ 一、毕业论文设计题目 校园网络防火墙系统的设计与实现_ 二、毕业论文设计工作自_2016 _年_3 _月10 日 起至_ 2016_年 6 月 20 日止三、毕业论文设计进行地点: 物电学院计算机信息处理分室_ 四、毕业论文设计的内容要求:随着网络的普及,人们的日常交流和生活将越来越多的依靠网络来完成。无论是网上业

2、务洽谈,还是网上购物,都不可避免地面临安全性问题。 本设计要求学生对网络互连协议TCP/IP协议存在的安全问题及Internet网的不安全性进行分析,并利用Visual C+作为开发工具,设计了一个基于包过滤技术的防火墙系统。 五、 毕业论文设计应收集资料及参考文献:1徐孝凯,张纪勇.C+面向对象程序设计:VC+6.0运行环境M.天津大学出版社2009. 2汪晓平,钟军.VC+网络通信协议分析与应用实现M.北京:人民邮电出版社,2003. 3王艳平,张越.Windows网络与通信程序设计M.北京:人民邮电出版社,2006. 4 Andrew S.Tanenbau.计算机网络(第四版)M.北京:

3、清华大学出版社,2004. 5谢希仁.计算机网络(第五版)M.北京:电子工业出版社,2012. 6朱桂英.张元亮 Visual C+网络编程开发与实践M.清华大学出版社.2013. 六、 毕业论文设计的进度安排: 3月2日3月29日:查阅资料,完成初步设计方案和开题报告。 4月1日4月26日:根据网络防火墙系统的工作原理,给出设计方案,及软件流程图。 4月29日5月24:并在软件环境下进行运行调试,进一步完善系统功能,整理资料; 5月27日6月7日:撰写、修改毕业设计论文。 6月10日6月15日:打印论文准备并完成答辩。 指导教师签名 系(教研室)主任签名 专业负责人签名 批准日期 校园网络防

4、火墙系统的设计与实现(陕西理工学院物理与电信工程学院电子信息工程专业,2012级2班,陕西 汉中 723000)指导教师:摘要随着互联网的普及,网络用户的日益增多。网络安全问题变得日趋重要,人们对于互联网的安全性也就越来越关注。防火墙的种类很丰富,本设计主要基于Filter-Hook Driver回调函数与在Visual C+ 6.0的环境下对TCP/IP协议的漏洞进行分析,用IP识别并标记的规则来实现包过滤,从而达到防火墙的效果。作为维护网络的安全性关键设施,防火墙采取在可靠与不可靠网络之间建立障碍的目的,并落实相应的安全策略。关键字防火墙;IP;Visual C+ 6.0;Filter-H

5、ook Driver;Design and implementation of campus network firewall systemXiao Xukun(Grade12,Class02,Major electronics and information engineering, School of Physics and Telecommunication Engineering, Shaanxi University of Technology, HanZhong 723000,Shaanxi)Tutor:Li JuyeAbstract:With the popularity of

6、Internet and the growing network users.Network security problem is coming,Increasingly important,people are paying more attention on the security of Network.There are various Firewall on Internet.This design mainly analyze the loopholes of TCP/IP protocol and is based on the environment of Visual C+

7、6.0.Through IP recognizing and marking rules accomplishing packet filtering,so as a kind of Firewall.As the key facility that maintains the network security,firewalls take the purpose of stabling an obstacle between trust and trustless network,and put correspongding safety strategy into practice.Key

8、words: Firewall;IP;VisualC+6.0;Filter-Hook Driver;目录1 引言11.1背景11.2研究目的11.3开发环境及语言11.3.1 Visual C+11.3.2 开发语言VC+21.3.3 Winsock21.4防火墙原理32 防火墙的类型42.1 防火墙的结构42.1.1 Packet filter52.1.2 Proxy62.2防火墙的发展趋势和现状63 防火墙技术的设计和实现73.1防火墙的设计73.1.1 回调函数73.1.2 程序的结构与类73.2 程序流程图83.3设计的实现83.3.1 Filter-Hook Driver 的注册83

9、.3.2主程序框架的设计93.4设计细节114软件测试135结束语14致谢15参考文献16附录A17附录B221 引言防火墙是在一个整体系统,他主要是设置在网络之间的安全区域内或是不同网络之间,它的作用是操控网络与网络之间的访问,可以根据设置的访问规则控制网络信息的传输。它的本体也有相当程度的抗入侵能力1。防火墙必在保证内部网络运作的同时,防范未经同意的外部节点访问内部网络。虽然Firewall的类型有各种各样的。但就原理基本可以分为两类,一类基于Packet filter(包过滤型)原理,另一种基于Proxy Service(代理服务)原理。区分他们的原理在于基于Packet filter的

10、防火墙一般来说直接将报文转发,它在用户是完全开放状态,速度较快,而基于Proxy的Firewall则不是如此,它通过代理服务来建立连接,它可以有更强的身份验证(Authentication)和注册(log)功能。1.1背景校园网是一个开放的、控制机构相对较弱的网络,恶意的攻击时常会侵入网络中的计算机系统。校园网的数据传输是基于TCP/IP通信协议进行的,这些协议缺乏使传输过程中的信息不被窃取的安全措施。校园网上的通信业务大多数使用的是Windows操作系统来支持,Windows操作系统中存在一定的安全脆弱性问题,会直接影响安全服务。随着校园内计算机应用的大范围普及,介入校园网节点日益增多,而这

11、些借点大部分都没有采取一定的保护措施,随时有可能造成病毒泛滥、信息丢失、数据损坏、网络被攻击、系统瘫痪等严重后果。1.2研究目的随着越来越多的校园网投入运行和连入Internet,校园网的安全管理问题越来越突出,为保证网络的安全性,保证信息和数据的安全性也同时保护了信息管理系统,必须确保有安全和坚强的防火墙系统。目前,防火墙产品在市面上有各种,“XX电脑管家等”这些产品都包含有包过滤功能和安全审核等功能,有些还有入侵监测、代理、IP转换、锁定地址等功能,性能能不一,但大多数都不是很便宜,为了节省开销,同时又要求网络的安全运行得意保障,因此,设计并实现经济实用的复合型多功能防火墙系统是最好的办法

12、,应用实践证明,这样的系统在一定程度上能够保证校园网络的安全需求。1.3开发环境及语言本文中防火墙的开发使用的语言是C+和Winsock网络编程,使用的软件是Visual C+6.0。1.3.1 Visual C+Visual C+ 6.0,简称VC或者VC6.0,是Microsoft推出的一款C+编译器,将人用语言翻译为“机器语言”的应用程序。Visual C+是一个可视化软件开发工具并伴随有强大的辅助功能。自1993年Microsoft公司推出Visual C+1.0后,随着其新版本的更迭,Visual C+已成为专业软件工程师开发软件的首选。虽然微软公司推出了 Visual C+.NET

13、(Visual C+7.0),但它似乎有非常大的兼容性问题,只适用于Windows 2000、Windows XP和Windows NT4.0。所以实际中,更多的是以Visual C+6.0为平台。Visual C+6.0不仅是一个C+ 编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C+6.0由许多组件组成,包括编辑器、调试器以及程序向导2。AppWizard、类向导Class Wizard等开发工具。 这些工具通过一个被称为Developer Studio的组件整合为和谐的开发环

14、境。主要部分:Developer Studio,这是一个高度集成开发平台, 我们的工作99%都是依附于它完成的,由于它的标题是“Microsoft Visual C+”,大多数人就直接认为,那便是Visual C+了。其实并不是这样,尽管Developer Studio提供了一个很完整的编辑器和Wizard,但事实上它没有编译和程序链接的功能,真正完成这些工作的。Developer Studio并不是用于VC专属的,它也同样可以用于VB,VJ,VID等Visual Studio家族的其他同胞兄弟。所以不要把Developer Studio当成Visual C+, 它充其量只能是算作Visual

15、 C+的一个壳子而已。这一点请切记!MFC。从理论上来讲,MFC也不是专属于Visual C+,Borland C+,C+ Builder和Symantec C+同样的可以处理MFC。同时,用Visual C+编写程序代码也并不一定要用MFC,只要可以,用Visual C+来编写SDK程序,或是使用STL,ATL,一样没有限制。不过,Visual C+本来就是为MFC打造的,Visual C+中的许多特征和语言扩展功能也是为MFC而设计的,所以用Visual C+而不用MFC就等于放弃了Visual C+中绝大的一部分功能。即使这样,Visual C+也不等于MFC。Platform SDK。

16、这才是Visual C+和整个Visual Studio的核心和灵魂,虽然我们很少能直接接触到它。大致说来,Platform SDK是以Microsoft C/C+编译器为精华(不是Visual C+,看清楚了),配合MASM,辅以其他一些工具和文档资料3。1.3.2 开发语言VC+底层开发最适合使用的是C语言,其与运行速度密不可分。运行在底层的程序要有很高的效率,C语言对于内存的处理具有这个能力。其中Winsock可以进行网络通信的编写。1.3.3 Winsock从1991年的1.0版到1995年的2.0.8版,经过不断完善并在Intel、Microsoft、Sun、SGI、Informix

17、、Novell等公司的全力支持下,已成为Windows网络编程的事实上的标准。以U.C. Berkeley大学BSD UNIX中流行的Socket接口为范例定义了一套microsoft Windows下网络编程接口。它不仅包含了人们所熟悉的Berkeley Socket风格的库函数;也包含了一组针对Windows的扩展库函数,以使程序员能充分地利用Windows消息驱动机制进行编程。WindowsSockets规范本意在于提供给应用程序开发者一套简单的API,并让各家网络软件供应商共同遵守。此外,在一个特定版本Windows的基础上,Windows Sockets也定义了一个二进制接口(ABI

18、),以此来保证应用Windows Sockets API的应用程序能够在任何网络软件供应商的符合Windows Sockets协议的实现上工作。因此这份规范定义了应用程序开发者能够使用,并且网络软件供应商能够实现的一套库函数调用和相关语义。遵守这套Windows Sockets规范的网络软件,我们称之Windows Sockets兼容的,而Windows Sockets兼容实现的提供者,我们称之为Windows Sockets提供者。一个网络软件供应商必须百分之百地实现Windows Sockets规范才能做Windows Sockets兼容。任何能够与Windows Sockets兼容实现协

19、同工作的应用程序就被认为是具有Windows Sockets接口。我们称这种应用程序为Windows Sockets应用程序。Windows Sockets规范定义并记录了如何使用API与Internet协议族(通常我们指的是TCP/IP)连接,要特别指出的是所有的Windows Sockets都对流的套接口和数据报的套接口支持。应用程序是调用Windows Sockets的API实现相互之间的通信。Windows Sockets还应用下层的网络通讯协议功能和操作系统的调用完成实际的通讯工作。套接口:通信的基础是套接口(Socket),一个套接口是通信的一端。在这一端上你可以找到与其对应的一个

20、名字。一个正在被使用的套接口都有它的类型和与其相关的进程。套接口存在于通讯域中。通讯域是为了处理一般的线程通过套接口通讯而引进的一种抽象概念。套接口通常和同一个域中的套接口交换数据(数据交换也可能穿越域的界限,但这时一定要执行某种解释程序)Windows Sockets规范支持单一的通讯域,即Internet域。各种进程使用这个域互相之间用Internet协议族来进行通讯(Windows Sockets 1.1以上的版本支持其他的域,例如Windows Sockets 2)。套接口可以根据通讯性质分类;这种性质对于用户是可见的。应用程序一般仅在同一类的套接口间通讯。不过只要底层的通讯协议允许,

21、不同类型的套接口间也照样可以通讯。用户目前可以使用两种套接口,即流套接口和数据报套接口。流套接口提供了双向的,有序的,无重复并且无记录边界的数据流服务。数据报套接口支持双向的数据流,但并不保证是可靠,有序,无重复的。也就是说,一个从数据报套接口接收信息的进程有可能发现信息重复了,或是和发出时的次序不同。数据报套接口的一个重要特征是它保留了记录边界。对于这一特征,数据报套接口应用了与现在许多包交换网络(例如以太网)非常相似的模型4。1.4防火墙原理防火墙是由软件和硬件设备组合而成、在内部网和外部网之间、专用网与公共网之间的界面上构造的保护屏障,是一种获取安全性方法的形象说法,使得Internet

22、与Internet之间建立起一个安全网关(Security Gateway),这样保护内部网系统免受非法用户的攻击。防火墙基本是由访问规则、包过滤结构、应用网关和验证工具4个模块组成。防火墙就是一个位于计算机和它所连接的网络之间的系统。该计算机流入流出的所有网络通信均要经过此防火墙。网络中的“防火墙”是一项将和内部系统和外部公共网络(如Internet)区别开的的方法,实际上是一种将内部隔离在外部的技术。防火墙是在两个网络系统通信时执行的一种访问控制规则,它能允许你“允许”的人和数据进入你的网络,同时将你“不允许”的人和数据挡在外面,最大程度地阻止公共网络中的恶意用户来访问你的网络。换句话说,

23、如果不透过防火墙,公司内部系统网络的人就无法访问Internet, Internet上的人也不能与公司内部的人进行通讯5。2 防火墙的类型常见的“防火墙”从原理上分有两类,分别是应用于网络层的防火墙和应用在应用层的防火墙。网络层防火墙:可以将网络层的防火墙视为一种对IP封包进行过滤的工序,运作在底层的TCP/IP协议堆栈段上。我们通过列举的方式,只让符合规定的数据包通过,其他的一律禁止通过防火墙。这些规则一般是可以通过管理员自由定义或者自由修改的。但是有些防火墙系统也可能只能套用已经存储或是设置了的内置的规则。我们也能以其他的角度来制定防火墙规则, 只要封包不符合任何一项“否定规则”,就予以通

24、过。现在的操作系统及网络设备基本上都已内置了防火墙的功能,版本性能比较现金的防火墙能利用封包的多种属性来进行过滤,比方说源IP地址、源端口号、目的IP地址和目的端口号、服务的类型等,也能经由通信的协议、TTL值、来源的网域名称或者网段等属性来进行过滤。应用层防火墙:应用层的防火墙是在TCP/IP堆栈的“应用层”上工作,你通过使用浏览器时所产生的数据流或是FTP时的数据流都是归属于这一层。应用层的防火墙可以拦截进入某应用程序的所有数据包,并且封锁其他的数据包(通常是直接将封包丢弃)。理论上,这一类的防火墙可以完全杜绝外部的数据入侵到受保护的系统中。防火墙通过监测所有的数据包并找出不符合规则的部分

25、,不过就实现而言,这个方法即繁锁又杂乱,故而大部分防火墙不会考虑以这种方法设计。XML防火墙是一种新形态的应用层防火墙6。2.1 防火墙的结构分组包过滤技术的基础是网络中的分包传输技术。网络上的数据是分组以“包”的形式传输的,每个封包都包含数据的源地址、目的地址、TCP/UDP源端口和目的端口等信息。分组包过滤技术就是根据系统内部预先设计的过滤逻辑条件,查核数据流中的每一组数据,依据数据包的源地址、目标地址、TCP/UDP源端口号和目的端口号以及数据包头中的标志位来确定是否允许通过,拒绝非安全站点的数据的来源。通过采用这种技术的防火墙的核心在于包过滤算法的设计。例如:在以太网中,得到的数据包大

26、致是如下结构:以太帧头14个字节,放在PUCHAR 结构数组的第0个元素到第13个元素中,其中前六个字节是目的MAC地址,之后是六个字节源MAC地址,最后两个字节是协议类型,通常的协议类型有0x08 0x00-IP,0x08 0x06-ARP,0x08 0x35-RARP,所以,可以通过数组的第12个元素和第13个元素来判断协议类型,过滤规则就是在这个基础之上建立。如果要过滤特定协议,只要在相应的字节读取数据,判断是否符合要过滤的规则即可7。分组过滤技术的优点是逻辑简单、速度快、易于安装和使用, 网络性能和透明性好且价格便宜,它通常安装在路由器上。路由器是内部网络与Internet连接必不可少

27、的设备, 因此在原有网络上增加这样的防火墙不需要很多额外的费用。分组过滤技术的缺点有二:一是非法访问一旦突破防火墙,即可对主机上的软件和配置漏洞进行击;二是数据包的源地址、目的地址以及IP的端口号都在数据包的头部,很有可能被窃听或假冒,且由于不同操作系统环境下TCP和UDP端口号所代表的应用服务协议类型有所不同,故兼容性差【7】。应用网关技术是建立在网络应用层上的协议过滤,它针对特别的网络应用服务协议即数据过滤协议,并且能够对数据包分析并形成相关的报告。应用网关对某些易于登录和控制的输入输出通信环境进行严格控制,以防止内部数据被窃取。另外,应用层网关还负责对网络交流的信息进行记录,比如用户登录

28、的时间,登录的网址,用户频繁使用的网络界面等。数据包过滤和应用网关防火墙之间拥有一个共通性,它们都是根据特定的逻辑判定来决定是否对数据包放行。如果满足逻辑条件,则防火墙内和外的计算机系统之间建立直接联系, 防火墙外的用户就有直接了解防火墙内部的网络结构和运行状态的机会,这有利于实施非法访问和攻击。应用网关技术的优点是可以在LAN 机器上被透明配置、保护在一个或多个外部IP 地址之后的许多机器,简化管理任务、用户到LAN 的出入可以通过打开和关闭 NAT 防火墙/网关上的端口来限制。应用网关技术的缺点是一旦用户从防火墙外连接了服务,则无法防止其蓄意活动。代理服务也称链路级网关或TCP通道。它是针

29、对数据包过滤和应用网关技术存在的缺点而引入的防火墙技术,其特点是将所有跨越防火墙的网络通信链路分为两段。防火墙内外计算机系统间应用层的链接, 由两个终止代理服务器上的链接来实现,外部计算机的网络链路只能到达代理服务器, 从而起到了隔离防火墙内外计算机系统的作用。此外,代理服务也对过往的数据包进行分析、注册登记, 形成报告,同时当发现被攻击迹象时会向网络管理员发出警报,并保留攻击痕迹。代理服务技术的优点是使管理员拥有对LAN 之外的应用程序和协议功能的控制权、某些代理服务器可以缓存数据,因此当客户存取频繁请求的数据时,这些数据就可以从本地缓存调出而不必使用互联网连接,这有助于减少不必要的带宽用量

30、、代理服务可以被密切地监视和记录,从而允许在网络资源用量方面进行更严格的控制。代理服务技术的缺点是代理通常是应用程序特有的(HTTP、telnet 等)或在协议方面有限制的(多数代理只能用于 TCP 连接的服务)、应用程序服务无法在代理后面运行,因此用户的应用程序服务器必须使用另一种网络保安措施、代理可能会成为网络的瓶颈,因为所有的请求和传输都要经过一个中介而不是让客户直接连接远程服务【7】。2.1.1 Packet filter包过滤技术(IP Filtering or packet filtering) 的技术依据在于利用路由器监视并将网络上流出流入的不符合规则IP包进行过滤,拒绝发送和接

31、受可以的数据包。因为Internet的网络链接很多都要应用路由器,所以Router成为内部与外部通信的必经端口,Router的制造商在Router上加入IP 过滤 功能,过滤用路由器也可以被称为包过滤路由器或筛选路由器(Packet FilterRouter)。一般的防火墙就是这样一个具备包过滤功能结构的简单路由器,这种Firewall应该是能够满足安全性要求的,但合理的前提是合理的规则配置。可以一个或者一组包过滤数据规则是否完全严密及是否必要是很难被人为判断或判定的,因此在安全要求较高的场合,一般还要配合应用其它的安保技术来加强安全性。包过滤技术是指网络设备(路由器或防火墙)根据包过滤规则检

32、查所接收的每个数据包,做出允许数据包通过或丢弃数据包的决定。包过滤规则主要基于IP包头信息设置,包括如下内容:TCP/UDP的源或目的端口号协议类型:TCP、UDP、ICMP等源或目的IP地址数据包的入接口和出接口数据包中的信息如果与某一条过滤规则相匹配并且该规则允许数据包通过,则该数据包会被转发,如果与某一条过滤规则匹配但规则拒绝数据包通过,则该数据包会被丢弃。如果没有可匹配的规则,缺省规则会决定数据包是被转发还是被丢弃。简单包过滤:是对单个包的检查,目前大部分路由器商品都能够提供这样的功能,所以如果你已经拥有边界路由器,那么完全没有再购买一个具有简单包过滤的防火墙产品的必要。由于这类技术无

33、法跟踪TCP的状态,所以对TCP协议的控制是有缺陷的,比如当你的这样的产品上设置了仅允许从内到外的TCP访问时,一些以TCP应答包的形式进行攻击。简单包过滤的产品由于其保护的不完善8。状态检测包过滤:利用特制的状态监测表跟踪每一对网络会话的状态,对每一个数据包的检查不仅根据规则表,又考虑到数据包是否满足通信所处的状态。因此提供了对传输层更完整的控制能力。同时又因为一系列技术优化性能的采用,状态检测包过滤的性能也显然要比简单包过滤产品更优,尤其是在一些复杂规则的大型网络上。优势:包过滤路由器能够协助保护整个网络系统。大部分Internet防火墙系统只需要一个包过滤路由器;它的运行速度快、执行效率

34、高。进行包过滤所需要的时间很短或甚至不需要什么时间,因为包过滤路由器只对数据包报头相应的字段进行检查,一般情况下不查看数据报除报头外的内容,而且某些核心区域是由专门的硬件实现的,如果通信所需的负载合适而且已经定义的过滤规则很少的话,则对路由器性能没有多大影响;包过滤路由器对于终端用户和应用程序是透明的。当数据包过滤路由器执行决定让数据包通行时,它和普通路由器没什么区分,甚至用户没有意识到它的存在,因此不需要专门的用户培训或在每主机上设置特别的软件。劣势:定义与配置包过滤器很大程度上是一项繁杂且很难的工作。因此网络管理员需要详细的学习和了解Internet各种类型的服务、包头的格式和他们所希望的

35、特定查找值的计算。若是一定要支持复杂的过滤规则要求的情况下,过滤规则的集合可能会形成很复杂的情况,而且没有什么可以用来检验过滤规则正确性的工具。路由器对数据包的吞吐量会与过滤数量成反比。路由器用来从每一个数据包中拿出目的IP地址、查询一个相对简单的路由表,然后将数据包正向运行到适当转发接口。如果可执行过滤,路由器还得对每个包执行一遍所有的过滤规则【9】。这有可能造成CPU的资源的大量占用,而且可能会影响一个完全饱和的系统性能。2.1.2 Proxy这种防火墙通过代理(Proxy)技术参加到一个有着TCP连接的全过程当中。数据包经由处理后从内部发出,就好比是给防火墙设置了一个外部网卡一般,从而可

36、以达到将内部。这一种类型的防火墙被公认为网络安全性最可靠的防火墙。代理防火墙为它们所支持的协议提供全面的协议意识安全分析。相比于那些只考虑数据包头信息的产品,这使得它们能做出更安全的判定。例如,特定的支持FTP的代理防火墙,它能够监视实际流出命令通道的FTP命令,并能够停止任何禁止的活动。由于服务器被代理防火墙所保护,而且代理防火墙允许协议意识记录,这使得识别攻击方法以及备份现有记录更容易。代理防火墙增加安全性也是要付出代价的。额外的代价是为每个会话建立两个连接所需的花费,加上应用层验证请求所需的时间,以及性能的降低。你可以将钱花费在代理服务器上,但在真正的高带宽网络上仍有可能到达瓶颈。可能您

37、会发现为您的网络正确安装以及配置所需的代理是困难的,还可能很难使VPN(虚拟专用网)通过代理防火墙工作。优势:代理的基础是将两个端口的直接通讯隔断并在中间建立起转发系统,任何的通信都要经由代理的转发,用户任何情况下都不可以建立直接的TCP连接,应用层经由协议的会话过程笔记满足代理的安全规则要求,对于不同的应用协议,代理防火墙提供了不同的对应用层控制的能力供用户选择。可以这样说,状态监测包过滤技术规范了网络层和传输层的安全行为,而应用代理则是规范了特殊的应用协议上的安全行为10。劣势:代理防火墙的技术发展远没有包过滤技术活跃,灵魂与精华上基本什么都没有变,仅仅是增添了不同种类的协议,为了克服代理

38、技术种类相当有限的不足,多数代理防火墙也提供了状态检测包过滤的能力在同一时间,每当用户遇到的防火墙陌生的应用协议时,就通过使用包过滤的方式对其检查。但是目前很难将这两者的安全策略完全全结合在一起,所以复合型的产品一般情况下更难以配置和调试10。2.2防火墙的发展趋势和现状状态检测包过滤技术和代理这两种技术现在仍旧是防火墙市场中通常采用的主流技术,但这两种技术正在形成一种融合的趋势,演变的结果也许会导致一种新的结构名称的出现。在NetEye防火墙中以状态监测包过滤为基本创建了一种暂时称之为“流过滤”的结构,它基本的原理是防火墙处于外部包过滤的情况,运行在链路层或者IP层,在不违反规则的情况下,两

39、个端口可以直接的房分,不过对于随意一个不违反规则的访问在防火墙内部都有两个层的会话且是完全独立的会话,数据是按照“流”的形态从一个会话去向另一个会话,因为防火墙对于应用层的策略部署在“流”的中间,因此可以在任何时候在应用层替代服务器或者是客户端的会话通信,从而起到了和代理型防火墙类似的控制性功能,比方说网眼防火墙系统对于SMTP的处理,防火墙系统完成完全的对邮件的存储并且转发,并实现的各种攻击的防范功能11。“流过滤”的另一个优越的性能在于,占用资源更少且运行效率更加高效,若是你需求一个能够支持数量相当之大的并发性访问,同时又需要有相当于代理技术的作用在应用层的防护能力的系统,“流过滤”结构是

40、最好的选择。随着技术发展了这么多年,已经成为了网络信息安全中最为成熟的技术支持,是信息安全管理员手中最有效的盾牌。而且防火墙本身的核心思想与技术仍然在随着时代的发展而进步着,事实上,没有哪一个安全手段或是技术能够停工永久的保障,因为网络在进步,应用在进步,攻击的手段在变化。对于防火墙来说,技术的不断进步才是真实的保障。3 防火墙技术的设计和实现要开发防火墙工具,需要现建立驱动程序。通过使用IP过滤驱动,可以开发出应用广泛的网络安全产品。在进行驱动开发时,大多数都是选择Filter-Hook Driver。3.1防火墙的设计程序主要大致分为如下几个部分:载入IP协议过滤驱动程序Filter-Ho

41、ok Driver;在CAddRuleDlg类的函数OnAddsave()中添加过滤规则,并用AddFilter()函数将此过滤规则添加到Filter-Hook Drvier中去;启动防火墙,进行数据包过滤;创建程序主窗体结构,在这之前与已经导入过滤规则的Filter-Hook Driver用PreCreateWindow()建立关系,提供可视化操作。3.1.1 回调函数Filter-Hook Driver是Windows2000、WindowsXP等系统自带的内核模式驱动,它的结构是一个典型的内核模式驱动结构。在Windows2000he WindowsXP中,在“System32drive

42、rs”目录下的IPfiltdrv.sys是Microsoft提供的IP协议过滤驱动程序。它允许用户注册自己的IP数据报处理函数。在MSDN中有关于这方面内容的简短说明,位于Filter-Hook Driver Reference章节中。这一部分说明文档论述了Filter-Hook驱动程序实现的回调函数和该驱动程序用以注册回调函数的I/O控制码。回调函数是是这类驱动程序的主体部分。操作系统提供的IP过滤驱动程序使用这个过滤钩子来判断IP数据包的处理方式12。typedef PF_FOWORD_ACTION (*PacketFileterExtensionPtr)( unsigned char *

43、PacketHeader, unsigned char *Packet, unsigned int PacketLength, unsigned int RecvInterfaceIndex, unsigned int SendInterfaceIndex, IPAddr RecvLinkNextHop, IPAddr SendLinkNextHop);该类型就是过滤钩子的回调函数,它决定所有传过来的IP数据包的命运是继续传递,还是丢掉,或者允许IP过滤驱动程序继续处理。3.1.2 程序的结构与类IPFilter是定义过滤规则的结构体,此结构体将通常过滤数据包要考虑的包头信息都包括进去了。filterList 规则列表的建立。程序主要包括的类:CFireView、CAddRuleDlg、CAboutDlg、TDriver。在程序中,IP过滤协议驱动程序由TDriver类的LoadDriver()函数载入,同时完成对驱动程序的初始化,嵌入到Window中作为系统的服务,而IP包处理函数通过启动IP过滤协议驱动程序函数StartDriver()和对IP过滤协议驱动程序进行I/P操作放入本类中13。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服