防火墙模块手册北京爱赛立技术有限公司ICG Networks Technologies Co., Ltd.All rights reserved版权所有侵权必究目录1简介 (3)1.1概述 (3)1.2防火墙功能点 (3)1.2.1连接监测描述 (3)1.2.2包过滤策略描述 (3)1.2.3基于策略的连接数限制 (3)1.2.4协议状态检测 (4)1.2.5基于MAC地址的帧过滤 (5)1.2.6连接监测模块功能定义 (5)1.2.7具体协议连接监测状态转换 (8)1.2.8松散TCP状态检查 (8)1.2.9包过滤策略功能定义 (9)1.2.10地址对象 (10)1.2.11业务类型对象 (10)1.2.12时间范围对象 (10)2配置防火墙 (10)3配置举例 (17)1 简介1.1 概述本模块主要描述ICG系统中防火墙模块的基本处理流程和机制。
本版本包括连接监测,包过滤策略功能模块和基于MAC地址的帧过滤。
1.2 防火墙功能点系统实现了对以下协议的状态检测功能:FTP,H323和SIP。
1.2.1连接监测描述基于状态的资源和连接控制基于这样的观点:如果连接长时间没有应答,一直处于半连接状态,会浪费连接资源。
同样虽然连接已经建立,但长时间没有数据流穿过,也会浪费了连接资源。
连接监测功能通过追踪和统计连接建立的过程和数量,来管理系统和ICMP,TCP,UDP,Generic协议的连接状态,提高网络访问的性能。
1.2.2包过滤策略描述包过滤策略能够保护内部网络资源,防止外来者接触。
同时限制内部网络用户对外部网络的访问。
防火墙包过滤策略根据IP包中IP、TCP、UDP协议的头部信息,IP报文进入系统的入口设备以及IP报文离开系统的出口设备决定对IP包进行的操作,由此控制对网络内部或网络外部资源的访问,提高网络的安全性能。
由于包过滤策略只处理IP,TCP,UDP协议的头部信息,这样既控制了网络中的通过系统数据流量,又能维持一定的系统性能。
1.2.3基于策略的连接数限制基于策略的连接数限制功能统计匹配每个策略的总连接数和每个主机的连接数,并能够对这些连接数量加以限制。
1.2.4协议状态检测系统实现了对以下协议的状态检测功能:FTP,H323和SIP。
在这些协议当中,主连接的净载荷中,包含有动态协商的附加连接的信息(端口号和IP地址)。
系统不要求配置附加连接的包过滤策略。
而当进行conntrack时,通过对可能产生附加连接的报文进行检查,可以在附加连接建立之前获得精确的信息,利用这些信息就可以检测出这些附加连接并对附加连接实施与主连接一样的包过滤策略。
FTP在FTP的控制通道(缺省端口号为21)净载荷中, 包含有为FTP数据通道连接动态分配的目IP地址和目的端口号,或目的端口号。
FTP的状态监测能够探测使用的数据通道连接,并为数据通道连接应用与控制通道连接相同的包过滤策略。
FTP连接空闲时间为5分钟。
H323H.323协议的信令过程可分为3个步骤:RAS (登记、接纳和状态)消息用于H.323终端与关守之间的注册、鉴权、申请发起业务等信息的交互;Q.931消息用于建立呼叫的控制信令,以实现主叫用户到被叫用户的端到端连接的建立、维护和释放;H.245消息用于建立逻辑通道,交换主叫与被叫能力,确定主从关系等。
根据协议,H.323下一级信令地址和端口参数值在上一级信令中交换,由于防火墙通常被设置成限制未经请求的外部数据包进入,因此防火墙内部的终端不能接收外部的呼叫,即使防火墙打开一个端口接收呼叫的初始数据包,H.323协议还要求动态分配一些端口用来接收呼叫控制信息和建立语音、视频数据通道,因此除非打开防火墙的所有端口,才可以进行H.323通信,而防火墙也就失去了意义。
因此连接监测功能,检测H.323包,解释各种H.323控制信令。
连接监测功能检测在RAS协议中协商用于Q.931协议的TCP端口号。
在Q.931协议中协商用于H.245协议的TCP端口号和用于媒体流的UDP端口号。
在H.245协议中协商用于媒体流的UDP端口号。
SIPSIP终端设备会周期性地发送Register消息到注册服务器上,防火墙系统会为它们之间的通信保持一个会话。
这样SIP终端就可以收到来自外网的呼叫请求。
呼叫方的Invite消息和响应方的200(OK)消息中都携带了用于描述与会话相关的信息及与流媒体相关参数的SDP(Session Description Protocol)消息体。
当呼叫方收到200(OK)消息时就能从SDP消息体中获取该IP地址和端口等信息并发送ACK确认消息,从而完成一个呼叫的建立。
ICG系统的协议状态监测功能分析Invite和200(OK)消息中的SDP消息体中“Media Description”和“Connection Information”行,据此能够探测SDP消息里面的RTP地址和端口,事先感知用于流媒体的RTP连接,并对RTP连接应用与SIP控制协议相同的包过滤策略。
SIP连接空闲时间为5分钟。
1.2.5基于MAC地址的帧过滤在桥模式(bridge mode)下,系统支持对以太网帧进行基于MAC地址的过滤。
系统在对以太网帧进行路由之前进行MAC地址的过滤。
基于MAC地址的过滤实现以下三种过滤:●对封装内容不是IP协议包的以太网帧进行过滤。
●对目的MAC地址是组播地址的以太网帧进行过滤。
●对帧头中的源MAC地址或目的MAC地址匹配配置的MAC过滤条目的以太网帧进行过滤。
对于每个被过滤的以太网帧产生系统日志。
对所有的组播帧,其目的MAC地址的第一个字节都是0x01。
1.2.6连接监测模块功能定义连接监测功能能够监测关于系统和各协议:正在连接建立速率,处于半开放状态的连接计数,和所有连接计数。
并由此限制连接建立的速率,处于半开放状态的连接数量,和所有连接数量。
连接监测将连接划分为三种状态:●一分钟内半开放状态的连接(Rate):从收到该连接的第一个报文起,到连接成功建立为止,或一分钟为止。
处于该状态的连接同时也处于半开放状态。
●半开放状态(Half-open):从收到该连接的第一个报文起,到连接成功建立为止。
●开放状态(Open)。
连接监测统计以下连接计数:系统连接建立速率(一分钟内半系统开放连接数)系统半开放状态的连接数系统所有连接数协议连接建立速率(一分钟内某协议半开放连接数)协议半开放状态的连接数协议所有连接数连接监测使用以下的指标控制连接的建立:系统最大连接数系统半开放状态连接数高水准系统半开放状态连接数低水准系统连接建立速率低水准系统连接建立速率高水准协议最大连接数协议半开放状态连接数高水准协议半开放状态连接数低水准协议连接建立速率低水准协议连接建立速率高水准这些指标可以通过用户接口进行调整,以下是这些指标之间的约束关系:系统最大连接数应该大于或等于系统半开放状态连接数高水准系统半开放状态连接数高水准应该大于或等于系统半开放状态连接数低水准系统半开放状态连接数高水准应该大于或等于一分钟系统连接建立速率高水准系统连接建立速率高水准应该大于或等于系统连接建立速率低水准协议最大连接数应该大于或等于协议半开放状态连接数高水准协议半开放状态连接数高水准应该大于或等于协议半开放状态连接数低水准协议半开放状态连接数高水准应该大于或等于一分钟协议连接建立速率高水准协议连接建立速率高水准应该大于或等于协议连接建立速率底水准图1 连接监测状态迁移图图1为连接监测模块中,连接状态迁移图。
其中:S01: RateS02: Half-openS03: OpenE01: 收到连接的第一个报文E02: 1分钟内连接没有被成功建立E03: 连接被成功建立E04: 连接被关闭或超时主要处理过程描述:收到该连接的第一个报文,建立一个连接。
如果系统连接数超过系统最大连接数,则不能建立新连接。
如果该协议连接数超过该协议最大连接数,则不能建立新连接。
如果系统连接建立速率超过系统连接建立速率最大数,则一些一分钟内半开放状态连接会被清除,只保留对应系统连接建立速率低水准连接数。
然后建立新连接。
如果协议连接建立速率超过协议正在连接建立速率最大数,则一些协议一分钟内半开放状态连接会被清除,只保留对应协议连接建立速率低水准连接数。
然后建立新连接。
如果系统半开放状态连接数超过系统半开放状态最大连接数,则一些系统半开放状态连接会被清除,只保留系统半开放状态连接数低水准连接数。
然后建立新连接。
如果协议半开放状态连接数超过协议半开放状态最大连接数,则一些协议半开放状态连接会被清除,只保留协议半开放状态连接数低水准连接数。
然后建立新连接。
Rate定时器到期,连接被从一分钟内半开放状态迁移到半开放状态。
连接状态空闲定时器到期,连接被删除。
可以通过用户接口调整各协议处于各个状态的空闲时间。
系统日志对每个因连接个数、连接速率限制而拒绝的流产生系统日志1.2.7具体协议连接监测状态转换关于TCP协议的状态迁移过程,请参阅有关的标准文档。
连接监测通过检查TCP头部的控制位尽力与连接端点的状态保持一致。
连接监测不仅支持基于TCP的应用,而且支持基于无连接的协议。
对于无连接的协议,连接请求和应答没有区别。
连接监测通过保持一个虚拟连接来实现状态信息追踪。
允许通过的包被记录,当对应包在相反方向上通过时,连接监测依据连接状态确定该包是否被授权,若已被授权,则通过,否则拒绝。
如果在指定的一段时间内响应数据包没有到达,即连接超时,则该连接被阻塞。
采取这种原理可以阻塞攻击,实现安全。
对UDP,Gre或generic(其它协议)协议,当收到第一个被允许通过包时,虚拟连接被建立并且处于半开放状态。
当收到相反方向应答包后,又收到该连接的另一个包时,连接被认为建立成功,连接状态转换为全开放。
注意对于generic协议,连接处于半开放状态和全开放状态时的空闲时间是一样的。
对于ICMP协议,虚拟连接只有半开放状态。
当收到应答后,连接切换为全开放状态时,会立即被删除。
ICMP协议数据没有流的概念。
当收到第一个被允许通过包时,虚拟连接被建立并且处于半开放状态。
当收到相反方向应答包后,状态转换为全开放状态并立即被删除。
1.2.8松散TCP状态检查连接监测功能假定IP连接的所有包必须通过防火墙,并通过检查经过防火墙的每个TCP/IP包的IP/TCP头部来监测TCP连接状态。
但是,连接监测功能的TCP连接状态有时并不与TCP连接发送端和接收端的状态完全一致。
这是由IP包在网络中的丢弃引起,也会由连接监测功能的TCP连接状态定时器并不与TCP连接发送端和接收端的状态定时器完全同时触发引起(网络中包传送延迟)。
防火墙收到连接接收端的确认报文后,更新连接状态,向连接发送端转发。