题目 Windows XP包过滤防火墙的设计与实现
论文摘要
当今时代是飞速发展的信息时代计算机与信息处理技术日渐成熟。随着Internet和计算机网络技术的蓬勃发展网络安全问题现在已经得到普遍中重视。网络防火墙系统就是网络安全技术在实际中的应用之一。本设计实现的防火墙采用IP过滤钩子驱动技术过滤钩子驱动是内核模式驱动它实现一个钩子过滤回调函数并用系统提供的IP过滤驱动注册它 IP过滤驱动随后使用这个过滤钩子来决定如何处理进出系统的数据包。本防火墙由以下几个模版组成过滤规则添加模块、过滤规则显示模块、过滤规则储存模块、文件储存模块、安装卸载规则模块 IP封包过滤驱动功能模块。用户只需要通过主界面菜单和按钮就可以灵活地操作防火墙有效地保护Windows系统的安全。
关键词 防火墙过滤钩子过滤驱动包过滤
Design and Implementation of Windows XP Packet Filter Firewall
Abstract
The present era is the rapid development of the informationage,computer and information processing technology is reachingmaturity.With the Internet and the rapid development of computer networktechnology, network security issues are now widely in importance.Networkfirewal l network security technology system is one of the appl ications inpractice.The design and implementation of firewal l IP fi lter hook drivertechnology, fi lter hook driver is a kernel-mode driver,which implements a fi lterhook cal lback function,and use the IP system fi lter driver to register it, IP fi lterdriver then use this fi lter to determine how to hook processing data packetsout of the system.The firewal l component by the fol lowing template: fi lteringrule module, display module fi lter rules, fi lter rules for storage modules, fi lestorage module, the module instal led uninstal l rules, IP packet fi ltering drivermodules.Users only need to interface through the main menus and buttonshave the flexibi l ity to operate the firewal l , effectively protect Windows-basedsystem.
Key Words:Firewal l fi lter hook Fi lter Driver packet fi ltering
第2页
目 录
1 引言
1 .1 课题背景. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
1 .2 本课题研究意义. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
1 .3 本课题研究方法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
2防火墙概述
2.1 防火墙的定义. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
2.2 防火墙的基本策略. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
2.3 包过滤防火墙. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
2.3.1数据包. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
2.3.2包过滤防火墙的工作原理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
3开发工具
3.1 Visual C++6.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
3.2 Visual
SourceSafe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
4防火墙系统构成
第3页
4.1 需求分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
4.2 设计思路. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
4.3 功能模块构成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
4.4 功能模块介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
4.4.1过滤规则添加删除功能模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
4.4.2过滤规则显示功能模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
4.4.3过滤规则存储功能模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
4.4.4文件存储功能模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
4.4.5文件载入功能模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
4.4.6安装卸载功能模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
4.4.7 IP封包过滤驱动功能模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
5防火墙设计
5.1 程序关键类
5.1 .1应用程序类CFireWal lAPP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
5.1 .2主框架类CMainFrame. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
第4页
5.1 .3文档类CFireWal lDoc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
5.1 .4视图类CFireWal lView. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
5.1 .5 _RuleInfo类. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
5.2 详细设计
5.2.1主界面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
5.2.2添加过滤规则. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
5.2.3删除过滤规则. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
5.3 驱动程序设计
5.3.1简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
5.3.2结构图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
5.3.3该驱动的优点. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
5.3.4本程序的驱动设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
结 论.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
致 谢. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
第5页
Windows XP包过滤防火墙的设计与实现
1.1课题背景
防火墙是一种隔离技术是一类防范措施的总称利用踏实的内部网络与Internet或者其他外部网络之间相互隔离通过限制网络互访来保护内部网络。防火墙是建立在内部网络与外部网络之间的唯一安全通道简单的可以只用路由器实现复杂的可以用主机甚至一个子网来实现它可以在IP层设置屏障也可以用应用软件来阻止外来攻击。通过制定相应的安全规则可以允许符合条件的数据进入同时将不符合条件的数据拒之门外这样就可以阻止非法用户的侵入保证内部网络的安全。
1.2本课题研究意义
随着计算机技术和网络技术的发展计算机网络给人们带来了很多便利与此同时网络安全的问题也伴随着网络技术的发展而日趋严重。使用防火墙能很好的提高系统的安全性减少系统收到网络安全方面的威胁。本毕业设计选择开
第6页
发一个Windows下的防火墙它能够对网络IP数据包按照用户的设置进行过滤。通过此防火墙的开发锻炼了学生的实际动手能力对以后的学习和工作能力的培养具有重要意义。
1.3本课题研究方法
本设计使用VS2010开发运用IP过滤钩子驱动技术设计和实现的。本次毕业设计应首先分析防火墙的相关功能结合本次毕业设计的相关要求写出需求分析其次综合运用以前所学的相关知识在设计中以需求分析为基础写出系统开发计划、实现流程及相关问题的实现方法同时在开发设计与视线中要保存好相关的设计文档。
2 防火墙概述
2.1防火墙的定义
防火墙是指设置在不同网络如可信的企业内部网和不可信的公开网或网络安全域之间的一系列部件的组合。它可通过监测、限制、更改跨越防火墙的数据流尽可能地对外部屏蔽网络内部的信息、结构和运行状况以此来实现网络
第7页
的安全保护。
在逻辑上防火墙是一个分离器一个限制器也是一个分析器有效地监控了内部网和Internet之间的任何活动保证了内部网络的安全。
防火墙是设置在被保护网络和外部网络之间的一道屏障实现网络的安全保护以防止发生不可预测的、潜在破坏性的侵入。防火墙本身具有较强的抗攻击能力它是提供信息安全服务、实现网络和信息安全的基础设施。
2.2防火墙的基本策略
按照美国国家计算机安全协会(NCSA)的建议制定安全计划必须包括服务访问策略和防火墙设计策略。服务访问策略应包括控制用户对某些Internet服务的访问。另外用户也需要限制访问的方式如PPP或SLIP。在建立服务访问政策时需要注意两个方式
1. 不允许从Internet上访问到用户的网络但是允许个别用户设定得到的网络访问有限Internet站点。但必须进行地址伪装
2. 允许有限的从Internet上访问到公司网络如从Internet上只能访问公司的WWW和FT P服务器。
作为防火墙策略就是定义实现服务访问策略的具体规则。在实现防火墙策
第8页
略时用户可以采用以下两个原则之一
1 . 除了允许的事件之外拒绝其他所有的事件。
2. 除了拒绝的事件之外允许其他的任何事件。
制定的策略是由一条条规则构成的防火墙的规则可分为三条链输入链、
输出链和转发链。
2.3 包过滤防火墙
2.3.1 数据包
数据包是指IP网络消息。 IP标准定义了在网上两台计算机之间大宋的消息的结构结构上一个包包含了一个信息头和应被传送数据的一段消息体。Linux中包含的IP防火墙机制3种IP消息类型 ICMP Internet控制消息协议 、UDP用户数据报协议和TCP传输控制协议 。所有的IP包头包含了源、目的IP地址、 IP协议消息类型。包头里根据协议类型还包括了不同的字段。 ICMP数据包包含了一个类型字段用来标识控制或状态消息类型。UDP和TCP包包含了源和目的服务端口号。
2.3.2 包过滤防火墙的工作原理
采用这种技术的防火墙产品通过在网络中的适当位置对数据包进行过滤
第9页
LayerStack(成立于2017年),当前正在9折促销旗下的云服务器,LayerStack的云服务器采用第 3 代 AMD EPYC™ (霄龙) 处理器,DDR4内存和企业级 PCIe Gen 4 NVMe SSD。数据中心可选中国香港、日本、新加坡和洛杉矶!其中中国香港、日本和新加坡分为国际线路和CN2线路,如果选择CN2线路,价格每月要+3.2美元,付款支持paypal,支付宝,信用卡等!...
近日CloudCone发布了七月的特价便宜优惠VPS云服务器产品,KVM虚拟架构,性价比最高的为2核心1.5G内存1Gbps带宽5TB月流量,2.89美元/月,稳定性还是非常不错的,有需要国外便宜VPS云服务器的朋友可以关注一下。CloudCone怎么样?CloudCone服务器好不好?CloudCone值不值得购买?CloudCone是一家成立于2017年的美国服务器提供商,国外实力大厂,自己开...
RAKsmart 商家估摸着前段时间服务器囤货较多,这两个月的促销活动好像有点针对独立服务器。前面才整理到七月份的服务器活动在有一些配置上比上个月折扣力度是大很多,而且今天看到再来部分的服务器首月半价,一般这样的促销有可能是商家库存充裕。比如近期有一些服务商挖矿服务器销售不好,也都会采用这些策略,就好比电脑硬件最近也有下降。不管如何,我们选择服务器或者VPS主机要本着符合自己需求,如果业务不需要,...