ASPF技术白皮书杭州华三通信技术有限公司www.h3c.com.cn第1页,共12页ASPF技术白皮书关键词:ASPF,包过滤摘要:ASPF是一种应用层状态检测技术,它通过与NAT和ALG等技术的组合应用,实现对应用层协议状态的处理和检测。本文详细介绍了ASPF技术的工作机制以及典型组网应用。缩略语:缩略语英文全名中文解释ACLAccessControlList访问控制列表ALGApplicationLevelGateway应用层网关ASPFApplicationSpecificPacketFilter基于应用层包过滤DMZDemilitarizedZone非军事区FTPFileTransferProtocol文件传输协议HTTPHypertextTransferProtocol超文本传输协议ICMPInternetControlMessageProtocolInternet控制报文协议ILSInternetLocatorServerInternet定位服务NBTNetworkBasicInput/OutputSystem网络基本输入/输出系统NATNetworkAddressTranslation网络地址转换PAMPorttoApplicationMapping端口到应用的映射PPTPPoint-to-PointTunnelingProtocol点到点隧道协议RTSPRealTimeStreamingProtocol实时流协议SIPSessionInitiationProtocol会话发起协议SQLNET-一种Oracle数据库语言ASPF技术白皮书杭州华三通信技术有限公司www.h3c.com.cn第2页,共12页目录1概述.......................................................................................................................................31.1产生背景......................................................................................................................31.2ASPF的优点................................................................................................................42ASPF运行机制.......................................................................................................................42.1协议检测......................................................................................................................52.1.1TCP检测............................................................................................................52.1.2UDP检测............................................................................................................62.2应用层状态检测和多通道检测......................................................................................62.3ASPF的安全特性.........................................................................................................82.3.1端口到应用的映射..............................................................................................82.3.2Java阻断和ActiveX阻断.....................................................................................92.3.3ICMP差错报文丢弃............................................................................................92.3.4TCP首包非SYN报文丢弃.................................................................................102.3.5会话日志与调试跟踪........................................................................................103H3C实现的技术特色............................................................................................................104ASPF典型组网应用..............................................................................................................11ASPF技术白皮书杭州华三通信技术有限公司www.h3c.com.cn第3页,共12页1概述1.1产生背景随着计算机技术和网络技术的普及,网络安全问题也越来越得到关注。防火墙作为一种控制两个网络之间IP通信的安全机制,已成为网络安全部署的首要选择。防火墙的目的就是在信任网络(区域)和非信任网络(区域)之间建立一道屏障,并实施相应的安全策略。应该说,在网络中应用防火墙是一种非常有效的网络安全手段。通常,防火墙的实现技术分为两类:包过滤技术和应用层报文过滤技术。包过滤技术的核心是定义ACL规则来过滤IP数据包。对于需要转发的数据包,包过滤防火墙首先获取其包头信息(包括IP层所承载的上层协议的协议号、数据包的源地址、目的地址、源端口和目的端口等),然后与用户设定的ACL规则进行比较,根据比较的结果对数据包进行处理(允许通过或者丢弃)。包过滤技术的优点在于它只进行网络层的过滤,处理速度较快,尤其是在流量中等、配置的ACL规模适中的情况下对设备的性能几乎没有影响。而且,包过滤技术的实现对于上层应用以及用户来讲都是透明的,无须在用户主机上安装特定的软件。尽管包过滤技术具有以上优势,但其却具有明显的弊端,主要表现在以下几个方面:(1)基于IP包头的静态数据过滤通常,IP数据包中的目的地址、源地址、源端口和目标端口被用来判断是否允许数据包通过。这种基于IP包头的静态匹配,虽然可以允许或拒绝特定的应用层服务,但是无法理解特定服务的上下文会话。例如,对于多通道的应用层协议,由于传统的包过滤防火墙只能知晓控制通道的连接信息,而无法预知后续动态协商的数据通道信息,因此就无法对其制定完善的安全过滤策略。(2)无法检测来自于应用层的攻击行为由于包过滤防火墙仅对网络层进行检查和过滤,不对报文的应用层内容进行解析和检测,因此无法对一些来自于应用层的威胁进行防范,例如无法防范来自不可信网站的Javaapplet或ActiveX插件对内部主机的破坏。(3)维护比较困难网络管理人员为了满足企业网络安全的需要以及各种Internet应用服务的需求,必ASPF技术白皮书杭州华三通信技术有限公司www.h3c.com.cn第4页,共12页须配置复杂繁琐的ACL以实现对数据包的过滤,一旦ACL的配置出现错误,将会导致安全漏洞的产生。而且,由于缺少有效的工具对配置规则的正确性进行验证,也会增加维护的难度。(4)缺乏有效的日志功能包过滤防火墙仅对静态的报文特征信息进行过滤和输出日志记录,不能对整个应用连接输出日志记录,因此无法实现对于应用连接的跟踪。由于包过滤防火墙在应用层报文过滤方面具有以上先天的不足,因此提出了应用层报文过滤的概念――ASPF。1.2ASPF的优点ASPF是针对应用层的报文过滤,即基于状态的报文过滤。它具有以下优点:z支持传输层协议检测(通用TCP/UDP检测)和ICMP、RAWIP协议检测。z支持对应用层协议的解析和连接状态的检测,这样每一个应用连接的状态信息都将被ASPF维护并用于动态地决定数据包是否被允许通过防火墙或丢弃。z支持PAM(PorttoApplicationMap,应用协议端口映射),允许用户自定义应用层协议使用非通用端口。z可以支持Java阻断和ActiveX阻断功能,分别用于实现对来自于不信任站点的Javaapplet和ActiveX的过滤。z支持ICMP差错报文检测,可以根据ICMP差错报文中携带的连接信息,决定是否丢弃该ICMP报文。z支持TCP连接首包检测,通过检测TCP连接的首报文是否为SYN报文,决定是否丢弃该报文。z提供了增强的会话日志和调试跟踪功能,可以对所有的连接进行记录,可以针对不同的应用协议实现对连接状态的跟踪与调试。可见,ASPF技术不仅弥补了包过滤防火墙应用中的缺陷,提供针对应用层的报文过滤,而且还具有多种增强的安全特性,是一种智能的高级过滤技术。2ASPF运行机制ASPF不仅能够对IP层的数据包根据ACL规则来进行过滤,还能对传输层、应用层的报文进行检测。ASPF在TCP/IP协议栈中所处的位置如下图所示。ASPF技术白皮书杭州华三通信技术有限公司www.h3c.com.cn第5页,共12页IP层传输层(TCP/UDP)应用层ASPF图1ASPF在协议栈中的位置2.1协议检测ASPF支持的协议检测包括:传输层协议检测和ICMP、RAWIP协议检测。ASPF的传输层协议检测通常指通用TCP/UDP检测。通用TCP/UDP检测是对报文的传输层信息(如报文的源地址、目的地址、端口号、传输层状态等)进行的检测。下文将对ASPF的传输层协议检测原理做详细介绍。2.1.1TCP检测TCP检测是指,ASPF检测TCP连接发起和结束的状态转换过程,包括连接发起的3次握手状态和连接关闭的4次握手状态,然后根据这些状态来创建、更新和删除设备上的连接状态表。TCP检测是其它基于TCP的应用协议检测的基础。TCP检测的具体过程为,当ASPF检测到TCP连接发起方的第一个SYN报文时,开始建立该连接的一个连接状态表,用于记录并维护此连接的状态,以允许后续该连接的相关报文能够通过防火墙,而其它的非相关报文则被阻断和丢弃。图2ASPF的TCP状态检测ASPF技术白皮书杭州华三通信技术有限公司www.h3c.com.cn第6页,共12页如图2所示,ASPF对HostA向HostB发起的TCP连接进行状态检测,对于建立连接的TCP的3次握手报文,允许其正常通过,并建立TCP连接。在该过程中,对于来自其它主机的TCP报文,或者来自HostB的不符合正确状态的报文,则被防火墙丢弃。2.1.2UDP检测UDP协议没有状态的概念,ASPF的UDP检测是指,针对UDP连接的地址和端口进行的检测。UDP检测是其它基于UDP的应用协议检测的基础