防火墙是一个系统或一组系统,它在内网与Internet间执行一定的安全策略。典型的防火墙应包含如下模块中的一个或多个:包过滤路由器、应用层网关(或代理服务器)以及链路层网关。
防火墙的功能大体为以下五个方面:
1、通过防火墙可以定义一个关键点以防止外来入侵
2、监控网络的安全并在异常情况下给出报警提示
3、提供网络地址转换功能
4、防火墙可查询或登记Internet的使用情况
5、防火墙是为客户提供服务的理想位置,即在其上可以配置相应的服务,使Internet用户仅可以访问此类服务,而禁止对保护网络的其他系统的访问。
2.2.1 传统的边界防火墙
1、过滤式防火墙
包过滤是第一代防火墙技术,它主要包含了前面提到的包过滤路由器。这是一种通用、廉价、有效的安全手段。它对每一个数据报的包头,按照包过滤规则进行判定,与规则相匹配的包依据路由表信息继续转发,否则丢弃。
它的优点很明显:
Ø 它工作在网络层,所以效率高速度也很快而且它不用改动客户机和主机上的应用程序。
Ø 大多数防火墙配置成无状态的包过滤路由器,因而实现包过滤几乎没有任何耗费。
Ø 另外,它对用户和应用来说是透明的,每台主机无需安装特定的软件,使用起来比较方便。
不过它的缺点也很明显:
Ø 在许多过滤器中,过滤规则的数目是有限制的,且随着规则数目的增加,将降低路由器包的吞吐量,同时耗费更多CPU的时间而影响系统的性能
Ø 大多数过滤器中缺少审计和报警机制
Ø 不能在用户级别上进行过滤
Ø 任何直接通过路由器的包都可能被利用做为发起一个数据驱动的攻击
Ø 再者IP包过滤难以进行行之有效的流量控制,因为它可以许可或拒绝一个特定的服务,但无法理解一个特定服务的内容或数据。
2、代理服务器型防火墙
代理服务器型防火墙通常也称为应用代理型防火墙,他主要包含前面提到的应用层网关。这种防火墙通常由两部分构成,服务器端程序和客户端程序。客户端程序与中间节点连接,中间节点再与提供服务的服务器实际连接。与包过滤防火墙不同的是,内外网间不存在直接的连接,而且代理服务器提供日志和审计服务。
它的优点在于:
Ø 代理易于配置
Ø 代理能生成各项记录,便于观察用户的使用情况
Ø 代理能灵活、完全地控制进出的流量和内容
Ø 代理能过滤数据内容
Ø 代理能为用户提供透明的加密机制
Ø 代理可以方便地与其他安全手段集成
Ø 当然,它最大的优点在于网络管理员对每一个服务的完全控制权
它的缺点在于
Ø 代理速度较路由器慢
Ø 代理对用户不透明
Ø 对于每项服务代理可能要求不同的服务器,当然也可以把所有代理集中于一个服务器,但是那样对代理效率影响比较大
Ø 代理服务不能保证你免受所有协议弱点的限制
Ø 代理不能改进底层协议的安全性
2.2.2 主机防火墙
主机防火墙是部署在单个主机上的,它结合一些基于应用的安全检查,它能明显地降低内网攻击的危害。基于网络的IDS监听整个内网上的网络通信,发现攻击行为并报警,能有效地威慑试图在内网中发动攻击的黑客。但是,它们的缺点也很明显。企业内部通常有十几台甚至上百台的计算机,为每一台主机部署主机防火墙,是一件十分吃力的工作。当安全策略需要升级或变更时,控制维护和管理成本将成为很棘手的问题。而基于网络的IDS的缺陷在于它面对高速大流量的网络时,丢包漏报的问题比较突出,且由于它多采用全网监听的工作模式,在交换式网络环境中部署和应用都受到很大限制。
2.2.3 分布式防火墙
分布式防火墙是目前防火墙发展的一个热点,它是针对边界防火墙存在的缺陷来提出的。
分布式防火墙的部署大多数下图所示:
分布式防火墙有狭义和广义之分。堵住内网漏洞是分布式防火墙的专长。
1、广义分布式防火墙
广义分布式防火墙是一种全新的防火墙体系结构,包括网络防火墙、主机防火墙和中心管理三部分。
Ø 网络防火墙部署于内部网与外部网之间以及内网子网之间。网络防火墙区别于边界防火墙的特征在于,网络防火墙需支持内部网可能有的IP和非IP协议,而边界防火墙并不需要。
Ø 主机防火墙对网络中的服务器和桌面系统进行防护,主机的物理位置可能在企业网中,也可能在企业网外。
Ø 由于边界防火墙只是网络中的单一设备,对其进行的管理也只能是局部管理。对于广义分布式防火墙来说,每个防火墙作为安全监测机制的组成部分,必须根据不同的安全要求被布置在网络中任何需要的位置上。对广义分布防火墙的管理必须是统一进行的,中心管理是分布式防火墙系统的核心和重要特征之一。安全策略的分发及日志的汇总都是中心管理具备的功能。
2、狭义分布式防火墙
狭义分布式防火墙是指驻留在网络主机(如服务器或桌面机)并对主机系统提供安全防护的软件产品,驻留主机是这类防火墙的重要特征。这类防火墙将该驻留主机以外的其他网络都认作是不可信任的,并对驻留主机运行的应用和对外提供的服务设定针对性很强的安全策略。采用嵌入操作系统内核是狭义防火墙的另一特点。操作系统自身存在许多安全漏洞,使运行其上的应用软件受到威胁,防火墙软件也不能幸免。为彻底堵住操作系统漏洞,狭义防火墙的安全监测核心引擎必须嵌入操作系统内核,直接接管网卡,对所有数据包进行检查后再提交给操作系统。要想实现这种运行机制,防火墙厂商必须要与操作系统厂商进行技术合作。不能实现嵌入式运行模式的狭义防火墙由于受到操作系统安全机制的制约,存在明显的安全隐患。