防火墙的设计与实现Word格式文档下载.docx
- 文档编号:19466882
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:9
- 大小:39.70KB
防火墙的设计与实现Word格式文档下载.docx
《防火墙的设计与实现Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《防火墙的设计与实现Word格式文档下载.docx(9页珍藏版)》请在冰豆网上搜索。
本防火墙由以下几个模块组成:
过滤规则添加模块,过滤规则显示模块,过滤规则存储模块,文件储存模块,安装卸载规则模块,IP封包过滤驱动功能模块。
用户只需要通过主界面菜单和按钮就可以灵活地操作防火墙,有效地保护Windows系统的安全。
关键词防火墙过滤钩子过滤驱动包过滤
TheDesignandImplementofSimpleWindowsFirewall
Profession:
ComputerScienceandTechnologyClass:
J091Name:
DaiwenLeeInstructor:
GuohaoWan
AbstractThecurrenteraisarapiddevelopmentofinformationage.Thetechnologiesofcomputerandinformationprocessingbecomematurity.WiththeInternetandcomputernetworktechnologytobeflourishing,networksecuritythathasbeenwidelyconcerned.Firewallsystemisoneofthesecuritytechnologiesthatusedinthenetwork.Thisdesignhasimplementedafirewalla
第1章
引言:
所谓防火墙指的是一个由软件和硬件设备组合而成、在内部网和外部网之间、专用网与公共网之间的界面上构造的保护屏障.是一种获取安全性方法的形象说法,它是一种计算机硬件和软件的结合,使Intranet与Internet之间建立起一个安全网关,从而保护被保护网免受非法用户侵入,防火墙主要由服务访问规则、验证工具、包过滤和应用网关4个部分组成,防火墙就是一个位于计算机和它所连接的网络之间的软件和硬件的总称。
在网络中,所谓“防火墙”,是指一种将内部网和公众访问网隔离的方法,它实际上是一种分割技术。
防火墙是在两个网络通讯时执行的一种访问控制工具,它允许你“同意”的人和数据进入自己的网络,同时将你“不同意”的人和数据阻挡在门外,最大限度地阻止网络中的黑客来访问你的网络。
随着计算机技术和网络技术的发展,计算机网络给人们带来了很多便利,于此同时网络安全的问题也伴随着网络技术的发展而日趋严重。
使用防火墙能很好的提高系统的安全性,减少系统受到网络安全方面的威胁。
本毕业设计选择开发一个Windows下的防火墙,它能够对网络IP数据包按照用户的设置进行过滤。
通过此防火墙的开发锻炼了学生的实际动手能力对以后的学习和工作能力的培养具有重要意义。
1.1背景
校园网是一个开放的、控制机构相对较弱的网络,恶意的攻击时常会侵入网络中的计算机系统。
校园网的数据传输是基于TCP/IP通信协议进行的,这些协议缺乏使传输过程中的信息不被窃取的安全措施。
校园网上的通信业务大多数使用的是Windows操作系统来支持,Windows操作系统中存在一定的安全脆弱性问题,会直接影响安全服务。
随着校园内计算机应用的大范围普及,介入校园网节点日益增多,而这些借点大部分都没有采取一定的保护措施,随时有可能造成病毒泛滥、信息丢失、数据损坏、网络被攻击、系统瘫痪等严重后果。
1.2研究目的
随着越来越多的校园网投入运行和连入Internet,校园网的安全管理问题越来越突出,为保证网络的安全性,保证信息和数据的安全性也同时保护了信息管理系统,必须确保有安全和坚强的防火墙系统。
目前,防火墙产品在市面上有各种,“XX电脑管家等”这些产品都包含有包过滤功能和安全审核等功能,有些还有入侵监测、代理、IP转换、锁定地址等功能,性能能不一,但大多数都不是很便宜,为了节省开销,同时又要求网络的安全运行得意保障,因此,设计并实现经济实用的复合型多功能防火墙系统是最好的办法,应用实践证明,这样的系统在一定程度上能够保证校园网络的安全需求。
1.3防火墙原理
防火墙是由软件和硬件设备组合而成、在内部网和外部网之间、专用网与公共网之间的界面上构造的保护屏障,是一种获取安全性方法的形象说法,使得Internet与Internet之间建立起一个安全网关(SecurityGateway),这样保护内部网系统免受非法用户的攻击。
防火墙基本是由访问规则、包过滤结构、应用网关和验证工具4个模块组成。
防火墙就是一个位于计算机和它所连接的网络之间的系统。
该计算机流入流出的所有网络通信均要经过此防火墙。
网络中的“防火墙”是一项将和内部系统和外部公共网络(如Internet)区别开的的方法,实际上是一种将内部隔离在外部的技术。
防火墙是在两个网络系统通信时执行的一种访问控制规则,它能允许你“允许”的人和数据进入你的网络,同时将你“不允许”的人和数据挡在外面,最大程度地阻止公共网络中的恶意用户来访问你的网络。
换句话说,如果不透过防火墙,公司内部系统网络的人就无法访问Internet,Internet上的人也不能与公司内部的人进行通讯[5]
第2章防火墙的概述
2.1防火墙的定义
防火墙是指设置在不同网络(如可信任的企业内部网和不可信的公共网)或网络安全域之间的一系列部件的组合。
它可通过监测、限制、更改跨越防火墙的数据流,尽可能的对外部屏蔽网络内部信息、结构和运行的基本状况,以此来实现网络的安全与保护。
除了安全作用,防火墙还支持具有Internet服务特性的企业内部网络技术体系VPN(虚拟专用网)。
从专业角度讲,防火墙是位于两个(或多个)网络间,实施网络之间访问控制的一组组件集合。
防火墙是设置在内部网络和外部网络之间的一道屏障,从而实现网络安全保护,以防止发生不可预测的、潜在破坏性的侵入。
防火墙具有较强的抗攻击能力,它是提供安全服务、实现网络信息安全的基本设施。
2.2防火墙的基本策略
防火墙基本的功能是确保网络信息的合法性,并在此前提下将网络的信息快速的从一条链路转发到另外的链路上去。
从原是的防火墙开始谈起,最早的防火墙是一台“双洞主机”,它不但具备两个网络接口,而且拥有两个物理层地址。
防火墙将网络上的信息通过相应的接口接收上来,按照OSI协议栈的七层结构体系按顺序上传,在适当的协议层进行访问规则和安全审查,然后将符合通过条件的报文段从相应接口送出,而对于那些不符合通过条件的报文段或者报文组则予以阻断。
所以,从这角度上说,防火墙是一个类似于桥接或路由器的、多端口的转发设备,它接于多个分离的逻辑网段之间,在报文转发过程之中完成对报文的审查检测工作。
2.3防火墙使用的技术:
数据包过滤:
包过滤路由器可以决定对它所收到的每个数据包的取舍。
是基于路由器技术的,建立在网络层、传输层上。
路由器对每发送或接收来的数据包审查是否与某个包过滤规则相匹配。
包过滤规则即访问控制表,通过检查每个分组的源IP地址、目的地址来决定该分组是否应该转发。
如果找到一个匹配,且规则允许该数据包通过,则该数据包根据路由表中的信息向前转发。
如果找到一个与规则不相匹配的,且规则拒绝此数据包,则该数据包将被舍弃。
包过滤路方法具有以下优点:
(1)执行包过滤所用的时间很少或几乎不需要什么时间。
(2)对路由器的负载较小
(3)由于包过滤路由器对端用户和应用程序是透明的,因此不需要在每台主机上安装特别的软件。
2.3.1包过滤路方法的缺点:
(1)在路由器中设置包过滤规则比较困难
(2)由于包过滤只能工作在“假定内部主机是可靠地,外部诸暨市不可靠的”这种简单的判断上,它只是控制在主机一级,不涉及包内容的内容与用户一级,因此它有很大的局限性。
应用级网关:
多归属主机具有多个网络接口卡,因为它具有在不同网络之间进行数据交换的能力,因此人们又称它为“网关”。
多归属主机用在应用层的用户身份认证与服务请求合法性检查,可以起到防火墙的作用,称为应用级网关。
应用网关防火墙检查所有应用层的信息包,并将检查的内容信息放入决策过程,从而提高网络的安全性。
然而,应用网关防火墙是通过打破客户机/服务器模式实现的。
每个客户机/服务器通信需要两个连接:
一个是从客户端到防火墙,另一个是从防火墙到服务器。
另外,每个代理需要一个不同的应用进程,或一个后台运行的服务程序,对每个新的应用必须添加针对此应用的服务程序,否则不能使用该服务。
所以,应用网关防火墙具有可伸缩性差的缺点。
2.4包过滤防火墙
2.4.1数据包
数据包是指IP网络消息。
IP标准定义了在网上两台计算机之间发送的消息的结构.结构上,一个包包含了一个信息头和应被传送数据的一段消息体。
Linux中包含的IP防火墙机制3种IP消息类型:
ICMP(Internet控制消息协议)、UDP(用户数据报协议)和TCP(传输控制协议)。
所有的IP包头包含了源、目的IP地址、IP协议消息类型。
包头里根据协议类型还包括了不同的字段。
ICMP数据包包含了一个类型字段,用来标识控制或状态消息类型。
UDP和TCP包包含了源和目的服务端口号。
2.4.2包过滤防火墙的工作原理
包过滤功能是内建于核心的(作为一个核心模块,或者直接内建),同时还有一些可以运用于数据包之上的技巧,不过最常用的依然是查看包头以决定包的命运。
包过滤防火墙将对每一个接收到的包做出允许或拒绝的决定。
具体地讲,它针对每一个数据包的包头,按照包过滤规则进行判定,与规则相匹配的包依据路由信息继续转发,否则就丢弃。
包过滤是在IP层实现,包过滤根据数据包源IP地址、目的IP地址、协议类型、源端口、目的端口等报文头信息来判断是否允许数据包通过。
包过滤也包括与服务相关的过滤,也就是基于特定的服务进行过滤,大部分服务的监听都停留在特定TCP/UDP端口,因此,为了阻挡所有进入特定服务的信息,防火墙只需将所有包含特定TCP/UDP目的端口的包丢弃就可以了。
包过滤防火墙通常在操作系统内部实现,并且操作在IP网络和传输协议层。
它在对基于IP包头信息实施过滤后,通过对包的路由作决策来保护系统。
包过滤防火墙由一组接受或禁止规则列表组成。
这些规则明确定义了哪个包将被允许或不允许通过网络接口。
防火墙规则使用在上面描述的包头字段来决定是否允许路由一个包通过,以达到它的目的,或则无声息的将包丢弃掉,或阻止包并向它的发送机器返回一个错误状态。
这些规则是基于特定的网络接口卡和主机IP地址、网络层源和目的IP地址、传输层TCP和UDP服务端口、TCP连接标志、网络层ICMP消息类型及这些包是进入的还是发出的。
包过滤功能是所有的防火墙都具备的一个基本功能,实际上防火墙要完成的功能从根本上来说,就是要按照用户的要求来控制网络所流通的数据包,屏蔽那些无益的连接。
第3章:
防火墙技术的设计和实现
要开发防火墙工具,需要现建立驱动程序。
通过使用IP过滤驱动,可以开发出应用广泛的网络安全产品。
在进行驱动开发时,大多数都是选择Filter-HookDriver
3.1防火墙的设计
程序主要大致分为如下几个部分:
载入IP协议过滤驱动程序Filter-HookDriver;
在CAddRuleDlg类的函数OnAddsave()中添加过滤规则,并用AddFilter()函数将此过滤规则添加到Filter-HookDrvier中去;
启动防火墙,进行数据包过滤;
创建程序主窗体结构,在这之前与已经导入过滤规则的Filter-HookDriver用PreCreateWindow()建立关系,提供可视化操作。
3.2程序结构与类
IPFilter是定义过滤规则的结构体,此结构体将通常过滤数据包要考虑的包头信息都包括进去了。
filterList规则列表的建立。
程序主要包括的类:
CFireView、CAddRuleDlg、CAboutDlg、TDriver。
在程序中,IP过滤协议驱动程序由TDriver类的LoadDriver()函数载入,同时完成对驱动程序的初始化,嵌入到Window中作为系统的服务,而IP包处理函数通过启动IP过滤协议驱动程序函数StartDriver()和对IP过滤协议驱动程序进行I/P操作放入本类中。
3.3程序流程图
N
Y
第4章:
防火墙技术在网络安全保护中的优势和不足
4.1.防火墙所具备的优势
之所以在网络环境安全防范中防火墙越来越受到网络安全研究的重视,在于防火墙有其他设备无法比拟的优势。
只要充分利用好其优点并发扬,将会给网络安全的建设带来不可想象的发展。
4.1.1.防火墙能强化安全策略
因为在因特网上每天都有上百万的人浏览和交换信息,所以不可避免地会出现个别品德不良或违反因特网规则的人。
防火墙是为了防止不良现象发生的“交通警察”,它执行网络的安全策略,仅仅允许经许可的、符合规则的请求通过。
防火墙能有效地记录因特网上的活动。
因为所有进出内部网信息都必须通过防火墙,所以防火墙非常适用收集网络信息。
作为网间访问的唯一通路,防火墙能够记录内部网络和外部网络之间发生的所有事件。
4.1.2.防火墙可以实现网段控制
防火墙能够用来隔开网络中某一个网段,这样它就能够有效地控制这个网段中的问题在整个网络中的传播。
防火墙是一个安全策略的检查点。
所有进出网络的信息都必须通过防火墙,这样防火墙便成为一个安全检查点,把所有可疑的访问据之门外。
4.2.防火墙存在的不足
随着防火墙技术的发展,其在信息安全体系中的地位越来越不可替代,网络安全的严峻形势也对防火墙技术的发展提出了更高、更新的要求。
在越来越依赖防火墙技术的情况下,它对于一些特殊的攻击或其他行为有时也无能为力。
所以,我们也应该了解其技术方面的一些局限性,毕竟没有任何一种技术能绝对保证安全。
首先,防火墙技术最突出的缺点在于不能防范跳过防火墙的各种攻击行为。
这其中比较典型的就是难以防范来自网络内部的恶意攻击。
其次,防火墙技术的另外一个显著不足是无法有效地应付病毒。
当网络内的用户在访问外网中的含有病毒的数据时,防火墙无法区分带毒数据与正常数据,内部网络随时都有。
最后,防火墙的检测机制容易造成拥塞以及溢出现象。
由于防火墙需要处理每一个通过它的数据包,所以当数据流量较大时,容易导致数据拥塞,影响整个网络性能。
严重时,如果发生溢出,就像大坝决堤一般,无法阻挡,任何数据都可以来去自由了,防火墙也就不再起任何作用。
第5章:
防火墙的发展趋势
(1)可以预知,未来防火墙的发展趋势是朝高速度、多功能化、更安全的方向发展。
从国内外历次测试的结果都可以看出,目前防火墙一个很大的局限性是速度不够。
应用ASIC、FPGA和网络处理器是实现高速防火墙的主要方法,其中以采用网络处理器最优,因为网络处理器采用微码编程,一般用户总希望防火墙可以支持更多的功能,可以根据需要随时升级,甚至可以支持IPV6,而采用其它方法就不那么灵活。
实现高速防火墙,算法也是一个关键,因为网络处理器中集成了很多硬件协处理单元,因此比较容易实现高速。
对于采用纯CPU的防火墙,就必须有算法支撑,例如ACL算法。
目前有的应用环境,动辄应用数百乃至数万条规则,没有算法支撑,对于状态防火墙,建立会话的速度会十分缓慢。
受现有技术的限制,目前还没有有效的对应用层进行高速检测的方法,也没有哪款芯片能做到这一点。
因此,防火墙不适宜于集成内容过滤、防病毒和IDS功能(传输层以下的IDS除外,这些检测对CPU消耗小)。
对于IDS,目前最常用的方式还是把网络上的流量镜像到IDS设备中处理,这样可以避免流量较大时造成网络堵塞。
此外,应用层漏洞很多,攻击特征库需要频繁升级,对于处在网络出口关键位置的防火墙,一般用户总希望防火墙可以支持更多的功能,如此频繁地升级也是不现实的。
多功能也是防火墙的发展方向之一,鉴于目前路由器和防火墙价格都比较高,组网环境也越来越复杂,一般用户总希望防火墙可以支持更多的功能,满足组网和节省投资的需要。
例如,防火墙支持广域网口,并不影响安全性,但在某些情况下却可以为用户节省一台路由器;
支持部分路由器协议,如路由、拨号等,可以更好地满足组网需要;
支持IPSECVPN,可以利用因特网组建安全的专用通道,既安全又节省了专线投资。
未来防火墙的操作系统会更安全。
随着算法和芯片技术的发展,防火墙会更多地参与应用层分析,为应用提供更安全的保障。
(2)防火墙可说是信息安全领域最成熟的产品之一,但是成熟并不意味着发展的停滞,恰恰相反,日益提高的安全需求对信息安全产品提出了越来越高的要求,防火墙也不例外,下面我们就防火墙一些基本层面的问题来谈谈防火墙产品的主要发展趋势。
模式转变传统的防火墙通常都设置在网络的边界位置,不论是内网与外网的边界,还是内网中的不同子网的边界,以数据流进行分隔,形成安全管理区域。
但这种设计的最大问题是,恶意攻击的发起不仅仅来自于外网,内网环境同样存在着很多安全隐患,而对于这种问题,边界式防火墙处理起来是比较困难的,所以现在越来越多的防火墙产品也开始体现出一种分布式结构,以分布式为体系进行设计的防火墙产品以网络节点为保护对象,可以最大限度地覆盖需要保护的对象,大大提升安全防护强度,这不仅仅是单纯的产品形式的变化,而是象征着防火墙产品防御理念的升华。
防火墙的几种基本类型可以说各有优点,所以很多厂商将这些方式结合起来,以弥补单纯一种方式带来的漏洞和不足,例如比较简单的方式就是既针对传输层面的数据包特性进行过滤,同时也针对应用层的规则进行过滤,这种综合性的过滤设计可以充分挖掘防火墙核心功能的能力,可以说是在自身基础之上进行再发展的最有效途径之一,目前较为先进的一种过滤方式是带有状态检测功能的数据包过滤,其实这已经成为现有防火墙产品的一种主流检测模式了,可以预见,未来的防火墙检测模式将继续整合进更多的范畴,而这些范畴的配合也同时获得大幅的提高。
就目前的现状来看,防火墙的信息记录功能日益完善,通过防火墙的日志系统,可以方便地追踪过去网络中发生的事件,还可以完成与审计系统的联动,具备足够的验证能力,以保证在调查取证过程中采集的证据符合法律要求。
相信这一方面的功能在未来会有很大幅度的增强,同时这也是众多安全系统中一个需要共同面对的问题。
功能扩展现在的防火墙产品已经呈现出一种集成多种功能的设计趋势,包括vpn、aaa、pki、ipsec等附加功能,甚至防病毒、入侵检测这样的主流功能,都被集成到防火墙产品中了,很多时候我们已经无法分辨这样的产品到底是以防火墙为主,还是以某个功能为主了,即其已经逐渐向我们普遍称之为ips(入侵防御系统)的产品转化了。
有些防火墙集成了防病毒功能,这样的设计会对管理性能带来不少提升,但同时也对防火墙产品的另外两个重要因素产生了影响,即性能和自身的安全问题,所以我们的意见是应该根据具体的应用环境来做综合的权衡,毕竟这个世界暂时还不存在什么完美的解决方案。
(3)防火墙的管理功能一直在迅猛发展,并且不断地提供一些方便好用的功能给管理员,这种趋势仍将继续,更多新颖实效的管理功能会不断地涌现出来,例如短信功能,至少在大型环境里会成为标准配置,当防火墙的规则被变更或类似的被预先定义的管理事件发生之后,报警行为会以多种途径被发送至管理员处,包括即时的短信或移动电话拨叫功能,以确保安全响应行为在第一时间被启动,而且在将来,通过类似手机、pda这类移动处理设备也可以方便地对防火墙进行管理,当然,这些管理方式的扩展需要首先面对的问题还是如何保障防火墙系统自身的安全性不被破坏。
性能提高未来的防火墙产品由于在功能性上的扩展,以及应用日益丰富、流量日益复杂所提出的更多性能要求,会呈现出更强的处理性能要求,而寄希望于硬件性能的水涨船高肯定会出现瓶颈,所以诸如并行处理技术等经济实用并且经过足够验证的性能提升手段将越来越多的应用在防火墙产品平台上;
相对来说,单纯的流量过滤性能是比较容易处理的问题,而与应用层涉及越密,性能提高所需要面对的情况就会越复杂;
在大型应用环境中,防火墙的规则库至少有上万条记录,而随着过滤的应用种类的提高,规则数往往会以趋进几何级数的程度上升,这是对防火墙的负荷是很大的考验,使用不同的处理器完成不同的功能可能是解决办法之一,例如利用集成专有算法的协处理器来专门处理规则判断,在防火墙的某方面性能出现较大瓶颈时,我们可以单纯地升级某个部分的硬件来解决,这种设计有些已经应用到现有的产品中了,也许未来的防火墙产品会呈现出非常复杂的结构,当然,从某种角度来说,我们祈祷这种状况最好还是不要发生。
另外根据经验,除了硬件因素之外,规则处理的方式及算法也会对防火墙性能造成很明显的影响,所以在防火墙的软件部分也应该会融入更多先进的设计技术,并衍生出更多的专用平台技术,以期缓解防火墙的性能要求。
综上所述,不论从功能还是从性能来讲,防火墙产品的演进并不会放慢速度,反而产品的丰富程度和推出速度会不断的加快,这也反映了安全需求不断上升的一种趋势,而相对于产品本身某个方面的演进,更值得我们关注的还是平台体系结构的发展以及安全产品标准的发布,这些变化不仅仅关系到某个环境的某个产品的应用情况,更关系到信息安全领域的未来。
第6章:
结束语
从目前防火墙产品及其功能上,可以看到防火墙的扩展功能将进一步完善,而且随着算法的优化,使对网络流量的影响减低到最少IP。
的加密需求越来越强,安全协议的开发是一大势点。
对网络攻击的检测和告警将成为防火墙的重要功能,将逐步建立和完善入侵检测数据库。
到目前为止,新一代的防火墙采用信息安全技术,使得其功能更强大、安全性更强,可以抵御常见的网络攻击,如IP地址欺骗、特洛伊木马程序、Internet蠕虫、拒绝服务攻击等等。
但是,网络的安全是一种相对的安全,目前还没有一种技术可以百分之百解决网络上的信息安全问题。
防火墙是一个确保网络安全的强大工具,但是现有的防火墙有其局限性。
乐观的是:
越来越多的大学院校和研究机构开始研究计算机与通信安全问题。
我们相信,在不远的将来,肯定会出现全方位的“360度”防火墙,这需要一代一代人不断的努力。
谢辞在论文的写作过程中,王立伟老师帮助了我很多。
虽然在这个过程中没有看过的稿子,但是王老师课上的言传身教对我的影响非常之大。
另外还想特别表达感谢的是王老师这次论文作业要求,开始或许会觉得非常的严格,几乎不能出错,
参考文献:
[1]廖春盛.校园网络防火墙系统的设计与实现[J].华南师范大学学报,2000.
[2]徐孝凯,张纪勇.C++面向对象程序设计VC++6.0运行环境[M].天津大学出版社2009.
[3]郎锐,罗发根.VisualC++网络通信程序开发指南[M].北京:
机械工业出版社,2004
[4]朱桂英,张元亮.VisualC++网络编程开发与实践[M].清华大学出版社,2013.
[5]吴桂华.目前防火墙中的最新技术及发展[J].消费电子,2014.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 防火墙 设计 实现