APP下载

计算机网络安全与防火墙技术分析

2013-11-15李国芳

电子测试 2013年14期
关键词:数据包防火墙实体

李国芳

(广州卫生学校,广东广州,510450)

0 引言

计算机安全是全球网络中最重要的课题,计算机安全与管理,特别是关系国计民生的项目,例如银行、航空、电网、科研等都是计算机安全维护的核心和重点。当前影响到计算机网络的因素有很多,不少因素有可能是有意、也可能是人为造成的,因此研究网络安全造成的因素有很现实的意义。

防火墙(英文:firewall)是一项协助确保信息安全的设备,会依照特定的规则,允许或是限制传输的数据通过。其主要指的是一个由软件和硬件设备组合而成、在内部网和外部网之间、专用网与公共网之间的界面上构造的保护屏障。

1 防火墙的分类

随着互联网技术的发展,防火墙的技术也在不断更新换代,当前防火墙的分类和功能已经有了明显的提升,从其功能而言,我们可以直接划分为两大类:包过滤防火墙和应用级防火墙。

1.1 包过滤防火墙

又叫网络级防火墙,因为它的整个检测工作主要是在网络层运行的。其主要是通过检测网络中收发的包地址、协议、端口等信息,通过判断该包是否符合发放要求来决定该包是否能够通过。一般而言,路由器中就包含着这样的网络级防火墙。

1.2 应用级防火墙

应用级防火墙主要的工作内容是检测进入的数据包,通过网关复制传递数据,防止受信主机与非受信主机间直接建立联系。

应用级防火墙在实际使用中,由于在网络中通过防火墙访问Internet,,因此一旦网络不稳定或者网络存在故障时,可能会出现多次登录、数据延迟等问题。因此可知,使用应用级防火墙的协议代理软件,其效率远远不及网络防火墙。

包过滤防火墙和应用级防火墙是网络防火墙中最常见的两种防毒方式,它们都是通过分析数据包、根据规则解析数据包,并将数据包再次传递,从而有效的方式病毒的侵入,维护网络安全。

2 防火墙功能分析

当前市面上的防火墙主要有如下几种功能来确保网络安全:

2.1 数据包过滤

包过滤是防火墙所要实现的最基本功能,现在的防火墙已经由最初的地址、端口判定控制,发展到判断通信报文协议头的各部分,以及通信协议的应用层命令、内容、用户认证、用户规则甚至状态检测等等。

2.2 审计和报警机制

在防火墙结合网络配置和安全策略对相关数据分析完成以后,就要作出接受、拒绝、丢弃或加密等决定(target)。如果某个访问违反安全规定,审计和报警机制开始起作用,并作记录,报告等等。

2.3 远程管理

防火墙管理界面一般是对防火墙进行配置、管理和监控、查阅当前状态等。防火墙管理界面设计直接关系到防火墙的使用方便性和安全性。

2.4 NAT

网络地址转换似乎已经成了防火墙的“标配”,绝大多数防火墙都加入了该功能。 目前防火墙一般采用双向NAT:SNAT和DNAT。SNAT用于对内部网络地址进行转换,对外部网络隐藏起内部网络的结构,使得对内部的攻击更加困难;并可以节省IP资源,有利于降低成本。DNAT主要实现用于外网主机对内网和DMZ区主机的访问。

2.5 流量控制和统计分析模块

流量控制对于防火墙技术而言是较为简单的统计功能,其主要可以分为基于单个IP地址控制或者基于用户控制。基于IP地址控制是对整个防火墙的网络接口流量进行统一的控制,而基于用户控制是通过判断用户登录的用户名进行分析每个用户的使用流量,从而有效的方式某些应用程序或者用户占用资源过多而造成资源的浪费。

3 有状态防火墙的工作流程和算法

为了能够更清晰的阐述防火墙在防毒过程中的变化,本文就有状态防火墙的算法进行了阐述,当然防火墙的实际算法不止这一种,但是基于此算法我们还能够看出防火墙的整个工作状态。

3.1 有状态放火墙的工作流程。

整个包过滤防火墙在收集到数据包头信息之后,会对其进行数据解析,通过与规则库中的安全规则进行匹配之后,确认该数据包是否需要丢弃或者放行,因此,在此一过程中,CheckPoint首先提出了一种新的防火模式——有状态防火墙。其主要基于一个基本事实,即网络中大部分数据都是通过面向连接的TCP协议进行传输,只要控制整个连接过程就可以认为该信息通信过程是可信的,有状态防火墙的数据处理流程如下图1所示。

