什么是防火墙
防火墙定义:防火墙就是一个位于计算机和它所连接的网络之间的软件 。该计算机流入流出的所有网络通信均要经过此防火墙。
防火墙的功能:防火墙对流经它的网络通信进行扫描。这使之能够过滤掉一些攻击,以免其在目标计算机上被执行。防火墙还可以关闭不使用的端口。而且它还能禁止特定端口的流出通信,检测病毒入侵。最后,它可以禁止来自特殊站点的访问,从而防止来自不明入侵者的所有通信。
为什么使用防火墙:防火墙具有很好的保护作用。入侵者必须首先穿越防火墙的安全防线,才能接触目标计算机。你可以将防火墙配置成许多不同保护级别。高级别的保护可能会禁止一些服务,如视频流等,但至少这是你自己的保护选择。
防火墙的类型:防火墙有不同类型。一个防火墙可以是硬件自身的一部分,你可以将因特网连接和计算机都插入其中。防火墙也可以在一个独立的机器上运行。该机器作为它背后网络中所有计算机的代理和防火墙。最后,直接连在因特网的机器可以使用个人防火墙。
防火墙的种类
1. 数据包过滤
数据包过滤(packet filtering)技术是在网络层对数据包进行选择,选择的依据是系统内设置的过滤逻辑,被称为访问控制表(access control table)。通过检查数据流中每个数据包的源地址、目的地址、所用的端口号、协议状态等因素,或它们的组合来确定是否允许该数据包通过。数据包过滤防火墙逻辑简单,价格便宜,易于安装和使用,网络性能和透明性好,它通常安装在路由器上。路由器是内部网络与internet连接必不可少的设备,因此在原有网络上增加这样的防火墙几乎不需要任何额外的费用。
数据包过滤防火墙的缺点有二:一是非法访问一旦突破防火墙,即可对主机上的软件和配置漏洞进行攻击;二是数据包的源地址、目的地址以及ip的端口号都在数据包的头部,很有可能被窃听或假冒。
2. 应用级网关
应用级网关(application level gateways)是在网络应用层上建立协议过滤和转发功能。它针对特定的网络应用服务协议使用指定的数据过滤逻辑,并在过滤的同时,对数据包进行必要的分析、登记和统计,形成报告。实际中的应用网关通常安装在专用工作站系统上。
数据包过滤和应用网关防火墙有一个共同的特点,就是它们仅仅依靠 特定的逻辑判定是否允许数据包通过。一旦满足逻辑,则防火墙内外的计算机系统建立直接联系,防火墙外部的用户便有可能直接了解防火墙内部的网络结构和运行状态,这有利于实施非法访问和攻击。
3. 代理服务
代理服务(proxy service)也称链路级网关或tcp通道(circuit level gateways or tcp tunnels),也有人将它归于应用级网关一类。它是针对数据包过滤和应用网关技术存在的缺点而引入的防火墙技术,其特点是将所有跨越防火墙的网络通信链路分为两段。防火墙内外计算机系统间应用层的" 链接",由两个终止代理服务器上的" 链接"来实现,外部计算机的网络链路只能到达代理服务器,从而起到了隔离防火墙内外计算机系统的作用。此外,代理服务也对过往的数据包进行分析、注册登记,形成报告,同时当发现被攻击迹象时会向网络管理员发出警报,并保留攻击痕迹。
典型的防火墙应包含如下模块中的一个或多个:包过滤路由器、应用层网关(或代理服务器)以及链路层网关。
1. 包过滤路由器
包过滤路由器将对每一个接收到的包进行允许/拒绝的决定。具体地,它对每一个数据报的包头,按照包过滤规则进行判定,与规则相匹配的包依据路由表信息继续转发,否则,则丢弃之。
与服务相关的过滤,是指基于特定的服务进行包过滤,由于绝大多数服务的监听都驻留在特定tcp udp端口,因此,阻塞所有进入特定服务的连接,路由器只需将所有包含特定tcp/udp目标端口的包丢弃即可。
独立于服务的过滤,有些类型的攻击是与服务无关的,比如:带有欺骗性的源ip地址攻击(包中包含一个错误的内部系统源ip地址,经掩饰后变成一个似乎来自于一个可以信任的内部主机,此时的过滤规则为:当一个具有内部源ip地址的包到达路由器的任意一个外部接口时,将此包丢弃。)、源路由攻击、细小碎片攻击(入侵者使用ip分裂技术将包划分成很小的一些碎片,然后将tcp头的信息插入包的一个小碎片中,寄希望过滤规则为丢弃协议类型为tcp而ip帧偏移量为1的所有包)等。由此可见此类网上攻击仅仅借助包头信息是难以识别的,此时,需要路由器在原过滤规则的基础附上另外的条件,这些条件的判别信息可以通过检查路由表、指定ip选择、检查指定帧偏移量等获得。
包过滤路由器的优点,大多数防火墙配置成无状态的包过滤路由器,因而实现包过滤几乎没有任何耗费。另外,它对用户和应用来说是透明的,每台主机无需安装特定的软件,使用起来比较方便。
包过滤路由器的局限性在于定义包过滤是个复杂的工作,网络管理员需要对各种因特网服务、包头格式以及希望在每一个城找到的特定的值有足够的了解:面对复杂的过滤需求,过滤规则将是一个冗长而复杂、不易理解和管理的集合,同样也很难测试规则的正确性;任何直接通过路由器的包都可能被利用做为发起一个数据驱动的攻击;随着过滤数目的增加,将降低路由器包的吞吐量,同时耗费更多cpu的时间而影响系统的性能;再者ip包过滤难以进行行之有效的流量控制,因为它可以许可或拒绝一个特定的服务,但无法理解一个特定服务的内容或数据。
2. 应用层网关
应用层网关允许网络管理员实施一个较包过滤路由器更为严格的安全策略,为每一个期望的应用服务在其网关上安装专用的代码(一个代理服务),同时,代理代码也可以配置成支持一个应用服务的某些特定的特性。对应用服务的访问都是通过访问相应的代理服务实现的,而不允许用户直接登录到应用层网关(bastion host)。
应用层网关安全性的提高是以购买同关硬件平台的费用为代价,网关的配置将降低对用户的服务水平,但增加了安全配置上的灵活性。
应用层网关的好处,在于它授予网络管理员对每一个服务的完全控制权,由代理服务限制了命令集合和哪一台内部主机支持相应的服务。同时,网络管理员对支持哪些服务可以完全控制。另外,应用层网关支持强的用户认证、提供详细的日志信息、以及较包过滤路由器更易于配置和测试的过滤规则。
当然,应用层网关的最大的局限性在于它需要用户或者改变其性能,或者在需要访问代理服务的系统上安装特殊的软件。
3. 链路层网关
链路层网关是可由应用层网关实现的特殊功能。它仅仅替代tcp连接而无需执行任何附加的包处理和过滤。基于防火墙构建安全网络的基本原则。
在进行防火墙设计过程中,网络管理员应考虑的问题为:防火墙的基本准则:整个企业网的安全策略;防火墙的财务费用的预算;以及防火墙的部件或构建块。
1. 防火墙的基本准则
防火墙可以采取如下两种之一理念来定义防火墙应遵循的准则:
其一、未经说明允可的就是拒绝。防火墙阻塞所有流经的信息,每一个服务请求或应用的实现都基于逐项审查的基础上。这是一个值得推荐的方法,它将创建一个非常安全的环境。当然,该理念的不足在于过于强调安全而减弱了可用性,限制了用户可以申请的服务的数量。
其二、未说明拒绝的均为许可的。约定防火墙总是传递所有的信息,此方式认定每一个潜在的危害总是可以基于逐项审查而被杜绝。当然,该理念的不足在于它将可用性置于比安全更为重要的地位,增加了保证私有网安全性的难度。
2. 企业网的安全策略
在一个企业网中,防火墙应该是全局安全策略的一部分,构建防火墙时首先要考虑其保护的范围。企业网的安全策略应该在细致的安全分析、全面的风险假设以及商务需求分析基础上来制定。
3. 防火墙的费用
简单的包过滤防火墙所需费用最少,实际上任何企业网与因特网的连接都需要一个路由器,而包过滤是标准路由器的一个基本特性。对于一台商用防火墙随着其复杂性和被保护系统数目的增加,其费用也随之增加。
至于采用自行构造防火墙方式,虽然费用低一些,但仍需要时间和经费开发、配置防火墙系统,需要不断地为管理、总体维护、软件更新、安全修补以及一些附带的操作提供支持。
因而,防火墙的配备是需要相当的费用,如何以最小的费用来最大限度地满足企业网的安全需求,这将是企业网决策者应该周密考虑的问题。结束语
当然,防火墙本身也有其局限性,即不经过防火墙的入侵,防火墙则是无能为力的,如被保护网络中通过slip和ppp方式直接与因特网相连的内部用户,则会造成安全隐患。此时,为了保证安全性,防火墙代理服务器在使用到isp的slip和ppp连接时,需要附加一些新的权限条件。同时,硬件方式构建的防火墙,如:pix 520,其不够灵活的问题也是固化防火墙的共同问题,所以在一个实际的网络运行环境中,仅仅依靠防火墙来保证网络的安全显然是不够,此时,应根据实际需求采取相应的安全策略。