Windows下简易防火墙的设计与实现
课题背景
防火墙是一种隔离技术,是一类防范措施的总称,利用它使得内部网络与Internet或者其他外部网络之间相互隔离,通过限制网络互访来保护内部网络。防火墙是建立在内部网络与外部网络之间的唯一安全通道,简单的可以只用路由器实现,复杂的可以用主机甚至一个子网来实现,它可以在IP层设置屏障,也可以用应用软件来阻止外来攻击。通过制定相应的安全规则,可以允许符合条件的数据进入,同时将不符合条件的数据拒之门外,这样就可以阻止非法用户的侵入,保证内部网络的安全。
本课题研究意义
随着计算机技术和网络技术的发展,计算机网络给人们带来了很多便利,于此同时网络安全的问题也伴随着网络技术的发展而日趋严重。使用防火墙能很好的提高系统的安全性,减少系统受到网络安全方面的威胁。本毕业设计选择开发一个Windows下的防火墙,它能够对网络IP数据包按照用户的设置进行过滤。通过此防火墙的开发锻炼了学生的实际动手能力对以后的学习和工作能力的培养具有重要意义。
本课题研究方法
本设计是使用VC++ 6.0的开发环境,运用IP过滤钩子驱动技术设计和实现的。本次毕业设计应首先分析防火墙的相关功能,结合本次毕业设计的相关要求写出需求分析;其次,综合运用以前所学的相关知识,在设计中以需求分析为基础,写出系统开发计划、实现流程及相关问题的实现方法;同时,在开发设计与实现中,要保存好相关的设计文档。
2 防火墙概述
2.1 防火墙的定义
防火墙是指设置在不同网络(如可信任的企业内部网和不可信的公共网)或网络安全域之间的一系列部件的组合。它可通过监测、限制、更改跨越防火墙的数据流,尽可能地对外部屏蔽网络内部的信息、结构和运行状况,以此来实现网络的安全保护。
在逻辑上,防火墙是一个分离器,一个限制器,也是一个分析器,有效地监控了内部网和Internet之间的任何活动,保证了内部网络的安全。
防火墙是设置在被保护网络和外部网络之间的一道屏障,实现网络的安全保护,以防止发生不可预测的、潜在破坏性的侵入。防火墙本身具有较强的抗攻击能力,它是提供信息安全服务、实现网络和信息安全的基础设施。
摘 要
当今时代是飞速发展的信息时代,计算机与信息处理技术日渐成熟。随着Internet和计算机网络技术的蓬勃发展,网络安全问题现在已经得到普遍重视。网络防火墙系统就是网络安全技术在实际中的应用之一。本设计实现的防火墙采用IP过滤钩子驱动技术,过滤钩子驱动是内核模式驱动,它实现一个钩子过滤回调函数,并用系统提供的IP过滤驱动注册它,IP过滤驱动随后使用这个过滤钩子来决定如何处理进出系统的数据包。本防火墙由以下几个模块组成:过滤规则添加模块,过滤规则显示模块,过滤规则存储模块,文件储存模块,安装卸载规则模块,IP封包过滤驱动功能模块。用户只需要通过主界面菜单和按钮就可以灵活地操作防火墙,有效地保护Windows系统的安全。
[资料来源:Doc163.com]
关键词:防火墙;过滤钩子;过滤驱动;包过滤
The Design and Implement of Simple Windows Firewall
Abstract
The current era is a rapid development of information age. The technologies of computer and information processing become maturity. With the Internet and computer network technology to be flourishing, network security that has been widely concerned. Firewall system is one of the security technologies that used in the network. This design has implemented a firewall adopting the IP filter-hook driver technology; it’s driven through the kernel mode, the filter-hook callback function has been implemented and the filter-hook driver is registered by the IP filter driver which is provided by system. The IP filter driver uses the filter-hook to handle the data packets in and out. The firewall is composed of the following modules: adding filter rules module, display filter rules module, storage filter rules module, storage file module, installation and unloading rules module, IP packet driver module. Users can finish the operation by using main menu and button and protect the system effectively.
[资料来源:http://doc163.com]
Key words: Firewall; Filter-Hook; Filter Driver; Packet Filtering
设计思路
根据程序的需求来完成功能和模块化设计的思想,总体设计思路如下:
任何程序都必须具有和用户进行信息交互的功能,因此用户接口部必须考虑,根据功能要求,该部分应具备:用户操作的功能菜单、能对过滤规则进行设置、显示规则界面、添加规则界面。
这样程序的功能模块应该有:过滤规则添加删除功能模块,过滤规则显示功能模块,过滤规则存储功能模块,文件储存功能模块,安装卸载规则功能模块。 [版权所有:http://DOC163.com]
功能模块介绍
1 过滤规则添加删除功能模块
包过滤防火墙要进行数据包过滤就需要按照用户定义的规则进行包过滤,该功能模块就是使用户能够添加或删除过滤规则。过滤规则主要包括:源IP地址、子网掩码、端口号,目的IP地址、子网掩码、端口号,协议,以及对符合该规则的数据包是放行还是阻止进行设置。然后将设置好的规则添加到存储功能模块。
2 过滤规则显示功能模块
该功能用于显示用户添加的规则,能够对每一条规则进行删除、安装、卸载的操作,使防火墙过滤规则能够很详细的显示给用户。
3 过滤规则存储功能模块
该功能用于存储用户添加的过滤规则,接受用户对每一条规则的操作,并按照用户的操作将规则进行处理。如:安装规则,则把用户选择的规则安装到IP过滤驱动,IP接收到此规则后按照此规则进行数据包过滤。
4 文件存储功能模块
使用户添加的过滤规则能够保存成文件的形式方便储存,在用户添加规则后可以选择某一条规则进行保存,防火墙会将该规则保存为后缀名为.rul的文件,在下次打开防火墙的时候可以直接加载该规则。
5 文件载入功能模块
相对于文件储存功能模块,该功能是实现用户可以导入一个后缀名为.rul的并且保存了有效规则的文件。 [资料来源:Doc163.com]
6 安装卸载功能摸块
防火墙要过滤数据包,就需要将IP过滤驱动按照定义的规则进行过滤。用户通过添加规则将规则存储于防火墙的存储功能模块中,想要将规则发送给IP过滤驱动,就需要对该规则进行安装。安装和卸载的功能就是将过滤规则传送给IP过滤驱动或是将已安装的规则从过滤驱动中删除。
7 IP封包过滤驱动功能模块
该功能模块是整个包过滤防火墙的核心部分,IP封包过滤驱动能按照用户定义的规则对数据包做出阻止或是放行的选择。
目 录
1 引言 1
1.1 课题背景 1
1.2 本课题研究意义 1
1.3 本课题研究方法 1
2 防火墙概述 1
2.1 防火墙的定义 1
2.2 防火墙的基本策略 2 [来源:http://www.doc163.com]
2.3 包过滤防火墙 2
2.3.1 数据包 2
2.3.2 包过滤防火墙的工作原理 2
3 开发工具 3
3.1 VISUAL C++ 6.0 3
3.2 VSS 3
4 防火墙系统构成 3
4.1 需求分析 3
4.2 设计思路 4
4.3 功能模块构成 4
(毕业设计)
4.4 功能模块介绍 4
4.4.1 过滤规则添加删除功能模块 4
4.4.2 过滤规则显示功能模块 4
4.4.3 过滤规则存储功能模块 5
4.4.4 文件存储功能模块 5
4.4.5 文件载入功能模块 5
4.4.6 安装卸载功能摸块 5
4.4.7 IP封包过滤驱动功能模块 5
5 防火墙设计 5
5.1 程序关键类 5
5.1.1 应用程序类CFireWallAPP 5
5.1.2 主框架类CMainFrame 5
5.1.3 文档类CFireWallDoc 6
5.1.4 视图类CFireWallView 7
5.1.5 _RuleInfo类 7
5.2 详细设计 8
5.2.1 主界面 8
5.2.2 添加过滤规则 8
5.2.3 删除过滤规则 11
[资料来源:www.doc163.com]
5.3 驱动程序设计 13
5.3.1 简介 13
5.3.2 结构图 14
5.3.3 该驱动的优点 14
5.3.4 本程序的驱动设计 14
6 程序测试 16
结 论 18
参考文献 19
致 谢 20
声 明 21 [来源:http://Doc163.com]