2012年8月第31卷第8期绵阳师范学院学报JournalofMianyangNormalUniversityAug.
,2012Vol.
31No.
8收稿日期:2012-06-04回修日期:2012-06-19基金项目:安徽省2010年高等学校省级质量工程特色专业(网络系统管理20101425)作者简介:李长春(1976-),男,实验师,主要研究方向:计算机网络安全.
状态检测防火墙技术原理研究与安全性改进方法李长春(滁州职业技术学院,安徽滁州239000)摘要:通过对传统包过滤防火墙系统的缺陷分析,阐述了状态检测技术的实现过程,提出在状态检测技术中利用动态管理超时机制实现DoS攻击防御和带宽合理分配.
并在实验环境中对状态检测防火墙系统的安全性进行了测试.
实验结果表明,其对IP层及高层协议内容进行检测分析,能较好地解决包过滤防火墙安全性缺陷.
关键词:状态检测;防火墙;状态表;规则表;超时值中图分类号:O175.
12文献标识码:A文章编号:1672-612x(2012)08-0080-070引言随着互联网技术迅速发展,大量基于互联网的网络应用出现,要求网络环境应具备更广泛的开放性和共享性,于此带来网络安全的问题亦日益严重.
防火墙技术是相对比较成熟可靠的安全技术,是目前解决网络安全威胁最简单有效的安全措施.
传统包过滤防火墙是对每个IP包头相关信息进行检测,决定数据转发或丢弃.
只是局限单个数据包处理,这样在整体的系统性能方面明显存在不足.
基于状态检测防火墙不仅对数据包的IP地址、端口、协议类型等参数进行规则匹配检查,并且通过分析提取数据包连接状态的相关信息建立一个状态表,利用状态表对进出网络所有数据包的每次会话状态进行跟踪检测.
通过对数据包通信状态信息的检测判断来处理数据,明显提高了防火墙的安全性和处理效率,防火墙整体性能有了大幅度的提升.
1包过滤防火墙技术1.
1防火墙定义防火墙(FireWall)是位于两个或多个网络间,实施网络间访问控制策略的一系列部件集合,实质就是对通过的所有数据实现隔离控制[1].
实现原理就是预先定义好过滤规则,对访问内外网络的所有数据实施检测、审查和过滤,只允许经过确认、授权和符合安全策略的数据通过.
防火墙应具备以下功能:(1)限制非安全网络的访问(2)防止内网信息泄漏(3)对网络访问进行审计和报警(4)防火墙自身对入侵应具有非常强的抗攻击免疫力1.
2包过滤防火墙包过滤防火墙主要通过事先定义的过滤规则对每个进出的数据包进行审查,判断其是否和规则表中的某一条规则匹配,再作出相应的动作(Accept/Deny).
包过滤防火墙主要是基于网络层的IP包检查,检查包头中的源IP地址、目的IP地址、源端口、目的端口和协议类型等元组,然后依据过滤规则表对进出的IP数据包实施操作.
1.
3包过滤防火墙的缺陷安全性方面:DOI:10.
16276/j.
cnki.
cn51-1670/g.
2012.
08.
024传统包过滤防火墙在安全性方面存在一些不足,通过具体应用实例进行说明,拓扑结构如图1所示.
部署防火墙定义过滤规则对内外网络数据流进行检查,打开客户机和服务器之间的数据通道,实现客户机对Web服务器的访问.
图1包过滤防火墙拓扑结构Fig.
1Topologyofpacketfilteringfirewall过滤规则使用(Saddress,Sport,Daddress,Dport,Protocol,Accept/Deny)格式进行简单的描述.
在包过滤防火墙中定义如下过滤规则:规则1:C_address,X,S_address,80,TCP,ACCEPT规则2:S_address,80,C_address,X,TCP,ACCEPT规则1表示防火墙允许客户机访问服务器,服务器使用固定的80端口实现Web服务,客户机的端口号X是由操作系统在1024-65535范围内临时动态分配.
规则2表示防火墙允许服务器通过80端口将回应数据包传送给客户机.
服务器继续使用固定的80端口,客户机的端口号X仍然由操作系统动态分配.
通常防火墙只允许外部用户访问内部网络已知的端口,对内部网络的随机端口是禁止访问的.
但是防火墙对客户机端口号X事先是不知道的,如要实现Web服务器响应数据包到达客户机,包过滤防火墙只有全部开放客户端可以动态分配到的端口区域(1024-65535).
通过分析可以看出,客户端上所有端口必须处于开放的状态才能实现通信.
对于从Web服务器发出的源端口号80且目标端口任意值的数据包,防火墙没有进行检查,这个存在的漏洞就会被一些有不良企图的攻击者利用.
包过滤只是基于数据包头部的IP地址和端口号的过滤,不能有效地防止地址的欺骗和不同的用户识别.
攻击者就可以在服务器上伪造一个端口为80的数据包,欺骗防火墙到达客户机[2].
传统包过滤防火墙不能够对动态端口连接实施较好的处理,无法根据某个连接情况来开放具体的使用端口.
对已经没有数据传输的连接,这些端口还处于开放状态,防火墙并没有关闭端口而缺乏动态性的操作.
处理性能方面:包过滤防火墙在网络层对IP包处理,无需协议栈高层处理,速度较快.
但随着过滤规则表的长度和复杂度的增加,包过滤的处理性能就会明显下降.
当一个数据包需要进行转发处理,防火墙系统中规则表即对其进行匹配检查.
在最不理想的检查状态下,第一条匹配不成功就进行下一条匹配检查,直到规则表中所有规则都检查完毕,在检查期间某条规则可能匹配成功[2].
对后续的数据包同样进行如此的重复性检查操作.
现假设防火墙定义了N条规则,在最不理想状态下就需要进行N条规则匹配,处理数据包的延迟就会变大.
状态检测防火墙通过状态检测机制能够判断当前数据包的连接状态,如当前该数据包属于某个有效会话连接的数据流,就可以穿越安全规则表检查直接进入数据处理单元.
2状态检测技术工作机制2.
1状态检测防火墙状态检测技术基于一种连接状态的检测机制,对属于同一会话连接的数据包看成一个整体的数据流[3].
对接收到的数据包进行分析提取数据信息,创建连接状态表和临时规则表,通过状态表和规则表识别和判断连接状态信息以达到对数据包的动态过滤.
从数据包中分析提取的数据信息包括IP包头信息、传输层的连接信息以及相关的应用层信息.
IP包无需协议栈上层处理,只是提取高层协议的数据内容作·18·李长春:状态检测防火墙技术原理研究与安全性改进方法第8期为下一步判断依据.
在保证处理效率的同时,为数据的处理提供了更丰富的可用信息.
在状态检测工作机制中,当数据包到达防火墙时,提取数据包中与连接状态相关的信息,并依此建立状态表,并对后续数据包的连接请求实施验证操作.
当一个新建立的连接通过了验证,这个连接的状态表项将会自动的添加到状态表中.
当一个连接通信结束后,将会从状态表中自动删除该连接记录条目.
由于状态表是动态的自动更新,就可以动态的有选择的打开1024号以上的端口,只要当该连接通信结束后,端口就立即被关闭.
相对于传统包过滤防火墙静态规则过滤具有更好的灵活性和安全性,性能得到了进一步的提高.
2.
2规则表和状态表结构状态检测技术的实现是依据系统内核中两张表,即状态表和规则表.
规则表记录着IP包头的地址、端口、协议等相关参数信息,状态表记录着每个通过防火墙的数据连接相关连接信息和状态信息.
图2状态检测工作流程Fig.
2Workflowofstatedetection规则表由用户根据需求事先定义的,由(sa,da,sp,dp,protocol_type,direc-tion)六元组构成[4],其中sa,da,sp,dp,分别代表源地址、目的地址、源端口号、目的端口号,protocol_type为协议类型,direction为数据流方向.
状态表由程序动态生成和管理的,由(sa,da,sp,dp,state,Timeout,protocol_type,sequence_number,N)九元组构成[4],其中sa,da,sp,dp同规则表意义,state是数据连接状态,Timeout是指数据连接的超时时间,protocol_type是协议类型,分为TCP,UDP,ICMP及其他协议类型,sequence_number是数据包序列号(UDP及其他协议均为空),N表示该连接与状态表匹配通过的数据包数目.
2.
3状态检测工作流程数据包到达状态检测接口时,通过对数据进行分析提取报文头信息,检查数据包是否符合在状态表中某个有效的会话连接记录,如符合记录则根据报文头信息更新状态表.
如果数据包与状态表项都不匹配,即检测数据包与规则表是否匹配,不匹配数据包丢弃.
如匹配进一步判断是否允许建立新连接,这时根据IP协议承载的上层不同协议类型建立新表项,最终报文加载状态信息进行处理.
具体的状态检测工作流程如图2所示.
3基于传输层协议状态检测的实现状态检测防火墙接收到数据包时,根据数据包所使用的不同协议类型,系统将调用不同的协议程序解析数据包头相关信息参数,最后对相关参数符合条件的数据包进行处理[5].
根据状态检测工作流程图可以得出IP报文承载的协议区分为TCP、UDP、ICMP等协议.
由于使用协议不同处理数据包方式、检查程度也不同,所以要采用不同的策略对数据包进行操作处理[6].
下面主要分别对传输层的TCP和UDP协议数据包状态检测实现进行分析.
3.
1TCP数据包状态检测TCP协议是基于面向连接的传输层协议,通过握手协议确保数据包的安全可靠的传输.
使用"三次握手"建立一个连接,"四次握手"关闭一个连接[7].
·28·第31卷绵阳师范学院学报(自然科学版)TCP数据包状态检测如图3所示.
状态检测接口接收到TCP数据包,首先对TCP包进行完整性检查和流量检查.
通过检查来判断数据包长度是否相等、物理地址是否正确等等,还要防止对TCP连接的SynFlood的攻击.
其次判断是否是SYN连接,对于发起的SYN连接的数据包进行规则匹配检查,匹配规则通过后创建状态表置定时器.
非SYN连接,将直接查询状态表匹配.
如存在连接记录,则对数据包进行合法性检查,主要是指序列号进行上下边界检查和ACK确认序号检查,可以防止伪造序列号的包进行重播报文的攻击[8].
检查通过后将动态更新该连接状态信息,否则丢弃数据包.
图3TCP数据包状态检测Fig.
3StatedetectionofTCPpacket状态检测防火墙接收到数据包时,在对数据包通过规则检查后,记录相关状态信息.
该连接后续数据包只需要对其在数据流中的状态合法性进行检查,无需规则表检查.
数据包避免了重复性的规则检查,防火墙系统的整体效率性能得到极大地提高.
3.
2UDP数据包状态检测UDP和TCP协议同属于传输层协议.
通过对TCP数据包检测分析可知状态检测是基于连接的,基于无连接的UDP数据包是不能直接进行状态检测,可以通过采用建立虚连接的方法实现.
UDP包的状态表由(sa,da,sp,dp,Timeout,N)六元组构成[3],表中各字段意义同上文状态表.
UDP数据包状态检测如图4所示.
·38·李长春:状态检测防火墙技术原理研究与安全性改进方法第8期图4UDP数据包状态检测Fig.
4StatedetectionofUDPpacketUDP协议虽然本身没有状态,仍可以运用和TCP协议相似的处理方法[7].
状态检测接口接收到UDP包,查看临时状态表.
若是一个新连接,接受规则表的匹配检查,匹配后建立一个虚连接,为其在状态表中创建状态表项、置定时器后给予通过,否则丢弃.
如果当前数据包属于某个有效UDP连接,则通过查找状态表实施验证,匹配后给予通过,否则丢弃.
3.
3超时值(Timeout)动态管理机制从传输层协议状态检测实现过程分析,新的TCP包或UDP包进入状态检测系统,规则匹配后建立新连接,添加状态表记录并设置定时器.
随着大量的IP包的状态匹配,产生的连接表项将会填满整个状态表,防火墙将无法处理后续新的数据包,这就容易遭到SYN-Flood,UDP-Flood等DoS攻击.
在网络流量出现异常(某个IP数据包突然激增达到最大限值,如病毒产生的IP包)时,需要对防火墙进行改进,能够及时主动的采取措施阻止填满状态表.
状态表中Timeout元组设定每个数据连接的超时值,可以改变超时值对状态表进行动态管理.
现在多数防火墙采取固定的Timeout值解决状态表超时问题,如NetScreen公司防火墙设定TCP/UDP的Timeout值为3600s和60s.
在状态表即将填满时,对新的状态表项依然分配固定的Timeout值,无效的状态表项无法快速删除,很轻易遭到DoS攻击.
从StephenGill给出的DoS攻击所满足的条件(DoSPackets/s≥Max_Sessions/Timeout)关系式中看出,Timeout值要相应的随着数据流量变化,实现快速删除无效状态表项记录[3].
可以通过连接主动失效方式修改Timeout值,当状态表连接记录达到上限值时(状态表连接记录80%),减小Timeout值提前删除连接.
当状态表连接记录低于低限值时(状态表连接记录60%),Timeout值恢复为缺省值.
在状态表记录达到上限值时减小Timeout值,加速会话连接失效提前删除连接记录释放状态表,降低状态表填满的概率.
状态表中元组N表示每一个连接匹配通过的数据包数目,N值的不同可以区别长作业和短作业[4].
不同TCP服务Timeout值的定义,如连接未完成Timeout值设为40s,当N≤6时,Timeout值变为900s.
当N≥10时,Timeout值变为3600s.
同样不同UDP服务Timeout值的定义,当N≤4时,Timeout值设为40s,当N≥5时,Timeout值变为60s.
这样可以区别对待长作业和短作业的通信合理分配带宽.
我们可以清楚的看出,通过Timeout值的动态管理机制,有效地防御DoS攻击和合理分配网络带宽[4].
4应用层协议状态检测具体应用分析在传统包过滤防火墙上设置规则表,允许内部主机的访问外部网络,拒绝外部网络主机访问内部网络.
用户发起会话连接后返回的报文在防火墙上被过滤掉,即连接无法正常建立.
状态检测防火墙通过检测到每个用户应用连接会话时相关信息,创建一个状态表和一个临时访问规则表,并协商打开一个新的端口,并为当前会话返回的报文建立了一个临时的通道,允许报文通过,对于其他会话的报文在防火墙上给予阻断[9].
应用层检测基本原理如图5所示.
·48·第31卷绵阳师范学院学报(自然科学版)图5应用层检测基本原理Fig.
5Basicprincipleofapplication-layerdetection应用层的服务协议是基于TCP/UDP协议之上的,对于像HTTP和Telnet的协议服务只需要建立一条TCP连接,状态检测过程和TCP/UDP相似处理.
对于ftp协议服务一次会话需要建立两次TCP连接,服务需要定义控制连接和数据连接的两条连接.
在主动模式或被动模式下数据连接端口都进行动态分配[3],数据连接建立阶段对于临时开放的端口防火墙都要识别并建立新的连接,在数据传输完成后自动关闭临时开放的端口.
我们选择FTP协议实现应用层检测过程分析.
防火墙首先检查IP报文,确定是基于TCP的FTP报文;通过端口号确认为FTP控制连接,创建状态表和临时访问规则表实现返回报文通过;解析ftp控制指令更新状态表,如需建立数据通道则创建临时访问规则表,这时数据的连接无需进行状态检测.
防火墙对返回报文根据协议类型作匹配检查,通过状态表和临时访问规则表决定报文的动作;数据传输完成或超时连接断开,删除状态表和临时访问规则表关闭端口.
5状态检测技术防火墙系统安全性分析通过实验室模拟环境对状态检测防火墙安全性进行测试分析,实验模拟搭建环境如图6所示[9].
状态检测防火墙上进行过滤规则设置(用简单格式描述).
图6状态检测防火墙性能测试环境Fig.
6Testenvironmentofperformanceofstatedetectionfirewall第一步禁止ftp服务器和web服务器所在的外网访问内网,规则为(0.
0.
0.
0,X,IP_LAN,X,TCP,De-ny),其中0.
0.
0.
0表示任何地址,X表示任意端口.
第二步在实验中利用Ping命令进行测试.
Ping命令是基于ICMP的应用程序,通常用来对两节点间的连通性进行测试验证.
此时用Ping命令进行内外网PC机测试,无论从外网到内网还是从内网到外网都无法Ping通.
实验环境中ftp服务器、web服务器都无法正常访问.
第三步允许内网访问外网的web服务器.
在状态检测防火墙中只需设置一条规则为(IP_LAN,X,IP_Web,80,TCP,Accept).
依然采用Ping命令测试,内外网主机还是无法Ping通.
此时利用浏览器运行ht-tp://172.
17.
0.
2,web服务器网页是可以正常打开.
用浏览器运行ftp://172.
17.
0.
3,ftp服务器页面是打不开的,显示"ftp文件夹错误"对话窗口.
如要实现ftp服务,采用和实现web服务相似规则设置.
·58·李长春:状态检测防火墙技术原理研究与安全性改进方法第8期实验结果表明,通过状态检测防火墙不仅仅对数据包的IP地址、端口、协议类型等参数进行检查,同时检测和分析应用层协议内容.
通过对应用层协议的技术分析增强系统性能,较好地解决传统包过滤防火墙的安全性缺陷.
但是状态检测技术防火墙也存在着不足的地方,它对应用层的检测程度以及检测的具体实现方式还不很清楚,还需要对更多的应用层协议服务进行深入、全面的分析[7].
对于来自应用层的大多数安全威胁未能预防,无法检测出数据包的负载流量以及应用层的薄弱点.
还不能防止像冲击波、震荡波等破坏性的网络攻击.
像病毒、蠕虫,盗号木马、间谍软件、恶意代码、垃圾邮件、广告视频等都能够通过邮件发送、网页浏览,文件下载穿过状态防火墙,状态检测防火墙无法抵御这些网络攻击,不能够提供完整的安全保护.
基于深度包检测技术应运而生,深度包检测技术能够深入的分析数据包的有效净荷,识别各种应用及其内容,分析收到的信息判断对于网络是否安全,弥补了状态检测防火墙的不足,将成为安全领域一个新的研究方向.
6结束语防火墙技术追求的目标是安全性能和处理速率.
本文通过对传统包过滤防火墙技术不足的分析表明,已无法满足当前网络安全的需求.
状态检测防火墙对网络数据流实行状态检测分析,分析感知IP层及以上协议层的信息,为防火墙系统提供了丰富的检测判断信息,提高了防火墙的安全性和效率性.
但状态检测防火墙只是跟踪检测连接状态,对应用层数据内容的分析还是有限的,基于状态检测的防火墙技术还需进一步的改进和完善,需要和入侵检测技术、VPN技术、病毒防范技术、身份认证技术等融合,进一步提供更加健壮和动态的网络安全保护能力,使网络管理更加具有灵活性.
随着算法的优化,芯片技术的发展,相信基于状态检测技术的防火墙有着广阔的发展前景.
参考文献:[1]李涛著.
网络安全概论[M].
北京:电子工业出版社,2004.
[2]曾翔.
基于状态检测的防火墙技术及其数学分析模型研究[D]贵州:贵州大学,2005.
[3]李俊娥,王婷,雷公武.
UDP状态检测防火墙及实现方法[J]武汉大学学报(工学版),2004,37(2):69-73.
[4]迟秀伟,唐朔飞,季振州,等.
基于状态检测的TCP包过滤的设计与硬件实现[J].
计算机工程与科学,2006,28(10):23-31.
[5]周曦.
基于状态检测个人防火墙的设计[J].
长江大学学报(自然科学版),2010,7(1):252-253.
[6]赵轩.
基于状态检测的硬件防火墙实现技术研究[D]长沙:国防科学技术大学,2004.
[7]郭锡泉.
应用层协议分析在状态检测防火墙中的应用[J].
计算机工程,2007,33(3):154~156[8]肖鹏.
状态检测防火墙的设计与实现[D].
合肥:合肥工业大学,2008.
[9]杭州华三通信技术有限公司.
路由交换技术[M].
北京:清华大学出版社,2011.
OnTechnologyPrincipleofState-detectingFirewallanditsSecurityImprovementLIChang-chun(ChuzhouVocationalandTechnicalCollege,Chuzhou,Anhui239000)Abstract:Thispaperisto,analyzingofthedefectsofthetraditionalpacketfilteringfirewallsystem,intro-ducetheimplementationprocessofthestatedetectiontechnology,proposetousedynamicmanagementmechanismoftime-outvalueofstateinspectionfirewalltorealizeDoS(denialofservice)attackdefenseandreasonablebandwidthallocation,totestthesecurityofstateinspectionfirewallinthesimulationenvironment.
ExperimentalresultsshowthatthedetectionandanalysisoftheIPlayerandthehigh-levelagreementcanbettersolvesecuritydefectsofthepacketfilteringfirewall.
Keywords:Statedetection;firewall;statetable;ruletable;time-outvalue·68·第31卷绵阳师范学院学报(自然科学版)
HostKvm又上新了,这次上架了2个线路产品:俄罗斯和香港高防VPS,其中俄罗斯经测试电信CN2线路,而香港高防VPS提供30Gbps攻击防御。HostKvm是一家成立于2013年的国外主机服务商,主要提供基于KVM架构的VPS主机,可选数据中心包括日本、新加坡、韩国、美国、中国香港等多个地区机房,均为国内直连或优化线路,延迟较低,适合建站或者远程办公等。俄罗斯VPSCPU:1core内存:2G...
柚子互联官网商家介绍柚子互联(www.19vps.cn)本次给大家带来了盛夏促销活动,本次推出的活动是湖北十堰高防产品,这次老板也人狠话不多丢了一个6.5折优惠券而且还是续费同价,稳撸。喜欢的朋友可以看看下面的活动详情介绍,自从站长这么久以来柚子互联从19年开始算是老商家了。六五折优惠码:6kfUGl07活动截止时间:2021年9月30日客服QQ:207781983本次仅推荐部分套餐,更多套餐可进...
关于半月湾HMBCloud商家之前也有几篇那文章介绍过这个商家的产品,对于他们家的其他产品我都没有多加留意,而是对他们家的DC5机房很多人还是比较喜欢的,这个比我们有些比较熟悉的某商家DC6 DC9机房限时,而且半月湾HMBCloud商家是相对便宜的。关于半月湾DC5机房的方案选择和介绍:1、半月湾三网洛杉矶DC5 CN2 GIA同款DC6 DC9 1G内存 1TB流量 月$4.992、亲测选择半...
测网速度为你推荐
水土保持ios8ipad如何上网IPAD4怎样上网?ipadwifiIPAD连上了WIFI,但是无法上网,急!!ms17-010win10pybaen.10.的硬币是哪国的再中国至多少钱googleadsence谷歌adsense是被封了么?googleadsencegoogle adsense打不开怎么办routeaddroute add 添加路由的命令,内网和外网如何同时上morphvoxpro教程哪位大佬可以帮忙调一下morphvox pro的女声啊,我调了一天还是没调明白bitchina2015年igem国内大学参加结果bitchinaBTchina和VeryCD是什么意思?这与87.53有什么关系?
长沙虚拟主机 如何注册网站域名 linuxapache虚拟主机 域名停靠一青草视频 realvnc 12306抢票助手 日本空间 元旦促销 老左正传 共享主机 免费全能主机 如何用qq邮箱发邮件 免费邮件服务器 web应用服务器 lamp怎么读 阿里dns 万网服务器 谷歌搜索打不开 架设代理服务器 美国代理服务器 更多