应用状态防火墙功能介绍

前面介绍了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))