题目 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页
HostKvm,我们很多人都算是比较熟悉的国人服务商,旗下也有多个品牌,差异化多占位策略营销的,商家是一个创建于2013年的品牌,有提供中国香港、美国、日本、新加坡区域虚拟化服务器业务,所有业务均对中国大陆地区线路优化,已经如果做海外线路的话,竞争力不够。今天有看到HostKvm夏季优惠发布,主要针对香港国际和韩国VPS提供7折优惠,折后最低月付5.95美元,其他机房VPS依然是全场8折。第一、夏...
DiyVM是一家成立于2009年的国人主机商,提供的产品包括VPS主机、独立服务器租用等,产品数据中心包括中国香港、日本大阪和美国洛杉矶等,其中VPS主机基于XEN架构,支持异地备份与自定义镜像,VPS和独立服务器均可提供内网IP功能。商家VPS主机均2GB内存起步,三个地区机房可选,使用优惠码后每月69元起;独立服务器开设在香港沙田电信机房,CN2线路,自动化开通上架,最低499元/月起。下面以...
Budgetvm(原EZ机房),2005年成立的美国老品牌机房,主打美国4个机房(洛杉矶、芝加哥、达拉斯、迈阿密)和日本东京机房的独立服务器和VPS业务,而且不限制流量,默认提供免费的1800G DDoS防御服务,支持IPv6和IPMI,多种免费中文操作系统可供选择,独立服务器主打大硬盘,多硬盘,大内存,用户可以在后台自行安装系统等管理操作!内存可定制升级到1536G,多块硬盘随时加,14TBSA...