收藏 分销(赏)

状态防火墙.docx

上传人:xrp****65 文档编号:5868050 上传时间:2024-11-22 格式:DOCX 页数:13 大小:49.12KB 下载积分:10 金币
下载 相关 举报
状态防火墙.docx_第1页
第1页 / 共13页
状态防火墙.docx_第2页
第2页 / 共13页


点击查看更多>>
资源描述
防火墙技术之--状态防火墙(ASPF)1 2009-08-22 19:06:52 标签:防火墙 状态 ASPF 技术 应用状态防火墙技术介绍 前面讲到了包过滤防火墙的一些细节东西,大家可以发现我一直强调包过滤的核心在于ACL,ACL起源于防火墙的需要,但是应用远远不止于防火墙。ACL需要提前定义分类数据包,然后跟packet filtering进行接口绑定然后对流经接口的数据包进行ACL匹配,如果匹配便根据firewall定义的permit还是deny对数据包进行允许还是拒绝(丢弃)处理,如果不匹配ACL那么就将数据包丢给全局防火墙默认策略处理,对于默认策略各家厂商定义不同,也可以自定义. 那么从包过滤技术的分析中大家可以看到,包过滤是静态的,静态的原因在于提前需要定义ACL及策略,而且包过滤关注协议的IP层,也就是三层以下.这样来说她的处理就显的简单而单一.熟悉网络技术的人都知道,其实我们的业务应用更加复杂,除了复杂的协议状态机转换,许多的协议都是多通道的,这样来说这些状态及应用层信息一般来说都非静态的,会根据报文的交互进行状态机转换.所以包过滤将显的心有余而力不足.在这样的需求下基于应用状态的防火墙技术(ASPF)诞生了. 那么ASPF采用什么样的方式来处理数据包呢?首先ASPF所关心的对象已经发生变化,不再是IP包头,不再是单纯的五元组信息,而是关心技术IP层的连接的数据流信息,当然这个数据流信息包括如TCP的三次握手建连接,四次握手终结连接的状态机FSM变化,还包括应用层如FTP协议的控制与数据通道的建立及解除等等.那么在这个过程中有这样几个问题需要注意: 1)ASPF关注数据流,那么如何识别一条数据流? ASPF的处理一般是基于session(会话)的,所有属于同一会话的所有数据包都被堪称一条流并统一对待.那么会话是一个什么的东西呢?会话一般包括如下这样信息: 协议 状态(老化时间) 源IP(源端口)-->目的IP(目的端口) 目的IP(目的端口)<--源IP(源端口) 如上所示一条会话是有如上七元组来标示的,如果一个数据包可以匹配会话的话就称为同一数据流. 2)如何确定一应用性连接的正确性? 所谓的状态防火墙就是对协议的状态进行动态监控,如果状态转化不符合协议定义,那么这样的报文将被DROP掉.只有那些完全匹配符合协议状态机的报文将会呗正确投递到相应的模块进行处理.那么如何来确定一条应用性连接的正确性呢?答案就是状态转换表,也就是所谓的状态机(FSM).下面来举个例子说明: TCP的FSM: NONE--->SYN_SENT,received TCP_SYN TCP_SENT--->SYN_RCV,received TCP_SYN_ACK SYN_RCV--->ESTABLISH,received TCP_ACK ESTABLISH--->ESTABLISH,received TCP_ACK ESTABLISH--->TIN_WAIT,received TCP_FIN FIN_WAIT--->FIN_WAIT,received TCP_ACK FIN_WAIT--->FIN_WAIT,received TCP_FIN FIN_WAIT--->CLOSED,received TCP_ACK 上面就详细的表述了TCP的FSM状态机转换及触发条件,会话会维护每种支持协议的状态机,ASPF会依赖会话管理模块进行状态动态监控以实现动态防火墙处理.还有一点需要注意的是,不同的系统可能对如UDP,ICMP这样的无状态的协议的定义是不同的,处理上也有一些差异,在这里不再详细讲述,轻关注会话管理详细讲解. 3)如何检测应用层内容的合法性(如Java applets)? ASPF还可以对应用层的报文的内容加以检测,如Java blocking等,对不信任站点的java阻断功能,当然这方面的ASPF检测是有限的,对于应用层数据的合法性的检测更多的依赖WEB过滤技术进行.Java Blocking是对通过HTTP协议传输的Java Applets程序进行阻断。当配置了Java Blocking后,用户为试图在Web页面中获取包含Java Applets程序而发送的请求指令将会被阻断。 4)如何保证传输层(应用层)数据通道的正确建立? 传输层协议检测一般指通用的TCP/UDP检测,与应用层数据不同,传输层协议检测主要关注传输层数据(插口地址).对于ASPF要求返回aspf外部接口的报文要跟出ASPF接口报文完全匹配,也就是说五元组要完全匹配。否则返回的数据报文将被丢弃处理。 至此介绍了一些ASPF实现需要的一些概念,准备,那么下面将详细的介绍ASPF的细节. (未完待续,尽请关注防火墙技术之--状态防火墙2) 防火墙技术之--状态防火墙ASPF(2) 2009-08-22 21:07:11 标签:防火墙 状态 ASPF 技术 应用状态防火墙功能介绍 前面介绍了ASPF的基本原理,跟踪协议状态机以实现对应用层状态的动态监控,所以状态防火墙被称为动态防火墙。动态就在于状态机是动态变化的,这样的处理使得对数据的过滤更加周全,更加深入。本文想细致区分状态防火墙的功能,以期能更深入的了解状态防火墙技术。 综合来说ASPF可以具有如下几个方面的功能: · 支持应用层协议检测,包括:FTP,HTTP,SMTP,RSTP,H323,SIP等 · 支持通用TCP、UDP通道检测 · 支持会话状态动态管理 · 支持IP分片报文检测 · 支持端口到应用的映射(PAM) · 支持Java阻塞 · 支持会话日志与调试跟踪 下面将逐个对这些功能进行分析: 1.应用层协议检测 a.SMTP(简单邮件传输协议):ASPF检测基于TCP/IP传输的SMTP应用,包括对SMTP协议状态机转换的检测,错误的状态报文将被阻塞或丢弃. b.HTTP检测:HTTP是超文本传输协议,ASPF检测基于TCP/IP传输的HTTP应用,HTTP是无状态的协议因此ASPF检测应用协议的状态完全等同于通用TCP检测.对于HTTP协议,ASPF提供的对来自制定网段或主机的HTTP传输的Java applets的检测和过滤. c.FTP检测:ASPF检测基于TCP/IP的FTP应用,包括对FTP控制通道的状态机进行检测,错误的状态转换报文将被阻塞丢弃.支持对PASV和PORT两种方式的数据通道协商的检测,并根据协商参数动态创建数据通道的会话状态表和临时访问控制列表. d.RSTP检测:RSTP实时流传输协议.ASPF检测基于TCP/IP传输的RSTP应用.包括对RSTP控制通道重媒体传输通道(基于UDP的RTP/RTCP)参数协商的检测,并动态创建媒体通道的会话状态表和临时访问控制列表. e.H323检测:H323是ITU-U制定的分组网络的多媒体传输协议.ASPF检测基于TCP/IP传输的H323应用,包括对Q931呼叫信令的检测,用于检测和维护动态创建H245媒体控制通道,ASPF检测基于H245媒体控制通道重媒体传输通道(基于UDP的RTP/RTCP)参数协商的检测,并动态创建媒体通道的状态表和临时访问控制列表. 2.通用的TCP/UDP协议检测 ASPF检测TCP会话的发起和结束的状态转换过程,包括会话发起的3次握手和关闭的4次握手,根据这些状态来创建.更新和删除会话状态表和临时访问控制表.当检测到第一个临时访问控制和允许表项,以允许该会话所有的相关的报文能通过防火墙,而且它非相关报文则呗阻塞和丢弃,TCP检测是其他基于TCP应用层协议的基础. UDP协议没有连接和状态的概念.当ASPF检测到UDP会话发起的第一个数据包时,ASPF开始维护这些会话相关的状态,并创建一个TACL(临时访问控制列表)允许表项,ASPF以为发起方收到的第一个接受方回送的UDP数据流的时候,此会话建立其他的与此回话无关的报文则被阻塞和丢弃,UDP检测是其他基于UDP的应用层协议检测的基础。 3.会话状态动态管理 ASPF支持通过配置会话超时时间实现会话状态信息的管理。用户可以通过对TCP的SYN等状态等待超时老化时间进行配置管理,达到根据会话时间对会话状态进行管理的目的。 此外,在应用层协议检测中提到,对于存在状态机转换的应用层协议,ASPF也支持根据FSM的正确性与否管理会话状态信息的目的。ASPF可以实现会话状态的自动创建与删除。 4.IP分片报文检测 如果IP报文内容大于接口MTU的大小,数据包将会被分片,形成多个更小的IP包,在所有分片后的IP数据包中只有第一个分片包含了完整的IP包信息,其他分片只有IP地址信息。ASPF检测根据TCP的分片标识把收到的报文区分为非分片和分片首片及非首片报文三类报文。 ASPF记录所有被分片报文的状态信息以提供对分片报文正常检测和过滤的支持,对于首片报文,ASPF根据报文的IP层信息及IP层以外的信息创建会话状态表与TACL表,当所有后续分片到达时,ASPF使用保存的会话信息和TACL中的每一匹配条件进行精确匹配。 5.端口到应用的映射(PAM) 应用层协议使用通用的端口进行通信,PAM允许用户对不同应用定义一组新的端口号,用于应用使用非通用端口时的情况,如应用在81号端口提供http,就可以用PAM指定,从而知道81端口是http数据。 6.Java阻塞功能 由于恶意的applets对用户计算机资源造成破坏,用户需要限制未经用户允许的Java applets下载至用户网络中,Java blocking功能便可以实现对来自不可信任站点的applets的过滤。 而实现上是采用ACL定义站点的信任与否,当检测到报文是不可信任的站点的applets时采取丢弃操作。 (未完待续--请关注防火墙之--状态防火墙(3)) 防火墙技术之---状态防火墙ASPF(3) 2009-08-23 09:41:09 标签:防火墙 ASPF 状态 技术                                   状态防火墙ASPF工作原理    一般来说跟其他安全业务一样,ASPF也是基于会话管理模块的,我们知道会话session是动态的,所以ASPF也是动态的,有状态跟踪的,另外ASPF的精髓还在于出报文打开一个安全的通道,返回报文在这个安全的通道中传输,而维护这个安全通道的依然是访问控制列表ACL,当然这儿的ACL称为临时访问控制列表TACL,之所以称为临时,因为它是动态的用过即删,首报文动态创建TACL,然后返回报文检查是否匹配TACL,如果完全匹配责放行,如果不匹配责丢弃。说来说去,大家也许可以看到之所以称状态防火墙ASPF是动态防火墙,原因在于两点:    1.ASPF是以session为基础的,session的动态性决定了ASPF的动态性。    2.ASPF需要创建TACL打开报文返回的安全通道,TACL是动态创建和删除的,所以注定ASPF是动态的。    理解了以上两点,那么你也就从心里开始接受ASPF了,因为这是ASPF的精华核心。下面介绍一下ASPF维护的两个表:    a 会话状态表    前面也讲到了会话表项是一个七元组:    协议 状态(老化时间) 源IP(源端口)-->目的IP(目的端口)                         目的IP(目的端口)<--源IP(源端口)(用于返回报文匹配)    可以看出一条会话其实就可以理解为一个TCP连接(当然不一定是TCP会话),会话状态表维护了一个会话中某一个时刻会话所处的状态,用于匹配后续的发送报文,并检测会话状态的转换是否是正确的。session table是在检测到第一个报文时创建的,随着不同的状态触发条件会进入到不同的状态中并维护。ASPF于包过滤的最大区别就在于ASPF考虑到会话的上下文,不仅包括当前的会话状态,还记录了本次会话之前的通信信息,具有更好的灵活性与安全性,这也是ASPF动态过滤的关键。    b 临时访问控制列表TACL    虽然被称为TACL,但是它独立于ACL,更确切的说是利用了ACL访问控制的思想,是动态的,非静态配置指定的。TACL在创建session table时创建,会话结束后自动删除,依赖于session的,从功能上说它相当于一个扩展的ACL的permit项,用于匹配一个会话中所有应答报文。    下面以FTP为例来说明一下ASPF多通道应用层协议检测的过程:                                                        如上图所示假设FTP client向FTP server的21号端口发起FTP控制通道的连接,通过协商由服务器端的21端口想客户端的20号端口发起数据通道的连接,数据传输超时或结束连接删除。      FTP检测在FTP连接建立到关闭的过程中的处理如下:      1.检查从出接口向外发送的IP报文,确认为基于TCP的IP报文      2.检查端口号确认连接为控制连接,建立返回报文的TACL和session table      3.检查FTP控制连接报文,解析FTP指令,根据指令更新状态表,如果包含数据通道建立指令,则创建数据连接的临时访问控制列表,对数据连接不进行状态处理。      4.对于返回报文,根据协议类型做相应的匹配检查,检查将根据ingredients的协议的状态表和TACL决定报文是否允许通过。      5.FTP连接删除时,会话状态表及TACL随之删除。      以上介绍了ASPF是如何处理多通道协议的应用协议检查的。对于像SMTP.HTTP等单通道协议的检测过程就相对较为简单,当发起连接时建立会话状态表和TACL,连接删除是系统自动删除。      而对于传输层协议TCP/UDP检测,跟应用层协议检测不同,传输层协议检测只是简单的五元组信息检查,要求返回报文必须完全跟原报文sip,sport,dip,dport和proto一致才可以放行,否则直接丢弃。      上面介绍就是ASPF的工作原理。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 环境建筑 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服