APP下载

基于Windows的包过滤防火墙的设计与实现

2018-05-11李冬芬于北瑜

网络安全技术与应用 2018年5期
关键词:功能模块IP地址数据包

◆李冬芬 于北瑜 肖 敏



基于Windows的包过滤防火墙的设计与实现

◆李冬芬 于北瑜 肖 敏

(广东海洋大学数学与计算机学院 广东 524088)

本文采用VS2010和VC ++6.0开发,利用IP过滤钩子驱动程序的设计和实现技术,实现了基于Windows系统下的包过滤防火墙。试验结果表明,该技术可靠、稳定,具有一定的实用性。

包过滤防火墙;Windows;网络安全

0 引言

互联网是一个开放的网络,将全世界的人联系在一起,促进了信息交流和共享。但是互联网也是一把双刃剑,互联网信息安全问题日益突出。随着大数据时代的来临,人们的日常生活、工作、学习越来越离不开网络,大量的个人信息暴露在互联开放的网络中,每天都发生无数起网络安全事件。2016年公安机关网络安全保卫部门共侦破侵犯公民个人信息犯罪案件1800余起,查获各类公民个人信息300余亿条[1]。党的十八大以来,以习近平同志为核心的党中央站在战略高度与长远角度,将网络安全和信息化工作提升到前所未有的高度。

防火墙系统是目前使用最多的一种网络安全防护技术,通过在用户的内网和外网之间架设一道防火墙系统,保障内网用户的信息安全,阻止黑客的非法入侵[2]。包过滤型防火墙工作在OSI参考模型的网络层以及传输层[3],在网络层中根据用户设置的安全访问策略(过滤规则),检查每一个数据包的源IP地址、目的IP地址以及IP分组头部的其他各种标志信息(如协议、服务类型等),确定允许或禁止该数据包通过防火墙[4]。因此包过滤型防火墙处理数据包的速度快,并且容易配置,实现成本低。本文探讨基于Windows的包过滤防火墙的设计与实现。

1 功能结构

本设计采用VS2010和VC ++6.0开发,利用IP过滤钩子驱动程序的设计和实现技术,开发了基于Windows操作系统的简单包过滤型防火墙,该防火墙能够按照用户设置的过滤规则对网络的IP数据包进行处理。该防火墙功能主要包括以下几个方面:

(1)用户设置过滤规则:设置源IP地址、目标IP地址、端口号、协议;

(2)过滤规则的添加、删除和保存;

(3)过滤规则的安装和卸载。

(4)IP封包过滤驱动。

具体的功能结构如图1所示。

2详细设计

2.1 过滤规则设置功能模块

包过滤防火墙根据用户设定的过滤规则检查每一个数据包的源IP地址、目的IP地址以及IP分组头部的其他各种标志信息(如协议、服务类型等)确定是否允许该数据包通过防火墙[4]。所以在设置过滤规则时,需要设置源IP地址、目标IP地址、端口、协议和动作。其设置规则的界面如图2所示。

图1 系统功能结构

图2用户设置过滤规则界面图

2.2过滤规则添加删除和存储功能模块

在该功能模块中,用户能添加、删除和保存过滤规则。

2.2.1添加过滤规则

添加规则时,用户在取得添加规则对话框中的数据后,判断格式是否匹配,若否则要输入正确的规则,才能将取得的数据添加到文档类中。

2.2.2删除过滤规则

删除规则时,用户先选定规则,然后判断规则是否正在过滤,若是则要先停止过滤,才能删除规则。当用户删除规则后,此规则就从文档类中删除,同时视图类需要更新显示。

2.2.3过滤规则存储

在该功能模块中,用户可以及时存储添加的过滤规则及对每一个规则的操作。下次打开防火墙可以直接加载该规则,无需手动输入那些常用的过滤规则。

2.3过滤规则安装卸载功能模块

按照用户设定的规则,IP过滤驱动进行数据包的过滤。用户对已存储的规则先进行安装,才能将规则发给IP过滤驱动,安装功能就是将过滤规则传给IP过滤驱动。如果用户要删除过滤规则时,就要先停止过滤,然后卸载该规则,最后才能删除,卸载功能就是将已安装的规则从过滤驱动中删除。

2.4 IP封包过滤驱动功能模块

该功能模块用DrvFltIp驱动程序分别对数据包和TCP数据包,以及UDP数据包进行封包,由IP过滤钩子处理进出的封包。

3 测试使用

测试计算机位于网关地址为192.168.0.1的局域网内,本地IP地址为:192.168.0.99。通过局域网连接外部网络,可以PING通本地网关地址192.168.0.1和电信DNS服务器地址218.85.152.99,如图3和图4所示。

图3 ping192.168.0.1图

图4 ping218.85.152.99图

运行防火墙,点击“Add Rule”按钮进行过滤规则设置,如图5所示。

Source IP Address:192.168.0.1

Destination IP Address:192.168.0.99

Port:0

Protoco:ICMP

Action:Drop(丢弃)

图5添加规则界面

点击“A?adir”按钮将规则保存到防火墙,如图6所示。

图6规则保存到防火墙

点击“Install”防火墙将过滤规则传递给过滤驱动,点击“Star”防火墙开始过滤数据包,如图7所示。

图7开始过滤数据包

测试计算机可以和本地网关(路由器)及电信DNS服务器进行ICMP数据包收发。若用户在防火墙上设置过滤源IP地址为192.168.0.1、协议为ICMP的规则之后,再次运行该防火墙,测试计算机和本地网关(路由器)不能进行数据包收发,在连接时命令显示为“Request timed out”(如图8所示)。但是测试计算机还能和电信DNS服务器218.85.152.99进行数据收发(如图9所示)。

图8 ping192.168.0.1图

4结束语

本设计主要功能建立在驱动及钩子机制上,不仅提高了程序工作效率,也使程序覆盖面更加广,泛用性更高,而且使用过程中,对用户来说也将更加安全和稳定。

图9ping218.85.152.99图

[1]中共中央网络安全和信息化领导小组办公室. 公安部: 严打侵犯公民个人信息犯罪[EB/OL]. http://www.cac.gov.cn/2016-12/18/c_1120138724.htm,2016-12-18.

[2]蒙磊,李双虎,杨海艳. 基于freebsd包过滤防火墙的设计与实现[J].网络安全技术与应用,2014,(10):70,72.

[3]杨秋. 基于Windows的个人防火墙的设计与实现[D].大连:大连理工大学,2013.

[4]冷继兵. 基于主动防御的校园网研究与实现[D].西安:西安电子科技大学,2009

猜你喜欢

功能模块IP地址数据包
二维隐蔽时间信道构建的研究*
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
铁路远动系统几种组网方式IP地址的申请和设置
SmartSniff
IP地址切换器(IPCFG)
基于SNMP的IP地址管理系统开发与应用
公安网络中IP地址智能管理的研究与思考
基于ASP.NET标准的采购管理系统研究
输电线路附着物测算系统测算功能模块的研究
功能模块的设计与应用研究