3.2 工作机制

本文主要是以对象的方式和管理连接整个实体,每个实体是一个对象,对象都是有生命周期、属性和实现方法。

实体的产生过程:每个Client和Server之间连接的三次握手过程,构成一个实体的产生,这是一个临时过程,一旦连接成功,防火墙将会生成一个完整的实体,连接失败,防火墙将会释放奔驰连接所占用的资源。

实体的状态:实体之间的记录连接记录着当前实体的状态(例如:双方连接序号、确认数据状态、连接信息状态等),随着通信环节的反复,不断更新实体状态。

实体的运行方法:对于非连接请求的数据包,如果它不属于任何一个实体装填,则被直接丢弃,对于某一实体的数据包,实体大都会检测符合TCP/IP协议的状态转换规格。

这样,实体的功能决定了防火墙过滤功能的强度,匹配算法的效率决定了防火墙的整体效率。下面对算法的实现和性能做进一步的分析。

3.3 防火墙的具体算法

防火墙效率的关键在于规则库的匹配而有状态防火墙把主要负载从规则库匹配转移到了连接实体在实体集的匹配文中提出了基于哈希表的实体管理机制分析表明算法空间复杂性为O(n)时间复杂性为O(1)可以作为防火墙比较理想的算法

1)算法

设哈希函数的输入为Packet Key (或Entity Key)按如下规则构造哈希函数Hash():

(1)Addr =sa+da,记为 Addr[ 0..32 ],33bit

(2)Port =sp+dp 记为 Port[ 0..16 ], 17bit

(3)构造位数组 Key[ 0..59 ]= [ Addr[ 0..32 ],0*0,Port[ 0..16 ]]

(4)对Key[ 0..59 ]分三段进行折叠异或运算,取结果为Result[ 0..19 ],20bit等效运算如图4 所示:2)算法实现

综合以上论述下面给出算法实现的主体框架

int Process struct Packet packet

{

if packet (3way hand shake packet)

return EntityBuildProc(packet); // 判断为3 次握手数据转对应处理程序

if EntitySet[Hash(packet)]== NULL

return 1 // 在哈希表中匹配实体失败丢弃数据包

if (entity = GetEntity(EntitySet[Hash(packet),packet])== NULL

return 1 // 在冲突链表中匹配实体失败丢弃数据包

if entity.CheckState (Packet)== OK // 检查实体当前状态

{

entity.ChangeState (Packet)// 修改实体当前状态

return 0 // 接受合法数据包

}

return 1

}

int CheckState (Packet)

{

check TCP flag consistency

check Sequence Number

check Acknowledgment Number

extended check behavior // 扩展功能例如基于内容的过滤

}

4 结语

防火墙技术从总体而言还处于一个发展阶段。要真正的实现其主动、自动抵御外来侵入,还需要对网络进行更多的设置和保护。因此,密切关注防火墙的最新发展,对推动lntemet在我国的健康发展有着重要的意义。

[1]张鸣,高杨.计算机网络安全与防火墙技术研究.河南:黄河水利职业技术学院学报,2011

[2]曹进,张平.现代网络安全与防火墙研究.北京:中国科技信息,2006

[3]赵新亭.计算机网络防火墙技术研究.北京:中国新技术新产品,2008

[4]胡道元,闵京华.网络安全技术[M].北京:清华大学出版社,2004

[5]王竹林,张胜.网络安全实践[M].西安:电子科技大学出版社,2004

[6]袁家政.计算机网络安全与应用技术.北京:清华大学出版社,2005

[7]常红.网络安全技术与反黑客.北京:冶金工业出版社,2004

猜你喜欢

数据包防火墙实体
二维隐蔽时间信道构建的研究*
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
前海自贸区:金融服务实体
构建防控金融风险“防火墙”
SmartSniff
实体的可感部分与实体——兼论亚里士多德分析实体的两种模式
两会进行时:紧扣实体经济“钉钉子”
振兴实体经济地方如何“钉钉子”
在舌尖上筑牢抵御“僵尸肉”的防火墙
下一代防火墙要做的十件事