网络的迅速发展,带来了工作效率的提高,丰富了人们的日常学习生活。与此同时网络安全问题受到前所未有的关注,很多企业都部署网络安全产品保护网络免遭外来非法攻击和防止内部保密信息外泄。在所有安全产品中,防火墙做为网络安全的第一道门,安全技术应用比较成熟。相信很多用户正准备购买防火墙用于保障网络安全,
网络的迅速发展,带来了工作效率的提高,丰富了人们的日常学习生活。与此同时网络安全问题受到前所未有的关注,很多企业都部署网络安全产品保护网络免遭外来非法攻击和防止内部保密信息外泄。在所有安全产品中,防火墙做为网络安全的第一道门,安全技术应用比较成熟。相信很多用户正准备购买防火墙用于保障网络安全,面对市场上这么多的防火墙,如何挑选性价比最高的防火墙呢?如何使用防火墙效果好呢?——笔者多年从事防火墙的选型和应用实施工作,希望通过本文能为用户提供这方面的帮助。本文将介绍防火墙的体系、主要功能与关键技术、技术指标和防火墙热点问题等内容。
一,防火墙体系
主机防火墙和网关防火墙
按照安装位置、部署方式不同,防火墙可分为主机防火墙和网关防火墙两大类别:
主机防火墙是指以软件方式安装在单独机器上,通过设定安全策略保护该机器的防火墙。
网关防火墙是指以硬件方式或软件方式,部署在不同网络区域之间(处于网关位置),通过设定安全策略,集中保护内部网络区域的防火墙。
两种防火墙在很多方面存在差异,一是在保护范围方面,主机防火墙只保护一台主机,网关防火墙可保护事先定义的n台机器范围;二是在执行安全策略方面,主机防火墙安全策略分散执行,网关防火墙通过统一的安全策略集中保护内部网络;三是在功能方面,比起主机防火墙,网关防火墙的功能丰富得多,比如NAT、VPN等;四是在维护工作量方面,主机防火墙由于分散管理,安全政策的调整往往需要更改大部分主机防火墙软件的安全规则,特别是随着机器的增加,维护量将成倍增大,网关防火墙由于集中执行安全策略,维护方便,适合应用于复杂网络。五是在防范内部攻击方面,网关防火墙无法防范内部攻击,主机防火墙能防范所有机器的非法攻击,包括内部网络的机器入侵。
软件防火墙和硬件防火墙
软件防火墙是指以软件方式运行在通用系统平台上的防火墙产品,checkpoint公司的Firewall-I、个人防火墙、LINUX的iptable、ipchains等均属此类防火墙。
软件防火墙安装升级灵活,如果出现故障,一时解决不了,只需卸载重新安装配置即可。但软件防火墙安装在通用操作系统上,这些操作系统的稳定性和安全性无法得到很好的保证,实际应用上也很难保证运行软件防火墙的机器不会被用做其他用途,或许有的用户临时没有机器,用这台机器做文字处理都不一定。
硬件防火墙具有以下特点:一是软件实现硬件化,任何一台硬件防火墙都由软件和硬件组成,没有绝对的硬件防火墙,再“硬”的防火墙都需要软件做支撑,如果你愿意,也可以把上面提到的软件防火墙当成是硬件防火墙(PC硬件+软件);二是性能高,防火墙将包检查模块等比较费时的工作采用硬件实现,可以大大提高效率,有些硬件防火墙处理速度甚至可达到线速;三是可靠性强,硬件防火墙专门化程度高,出现故障的机会也很少;四是自身安全性高,硬件防火墙采用专用或经过改造的操作系统,去掉不必要的调用和功能,安全性高。
操作系统
防火墙操作系统(内核)可以分为:通用操作系统、安全通用操作系统和专用安全操作系统。
通用操作系统一般指windows、linux、Unix等通用平台操作系统,软件防火墙都是安装在通用操作系统上的。由于通用操作系统存在众所周知的安全问题,为了提高性能和自身安全性,用户通常要在通用操作系统上去掉无用的服务,定期安装补丁等。
专用安全操作系统是自行设计的专用操作系统,其代表有Netscreen。目前很多防火墙在说明书上刻意回避通用操作系统,强调其操作系统是自行设计的专用安全操作系统,实际上使用的还是安全通用操作系统。事实上,专用安全操作系统如果设计得不好,在稳定性、安全性和性能上可能比不上通用操作系统。
二,防火墙关键技术及基本功能
包过滤技术
包过滤技术是防火墙最基本的功能,一般是一个包检查模块。对于通过防火墙的每个数据包,包过滤模块按照事先设定的安全策略(规则)决定包是否通过。做为一个防火墙,包过滤的内容至少应包括:源地址、目的地址、协议、源端口、目的端口、ICMP(匹配各种类型码)和时间。
按照包过滤方式的不同,包过滤技术可分为静态包过滤和状态检测技术:
静态包过滤技术介绍
静态过滤技术属传统的包过滤方式,路由器和早期防火墙使用这种技术。静态包过滤只检查少量低层数据,因此速度很快;同时,静态包过滤防火墙工作于网络层,对上层数据完全透明,用户无需改变应用程序,非常灵活。但静态包过滤存在很多缺陷,主要表现在:
(1)无法控制端口变化的应用。
(2)记录日志信息不充分。静态包过滤防火墙对网络层数据进行过滤,不能记录更加详细的内容。
(3)设计和配置一个真正安全的分组过滤规则比较困难,静态包过滤技术不适合部署在复杂的网络应用环境中。
(4)有些静态包过滤无法阻止极小分片数据包攻击。
(5)无法防止数据驱动式攻击。
(6)无法提供实时连接信息。
状态检测技术介绍
为克服静态包过滤无状态的检测方式,checkpoint公司提出了状态检测概念,目前状态检测技术已成为防火墙业界技术标准。状态检测防火墙除了维护一张规则表,还在内存中维护一张状态表,状态表记录正在通讯的会话状态。该状态表一般包括以下信息:
数据包的头信息(源地址、目的地址、协议、源端口、目的端口、包长度);
连接状态信息(哪一个连接打开了哪一个端口);
TCP和IP分段数据(例如:分段号、顺序号);
数据包重组、应用类型、上下文校验(即:包属于哪个通讯会话session);
到防火墙的哪一个接口上;
从防火墙的哪一个接口上出去;
第二层信息(如VLAN、ID号);
数据包到达的日期和时间;
超时设置;
事实上不同的防火墙实现状态检测有所差异,所采用的会话状态也有所不同。
内容过滤技术与应用代理技术
我们知道,包过滤技术工作于网络层,无法实现对应用层的控制,因此单纯的包过滤防火墙不能处理病毒、UNICODE和ACTIVE有害程序的入侵。为了祢补包过滤不能防范应用层的不足,内容过滤技术被提出来。内容过滤技术针对具体应用程序(这里用“应用程序”来指通过防火墙的http、ftp、telnet和自己设计的程序,有些资料用“服务”术语表示,请读者分辨)而设计,对于每个需要进行内容过滤的数据包,都要求防火墙事先理解这应用层数据格式。
内容过滤技术主要指基于包过滤的内容过滤技术。基于包过滤(状态检测)的内容过滤技术首先对数据包进行状态检测和规则匹配,如果需要进行内容过滤,防火墙再根据具体应用交给该应用模块检测,比如http过滤就交给http模块过滤,ftp过滤就交给ftp模块检测。有些资料也把此内容过滤技术归为状态检测技术的一部分,或者把状态检测技术+内容过滤技术结合叫成另外一个术语。
应用代理技术也是防火墙的一个历史比较长的技术,wingate、sygate之类的软件就是使用代理技术的典型软件。很多资料在谈到防火墙分类时,都把防火墙分成包过滤防火墙和应用代理防火墙。但事实上防火墙应用代理技术的提出是为了祢补包过滤不能防范应用层的不足而设计(读者也可从“应用”两字看出来),应用代理技术是内容包过滤技术的一种。在应用代理技术中,代理服务是运行在防火墙上的一种服务,代理隔离两端的直接通讯,两端的通讯都要通过代理服务的安全策略控制,访问者任何时候都不得与被访问者直接通讯,只能由安装在防火墙的相应代理服务做转接。不同的应用程序要求有不同的代理,比如http代理、ftp代理、smtp代理等等。
比较这两种内容过滤技术,基于包过滤的内容过滤在协议栈抽取应用层数据进行过滤,所有工作在内核层次,因此效率高,处理速度快。基于代理技术的内容过滤对两端通讯进行隔离,对于两端的一次SOCK连接,防火墙要建立两个sock连接,增加了系统开销,但是由于访问者与被访问者没有直接的通讯,比起前者能达到很高的安全性。另外应用代理技术具有用户身份认证功能,用户需要代理服务认证才能建立连接。对于分片包的处理上,两种技术也有区别。对于分片包,代理技术的防火墙会进行重组(这时防火墙就是访问者的服务器),但是基于包过滤的内容过滤技术很多只对单独的数据包进行应用检查,不会进行重组,因为重组会大大增加系统开销。这样一个精心伪造的碎片攻击就很容易骗过基于包过滤的内容过滤防火墙。如果一个携带攻击特征的URL访问以较大的数据包发送到防火墙,两种技术都能阻止,但是如果这个URL分成多个数据包,并且以乱序的方式发送给目标服务器,基于包过滤的内容过滤防火墙如果不对数据包进行重组,会把这些分开的数据包当成正常的包,根本无法识别这个攻击的企图。而应用代理要对这些数据包进行重组,还原成原来数据包,能防范这种攻击。
NAT技术NAT技术(网络地址转换技术)用于将一个或多个地址转换成单个或多个地址。实现NAT主要有两个作用,一是隐藏内部地址,使外部用户无法了解内部用户的拓扑结构,二是解决IP地址不够用的情况。
NAT技术包括静态地址转换、动态地址转换和双向NAT等。
静态地址转换也称一对一或单对单转换,即是将一个IP地址转换成另一个IP地址,这种技术实现很简单,用户也容易记。
动态地址转换,也称多对一或多对多地址转换,转换前的IP地址是多个,转换后的IP地址可以是一个或多个,这里的转换前和转换后的IP地址并不要求一一对应,通常是转换前的地址比转换后的地址范围大。
双向NAT也有人称正反向NAT,是指防火墙不同区域的地址可以互相进行地址转换。如果的防火墙部署在internet出囗,一般很少用到双向NAT,如果防火墙部署在企业内部复杂网络环境下,很有可能会使用双向NAT,这种情况建议用户选择支持双向NAT的防火墙。
VPN技术
VPN被定义为通过一个不安全网络建立的一个临时的、安全的连接,是一条穿过混乱的不安全网络的安全、稳定的隧道。VPN采用的技术有隧道技术(Tunneling)、加解密技术(Encryption & Decryption)、密钥管理技术(Key Management)、使用者与设备身份认证技术(Authentication)。VPN普遍应用于移动办公、数据传输加密解决方案,笔者曾把VPN应用于企业交易平台的数据加密、设备认证模块,起到很好的效果。VPN并不是防火墙必须的功能,市场上有大量专门的VPN设备。VPN是防火墙附加的功能,并不是所有的防火墙都提供VPN模块,而且通常购买防火墙的VPN模块需要另外收费。
审计和报警功能
防火墙的审计和报警功能是一项十分重要的安全措施,一个良好的审计报警系统能为管理员及时发现安全事件提供帮助。防火墙的日志总体要求是记录全面,方便查询,可灵活定制。
三、防火墙技术要点解析
工作模式(透明模式和路由模式)
路由模式就象一台“路由器”接入已有环境那样,相应网络设备和主机需要改变路由,应用程序IP地址设置也需要相应更改。
透明模式也称桥模式、交换模式,在该模式下,防火墙就象一台交换机那样“透明”的接入已有环境,所有通过防火墙的主机路由、应用程序无须改变配置。要想实现透明模式,防火墙必须在没有IP地址的情况下工作,不需要对其设置IP地址(有少部分防火墙的网络接囗需要设置相同网段的IP地址),用户也不知道防火墙的IP地址。当然工作在透明模式下的防火墙仍然需要提供一个管理IP地址,用于远程管理防火墙。
有人曾经问“透明模式是不是工作在第二层?”,这种说法是不对的,透明模式也可以工作在网络层(包过滤处理)和应用层(内容过滤),要不然如果说透明模式工作于第二层,那么不是成了交换机之类的设备吗。
透明模式无须改变已有网络拓扑结构和应用配置,非常的方便,一旦防火墙出现故障,在安全政策允许的情况下,可以把防火墙卸下,“透明”的恢复原状,无须更改配置,这对于一些稳定性要求高或网络已建成的企业来说非常的重要,例如银行系统对运行安全要求非常的高,网络系统比较成熟,银行系统防火墙出现故障一旦,将致使业务无法交易,此时如果采用透明模式,可以卸下防火墙,先保证业务能正常运行,待查明原因再把防火墙搬上去。有些防火墙在透明模式下的性能比路由模式较好,但这不是绝对的,因为在透明模式的实现上(大都使用ARP代理),各个产家在细节上会有些差异。当然有些防火墙在透明模式下不能实现某些功能,比如NAT。
目前大部分硬件防火墙都支持透明模式和路由模式,国内有些防火墙还提供透明与路由同时存在的混合模式,在该模式下,防火墙的某些接口之间是透明的,某些接口之间是非透明的。
网络接口特性
网络接口类型:防火墙一般支持以太网接口,有些防火墙还支持ATM、FDDI和令牌网接口等,具有广域网接口的防火墙,如果部署在专线连接的环境中,可以节省一台路由器。
网络接口数:接口越多,网络配置的灵活性就越好。防火墙至少应配备三个以上的以太网接口,用于内网、外网和DMZ区,并且至少可扩展至四个以太网接口。
网络接口速率:有100M和1000M,也即百兆防火墙和千兆防火墙,千兆防火墙使用的机会不多,其价格也贵很多。
支持的路由协议
在大部分应用环境中,处于防火墙不同区域的网络设备和主机只需设置静态路由指向防火墙,但有些环境要求动态路由通过防火墙。防火墙支持的动态路由协议包括rip、ospf等。
tcp/ip应用支持和非IP协议支持
通过防火墙的tcp/ip应用可分成三类:第一类单端口应用,比如telnet应用使用23端口,http应用使用80端口,所有的防火墙都能处理这类应用;第二类多端口应用,这类应用使用若干个固定的端口,用户需要熟悉此类应用的端口,在防火墙定义这些端口并加以控制,有些防火墙已内嵌多端囗应用的定义,用户无须熟悉应用端口,非常的方便;第三类是动态临时开启端口的应用,比如ftp,rpc等应用,如果防火墙不支持此类应用,就需要事先打开所有可能打开的端口,这将造成很大的安全风险。
对于非IP协议的支持,防火墙至少应该支持netbios协议,用于windows共享访问。有些防火墙可根据定义,支持大部分非IP协议。
安全规则配置
防火墙在稳定运行后更多的工作是维护安全规则,安全规则的设计应灵活,便于操作。
1) 资源对象化管理
在防火墙中,资源(也称对象、元素)包括主机、服务、时间等,资源是每条安全规则的要素。防火墙把资源用名称代替,在安全策略维护时采用该名称代表资源称为对象化管理,一个灵活的对象化设计应该能够对以下资源进行定义:
主机资源:包括单个主机、连续的主机段、多个分散主机的组合、单个网段、多个分散的网段和以上的任意组合。
应用服务: 包括单个服务、多个服务组合。
时间:可按需要定义时间段,比如工作时间。
如果不采用对象化管理,将会给维护工作带来很大的麻烦。
2) 安全规则可操作化
防火墙上线后,日常工作主要集中在安全规则的维护上,一个可操作化的安全规则配
置将为管理员提供事半功倍的效率。
日志审计
防火墙日志审计功能很重要,用户在选用防火墙时应该注意以下内容:
日志可读性:日志显示信息应该要素明了,查看方便,内容不能过粗也不宜过细。至少要求提供的日志信息有:事件时间、协议、IP地址、端囗(服务)、动作(拒绝或允许)等内容,有些防火墙连tcp序列号、标识位、是否分段等信息都提供,虽然这些详细信息可以为管理员提供更好的帮助,但是信息过细,过杂,导致查看非常的不方便,反而容易使管理员疏忽。
日志存储方式:日志存储一般采用两种方式,一种是直接存储在防火墙上。另一种是远程存储在一台日志服务器上。
日志定制功能:管理员应该能够按照安全策略定义哪些规则需要记日志,哪些不需要记日志,如果不提供日志定制的功能,就不能有选择的记录信息,将使日志信息非常的庞大,不利于查看。
日志查询功能:为方便管理员查询某些安全事件,防火墙应该具备日志查询功能,至少应能按照IP地址、服务、时间、处理方式(拒绝或允许)等要素查询。
防火墙管理
防火墙管理实现对防火墙初始化、网络配置、安全策略调整等工作,一个设计良好的防火墙管理技术能为管理员提供安全、快捷、灵活的管理方式,应该把管理功能做为选择防火墙最重要的参考参数之一。
1)管理工具
目前防火墙管理有命令行管理和图形界面管理两种。大部分防火墙先使用命令行完成初始化工作,包括设置网卡参数、IP地址、路由等基本工作,然后通过图形化的管理工具连接防火墙进行安全规则设置、审计、监控等复杂工作。命令行管理一般通过连接CONSOL线进行,有些防火墙也支持telnet(未加密)和SSH软件(加密)进行命令行设置。图形界面管理包括WEB管理和GUI管理。
2)管理安全性
和其他系统一样,防火墙自身也存在很多安全问题。黑客攻击防火墙的手段也日益丰富,
最常见的是从防火墙远程管理入手,通过用户的疏忽盗取管理密码或通过防火墙管理漏洞非法登陆防火墙系统。因此防火墙远程管理的安全性非常的重要,其技术主要有:
传输加密:防火墙管理传输数据非常重要,为防止传输数据被非法盗取,防火墙管理的数据包应该进行加密处理,即使黑客中途截取通讯包都无法解开。防火墙管理软件一般采用SSL、SSH等协议加密数据。
认证:是指用来证明防火墙管理者的身份。一般防火墙支持基于用户名/口令、一次性口令、radius和数字证书等认证方式。
授权:是指赋予用户的操作权限或级别的行为。防火墙应该提供多级别多权限管理,定义管理者的级别(管理员、审计员、一般用户等级别)和权限(可读、可写和可执行等权限)。
管理事件审计:防火墙管理行为属重大事件,应对管理行为进行记录跟踪。如果你发现在某个时刻发生了防火墙管理事件,你询问过所有的管理员,确定在该时刻他们没有进行任何管理操作,那么你有理由相信这是一次非常严重的入侵事件。
3) 支持配置文件导入导出功能
防火墙管理一般会形成一个配置文件,记录防火墙的基本配置(包括接囗情况、IP地址设置)和访问规则等内容,该文件非常的重要。防火墙应支持配置文件的导入导出功能,配置文件导出可做为备份,在防火墙出现故障或安全规则设置存在问题等情况时可导入之前的配置文件恢复原来正常的状态。
4) 集中式管理
当企业部署的防火墙很多时,防火墙的集中式管理就显得非常重要。防火墙集中式管理平台为安全产品提供了一致的数据接口和为安全管理员提供了一致的管理接口。作为集中式的管理平台,系统将完成防火墙的集中管理、安全策略的制定和执行,监控和日志审计并最终达到动态的应急响应目标。
访问身份验证问题
访问身份验证是指防火墙对访问行为的身份识别。通常情况下,防火墙通过ACL(访问控制表)来控制身份验证,这种方式只是简单的以主机地址、协议、端口号等为过滤条件实现身份认证,但此方式很容易被伪造,来自外部的IP地址欺骗行为很容易绕过这种验证机制。为解决这个问题,很多防火墙提供对访问控制的强身份认证机制,包括基于用户、应用代理和VPN技术等。
流量控制
流量控制可以分为基于IP地址的控制和基于用户的控制。基于IP地址的控制是对通过防火墙各个网络接口的流量进行控制,基于用户的控制是通过用户登录来控制每个用户的流量,从而防止某些应用或用户占用过多的资源。并且通过流量控制可以保证重要用户和重要接口的连接。流量统计是建立在流量控制基础之上的。一般防火墙通过对基于IP、服务、时间、协议等等进行统计,并可以与管理界面实现挂接,实时或者以统计报表的形式输出结果。流量计费从而也是非常容易实现的。
实时状态显示
防火墙实时状态显示功能提供了正在通过防火墙的数据包的连接状态,其作用类似于一个简单的sniffer,记录了数据包的源IP地址、目的IP地址、协议、源端口、目的端口等实时信息。
超时设置
tcp/udp协议有长连接和短连接之分,比如telnet属于长连接,http属于短连接。为避免长连接占用带宽,一般防火墙都具有用户定期最长连接时间的设置,由用户根据需要定制最长时间时间,超过此时间将把该连接断开。
最大并发连接数
并发连接数指的是在一个时刻,防火墙支持的客户端会话连线数。并发连接数是防火墙最主要性能指标之一。(最大)并发连接数指的是防火墙对信息流的处理能力,是防火墙能够同时处理的点对点连接的最大数目,它反映的是防火墙设备对多个连接的访问控制能力和连接状态跟踪能力。这个参数的大小可以直接影响到防火墙所能支持的最大信息点数。应根据网络、应用情况选定合适的并发连接数。
软硬件升级
硬件升级是指防火墙硬件结构、部件升级和配置的网络接囗扩展。
软件升级包括软件功能升级、软件补丁安装等。
防火墙应该提供可操作化、灵活的软硬件升级方式
四、防火墙若干热点问题
防火墙资质问题
按照国家有关规定,安全专用产品在都要求申领公安部计算机管理监察部门颁发的销售许可证。这个证是强制性的,防火墙产品要想在国内销售,必须取得销售许可证。另外还有中国国家信息安全测评认证中心的测评,这个证在国内还是比较权威,但不是强制性的,国内大部分防火墙都通过此认证,但国外某些防火墙没通过此认证。
防火墙与路由器安全性问题
我们知道,现在的路由器一般都具有包过滤(通过ACL访问控制列表)、防DOS攻击等安全特性。有些人提出路由器启用这些安全功能可以代替防火墙,对此防火墙产商坚持认为有了路由器还需要防火墙。对于这个问题,笔者认为要区别对待。
路由器使用静态包过滤技术,工作在网络层,它虽然可以控制端囗号等上层内容,但不能跟踪上层信息。现在的防火墙一般使用状态检测技术,可以工作于更高层,可以跟踪上层信息,进行内容过滤。防火墙的状态检测技术无论在安全性上还是在性能上都比路由器使用的静态包过滤技术优越。另外,防火墙是专门为保护内部网络、防范攻击而设计,功能全面,管理灵活,路由器的防火墙特性只是其附属功能。但是我们也要知道,在路由器实现防火墙特性是能够防范大部分攻击的,对于针对静态包过滤防火墙的攻击,用户可以通过主机系统加固等手段防范,其实安全是多方面的,再先进的防火墙也不能防范所有攻击,仍然需要通过其他安全措施保障整体网络安全。
防火墙防病毒功能问题
关于防火墙需不需要集成防病毒功能的问题,有很多争议,有些人认为防火墙应该集成防病毒模块,有些人认为这样会影响性能,坚持防火墙不应该提供防病毒功能。究竟孰对孰错呢?让我们先来看看防火墙防病毒检测是如何工作的。
防火墙通过内置的病毒引擎分析数据包是否感染病毒,这种工作需要跟踪数据包应用层的数据,从这点看,防火墙防病毒功能事实上是内容过滤的一种。内容过滤是一件很耗资源的工作。目前,还没有有效的对应用层进行高速检测的方法,也没有哪款芯片能做到这一点。病毒过滤的种类越多,内存和CPU开销就越大。所以一般来说,防火墙并不过滤所有的病毒,而是在病毒的种类上进行取舍。每天都会有新的病毒出现,攻击特征库需要频繁升级,对于处在网络出口关键位置的防火墙,如此频繁地升级也是很不现实的。
事实上,防火墙集不集成IDS功能也存在上述问题。因为IDS技术很多都需要涉及到应用层数据,所以防火墙一般防范非应用层的攻击,比如ping flood,对于应用层的攻击防范甚少。