传统防火墙分析
包过滤防火墙位于协议网络层,按照网络安全策略对IP包进行选择,允许或拒绝特定的报文通过。过滤一般是基于一个IP分组的有关域(IP源地址、IP目的地址、TCP/UDP源端口或服务类型和TCP/UDP目的端口或服务类型)进行的。基于IP源/目的地址的过滤,即根据特定组织机构的网络安全策略,过滤掉具有特定IP地址的分组,从而保护内部网络;基于TCP/UDP源/目的端口的过滤,因为端口号区分了不同的服务类型或连接类型(如SMTP使用端口25,Telnet使用端口23等),所以为包过滤提供了更大的灵活性。同时由于它是位于协议的网络层,所以效率较高;但是该防火墙所依靠的安全参数仅为IP报头的地址和端口信息,若要增加安全参数,增加对数据报文的处理,则势必加大处理难度,降低系统效率,故安全性较低。同时一般的包过滤还具有泄露内部网的安全数据信息(如拓扑结构信息)和暴露内部主机的所有安全漏洞的缺点,难以抵制IP层的攻击行为。
应用层防火墙是由一个高层的应用网关作为代理服务器,接受外来的应用连接请求,进行安全检查后,再与被保护的网络应用服务器连接,使得外部服务用户可以在受控制的前提下使用内部网络的服务。另外内部网络到外部的服务连接也可以受到监控。应用网关的代理服务实体将对所有通过它的连接作出日志记录,以便对安全漏洞进行检查和收集相关的信息。同时该实体可采取强认证技术,能对数据内容进行过滤,保证信息数据内容的安全,防止病毒以及恶意的Java Applet或ActiveX代码,具有较高的安全性;但是由于每次数据传输都要经过应用层转发,造成应用层处理繁忙,性能下降。
在对上述两种防火墙技术分析的基础上,我们设计和开发了基于网络地址转换(Network Address Translator, NAT)的复合型防火墙系统,它融合了代理技术的高性能和包过滤技术高效性的优点。
设计思想
代理技术造成性能下降的主要原因在于其在指定的应用服务中,传输的每一个报文都需代理主机转发,应用层的处理量过于繁重,改变这一状况的最理想的方案是让应用层仅处理用户身份鉴别的工作,而网络报文的转发由TCP层或IP层来完成。另一方面,包过滤技术仅仅是根据IP包中源及目的地址来判定一个包是否可以通过,而这两个地址是很容易被篡改和伪造的,一旦网络的结构暴露给外界后,就很难抵御IP层的攻击行为。
集中访问控制技术是在服务请求时由网关负责鉴别,一旦鉴别成功,其后的报文交互都直接通过TCP/IP层的过滤规则,无需象应用层代理那样逐个报文转发,这就实现了与代理方式同样的安全水平而处理量大幅下降,性能随即得到大大提高。另一方面,NAT技术通过在网关上对进出IP包源与目的地址的转换,实现过滤规则的动态化。这样,由于IP层将内部网与外部网隔离开,使得内部网的拓扑结构、域名以及地址信息对外成为不可见或不确定信息,从而保证了内部网中主机的隐蔽性,使绝大多数攻击性的试探失去所需的网络条件。
系统设计
图1给出了本防火墙系统的总体结构模型,由五大模块组成。
图1 防火墙系统结构模型
NAT模块依据一定的规则,对所有出入的数据包进行源与目的地址识别,并将由内向外的数据包中源地址替换成一个真实地址,而将由外向内的数据包中的目的地址替换成相应的虚拟地址。
集中访问控制(CAC)模块负责响应所有指定的由外向内的服务访问,通知认证访问控制系统实施安全鉴别,为合法用户建立相应的连接,并将这一连接的相关信息传递给NAT模块,保证在后续的报文传输时直接转发而无需控制模块干预。
临时访问端口表及连接控制(TLTC)模块通过监视外向型连接的端口数据动态维护一张临时端口表,记录所有由内向外的连接的源与目的端口信息,根据此表及预先配置好的协议集由连接控制模块决定哪些连接是允许的而哪些是不允许的,即根据所制定的规则(安全政策)禁止相应的由外向内发起的连接,以防止攻击者利用网关允许的由内向外的访问协议类型做反向的连接访问。
认证与访问控制系统是防火墙系统的关键环节,它按照网络安全策略负责对通过防火墙的用户实施用户的身份鉴别和对网络信息资源的访问控制,保证合法用户正常访问和禁止非法用户访问。
共2页: 上一页 1 [2] 下一页
|