Internet是一个开放式和共享式网络,随着它的发展和普及,给整个社会的发展带来了巨大的推动作用,也给我们个人生活带来了便捷和快乐。但是我们也会看到,互联网上也是病毒与黑客大显身手的地方,从Internet到企业内网、从个人电脑到可上网的手机平台,没有它们不能进行攻击的地方。每一次网络的攻击,都会让家庭用户、企业用户、甚至是运营商头痛脑账。
“Internet的美妙之处在于你和每个人都能互相连接,Internet的可怕之处在于每个人都能和你互相连接”,在经历过了一次又一次的网络攻击所带来的危机后,人们已经开始认识到网络安全的重要性了。现在任何一个企业组建网络都会考虑到购买防火墙,且有越来越多的家庭用户在自己的电脑上甚至宽带接入端也加上了防火墙,相信不久的将来,我们可以看到在手机上也会出现防火墙。
6.1 防火墙的基本概念
防火墙是在一个被认为是安全和可信的内部网和一个被认为不那么安全和可信的外部网(如Internet)之间提供的一个由软件和硬件设备共同组成的安全防御工具。它是不同网络(安全域)之间的唯一出入口,能根据企业的安全政策控制(允许、拒绝 、 监测)出入网络的信息流,且本身具有很高的抗攻击能力,它是提供信息安全服务,实现网络和信息安全的基础设施。
了解有关防火墙的最重要的概念就是它实现了一种在网络之间执行访问控制策略。在逻辑上,防火墙是一个分离器,一个限制器,也是一个分析器,它只允许授权的数据通过,且本身也必须能够免于渗透,所以它能有效地监控内网和外网之间的任何活动,增强机构内部网络的安全性。如图所示。
²
防火墙的主要功能
1. 动态包过滤技术。根据所设置的安全规则动态维护通过防火墙的所有通信的状态(连接),基于连接的过滤;
2. 部署NAT(Network Address Translation,网络地址变换)。防火墙是部署NAT的理想位置,利用NAT技术,将有限的公有IP地址动态或静态地与内部的私有IP地址进行映射,用以保护内部网络并可以缓解互联网地址空间短缺的问题;
3. 控制不安全的服务。通过设置信任域与不信任域之间数据出入的策略,一个防火墙能极大地提高一个内部网络的安全性,并通过过滤不安全的服务而降低风险。还可以可以定义规则计划,使得系统在某一时可以自动启用和关闭策略;
4. 集中的安全保护。通过以防火墙为中心的安全方案配置,一个子网的所有或大部分需要改动的软件以及附加的安全软件(如口令、加密、身份认证、审计等)能集中地放在防火墙系统中。这与将网络安全问题分散到各个主机上相比,防火墙的集中安全管理更经济。
5. 加强对网络系统的访问控制。一个防火墙的主要功能是对整个网络的访问控制。比如防火墙设置内部用户对外部网络特殊站点的访问策略,也可以针对可以屏蔽部分主机的特定服务,使得外部网络可以访问该主机的其它服务(如WWW服务),但无法访问该主机的特定服务(如Telnet服务)。
6. 网络连接的日志记录及使用统计。防火墙系统能提供符合规则报文的信息、系统管理信息、系统故障信息的日志记录。另外, 防火墙系统也能够对正常的网络使用情况作出统计。通过对统计结果的分析,可以使得网络资源到更好的使用。
7. 报警功能。如具有邮件通知功能,可以将系统的告警通过发送邮件通知网络管理员;
以上是防火墙所应具备的一些防护特性,当然随着技术的发展中小企业防火墙的功能会变得越来越丰富;但有再多功能的防火墙如果没有合理的配置和管理,那么这只是一件IT摆设。
6.2 防火墙的基本类型
防火墙有很多种形式,有以软件形式运行在普通计算机之上的,也有以固件形式设计在路由器之中的。但总体来讲可分为三大类:分组过滤型防火墙、应用代理型防火墙以及状态检测防火墙。细分则还可包括电路中继型、复合型、及加密路由型号等。
6.2.1 分组过滤型防火墙
分组过滤或包过滤(Packet filtering
):
通常在路由器上实现
,
是一种通用、廉价、有效的安全手段,能很大程度地满足企业的安全要求。
分组过滤作用在网络层和传输层,它根据分组包头源地址,目的地址和端口号、协议类型等标志确定是否允许数据包通过。只有满足过滤逻辑的数据包才被转发到相应的目的地出口端,其余数据包则被从数据流中丢弃。下图是一个Cisco路由器包过滤配置实例:
²
分组过滤型防火墙的优点
1. 透明的防火墙系统。设置只须在包过滤路由器上进行,网络用户不知道它的存在。
2. 与应用程序无关。因其工作在网络层和传输层,所以无须对客户机和主机上的应用程序作任何改动,提高网络的性能。
3. 易于配置。配置简单。
²
分组过滤型防火墙的缺点
1. 有限的信息过滤。只能对网络层和传输层的有限信息进行有过滤。
2. 不能过滤所有的协议。如对UDP、RPC协议不能进行有效的过滤。
3. 缺少审计和报警机制。大多数过滤器中缺少审计和报警机制。
4. 过滤规则不宜过多。随着过滤规则数目的增加,防火墙本身的性能会受到影响。
6.2.2 应用代理型防火墙
应用代理(Application Proxy
)
:也叫应用网关(Application Gateway),它作用在应用层,其特点是完全”阻隔”了网络通信流,通过对每种应用服务编制专门的代理程序,实现监视和控制应用层的通信流。实际中的应用网关通常由一台专用服务器实现。如下图所示。
要注意的是,代理服务只有在需要严格控制内部与外部主机直接连接的场合才是一个比较有效的机制。而双宿主主机与包过滤也是具有这种特性的另外两种机制。如果内、外部主机能够直接相互通信,那么用户就没有必要使用代理服务,在这种情况下,代理服务也不可能起作用。而这种由旁路的拓扑与网络的信息安全是相悖的
代理服务器并非将用户的全部网络服务请求提交给互联网络上的真正的服务器,因为服务器能依据安全规则和用户的请求做出判断是否代理执行该请求,所以它能控制用户的请求。有些请求可能会被否决,比如:FTP代理就可能拒绝用户把文件往远程主机上送。或者它只允许用户将某些特定的外部站点的文件下载。
²
几个需要了解的基本术语:
1. 代理服务。是运行在防火墙主机上的一些特定的应用程序或者服务器程序。其软件组成为服务器端程序和客户端程序。客户端与中间节点连接,中间节点再与要访问的外部服务器直接连接。代理服务替代了用户与互联网络的连接。对用户请求的外界服务而言,代理服务相当于一个网关,代理服务有时被称为应用层网关。
2. 代理服务器。为用户提供替代连接并且充当服务的网关。代理服务器不允许存在任何网络内外的直接连接。它本身就提供公共和专用的DNS、邮件服务器等多种功能。代理服务器重写数据包而不是简单地将其转发了事。给人的感觉就是网络内部的主机都站在了网络的边缘,但实际上他们都隐藏在代理的后面,外部网络只知代理服务器的存在。
3. 防火墙主机。是指由一个网络接口联接互联网络而另一个接口联接内部网络的双宿主主机,具有至少两个网络接口的通用计算机系统;也可以是一些可以访问因特网并可被内部主机访问的堡垒主机,它对互联网暴露,又是内部网络用户的主要连接点。
4. 堡垒主机。多数情况下为双网卡(双宿主堡垒主机),分连不同的网络并将它们完全隔开(单宿主堡垒主机只有一个网卡则不能完全隔开),其经常被配为网关服务,暴露于互联网上最易受到攻击。
²
应用代理型防火的特点
1. 透明性。代理服务给用户的假象是其是直接与真正的服务器相连的;而在服务器端代理服务给出的假象是其是直接面对连在代理服务器上的用户。
2. 在网络连接建立之前可以对用户身份进行认证。在代理软件中可以设置对用户进行身份验证,这样确保只有合法用户才能对网络资源进行访问。
3. 丰富的审记和报警功能。应用代理型防火墙对通过的信息流可以以多种格式进行记录和保存,并可对特定事件向管理员进行报警。
4.
灵活的安全机制。代理服务可对于不同的主机、用户及应用程序执行不同的安全规则,而不对所有对象执行同一标准。
²
应用代理型防火墙的缺点
1. 对每种类型的服务都需要一个代理。由于对各种类型的服务和应用都需要一个代理,所以有时在服务器端需进行较为复杂的配置。
2. 网络性能有所下降。同过滤防火相比,服务器的性能和网络性能有所下降。
3.
客户应用可能需要修改。由于代理软件分为服务器端软件和客户端软件,故客户机需安装相应软件或作相应的网络设置。
6.2.3 状态检测防火墙
网关防火墙的一个挑战就是吞吐量,开发状态检测功能是为了让规则能够运用到会话发起过程,从而在大为提高安全防范能力的同时也改进了流量处理速度。同时,状态检测防火墙也摒弃了包过滤防火墙仅考查数据包的 IP 地址等有限几个参数,而不关心数据包连接状态变化的缺点,在防火墙的核心部分建立状态连接表,并将进出网络的数据当成一个个的会话,并利用状态表跟踪每一个会话状态,因此提供了完整的对传输层的控制能力。由于状态监测技术采用了一系列优化技术,使防火墙性能大幅度提升,能应用在各类网络环境中,尤其是在一些规则复杂的大型网络上。
1993年,Check Point公司成功推出了世界上第一台商用的状态检测防火墙产品之后,很多厂商也相继进行了开发了,并在90年代中期得到了迅速发展。现今的防火墙市场,状态检测防火墙产品由于其在性能、部署能力和扩展能力方面的优势已成为市场上的绝对领导者。如今,任何一款高性能的防火墙,都会采用状态检测技术。
从 2000 年开始,国内的著名防火墙公司,如北京天融信等公司,都开始采用这一最新的体系架构,并在此基础上,天融信 NGFW4000 创新推出了核检测技术,在操作系统内核模拟出典型的应用层协议,在内核实现对应用层协议的过滤,在实现安全目标的同时可以得到极高的性能。目前支持的协议有 HTTP/1.0/1.1 、 FTP 、 SMTP 、 POP3 、 MMS 、 H.232 等最新和最常用的应用协议。
²
状态检测防火墙的工作过程
无论何时,当防火墙接收到一个初始化TCP连接的SYN包,这个带有SYN的数据包被防火墙的规则库检查。该包在规则库里依次序比较。如果在检查了所有的规则后,该包都没有被接受,那么拒绝该次连接,一个RST的数据包发送到远端的机器。如果该包被接受,那么本次会话被记录到位于内核模式中的状态监测表里,这时需要设置一个时间溢出值。随后的数据包(没有带有一个SYN标志)就和该状态监测表的内容进行比较。如果会话是在状态表内,而且该数据包是会话的一部分,该数据包被接受。如果不是会话的一部分,该数据包被丢弃。这种方式提高了系统的性能,因为每一个数据包不是和规则库比较,而是和状态监测表比较。只有在SYN的数据包到来时才和规则库比较。所有的数据包与状态检测表的比较都在内核模式下进行所以应该很快。
在连接被通讯双方关闭后,状态监测表中的连接应该被维护一段时间。当状态监测模块监测到一个FIN或一个RST包的时候,减少时间溢出值从缺省设定的值3600秒减少到50秒。如果在这个周期内没有数据包交换,这个状态检测表项将会被删除,如果有数据包交换,这个周期会被重新设置到50秒。如果继续通讯,这个连接状态会被继续地以50秒的周期维持下去。这种设计方式可以避免一些DOS攻击,例如,一些人有意地发送一些FIN或RST包来试图阻断这些连接。
6.3 防火墙的构造体系
由于对更高安全性的要求,如仅仅使用某种单项技术来建立正确完整防火墙是不大可能达到企业所需的安全目标的。在实际的实施方案时,经常要用若干的技术混合的复合型防火墙方可解决面对的各种问题。
在现有防火墙产品和技术中,将包过滤技术和多种应用技术融合到一起,构成复合型防火墙体系统结构是目前国内防火墙产品的一个特点,也是防火墙今后发展的主流技术。
复合型防火墙解决方案通常有如下两种:
l 屏蔽主机防火墙体系结构
l 屏蔽子网防火墙体系结构
6.3.1 屏蔽主机防火墙体系统结构
屏蔽主机防火墙体系统结构由包过滤路由器和堡垒主机构成。其实现了网络层安全(包过滤)和应用层安全(代理服务)。
对于这种防火墙系统,堡垒主机配置在内部网络上,而包过滤路由器则放置在内部网络和Internet之间。在路由器上进行规则配置,使得进出的所有信息必须通过堡垒主机。这种路由允许堡垒主机把外部流量代理到内部网络前会进行流量分析。
由于内部主机与堡垒主机处于同一个网络,内部系统是否允许直接访问Internet,或者是要求使用堡垒主机上的代理服务来访问Internet由机构的安全策略来决定。
对于这种体系统结构常见的拓朴如下图所示。在实际的应用中,为了增强安全性,一般堡垒主机应至少有两个网卡,这样可以物理的隔离子网。
6.3.2 屏蔽子网防火墙体系统结构
屏蔽子网防火墙体系统结构堡垒机放在一个子网内,形成“非军事化区(DMZ)”,两个分组过滤路由器放在这一子网的两端,使这一子网与Internet及内部网络分离。在屏蔽子网防火墙体系结构中,堡垒主机和分组过滤路由器共同构成了整个防火墙的安全基础。如下图所示:
这个防火墙系统建立的是最安全的防火墙系统,因为在定义了“非军事区”(DMZ)网络后,它支持网络层和应用层安全功能。网络管理员将堡垒主机、信息服务器、Modem组、以及其它公用服务器放在DMZ网络中。
在一般情况下对DMZ配置成使用Internet和内部网络系统能够访问DMZ网络上数目有限的系统,而通过DMZ网络直接进行信息传输是严格禁止的。
²
部署屏蔽子网防火墙系统的好处
1. 入侵更加困难。入侵者必须从外向内突破3个不同的设备才能侵袭内部网络:外部路由器,堡垒主机,还有内部路由器。 如果将内外路由器分别采用不同厂商的路由器,则入侵的难度还会加大。
2. 内外网不能直接通信。由于外部路由器只能向Internet通告DMZ网络的存在,内部路由器也只向内部网络通告DMZ网络的存在,这样网络管理员就既可以保证内部对外网是“不可见”的,同样也就保证了内部网络上的用户必须通过驻留在堡垒主机上的代理服务才能访问Internet。
3. 更大的吞吐量。内部路由器在作为内部网络和Internet之间最后的防火墙系统时,能够支持比双宿堡垒主机更大的数据包吞吐量。
4. NAT的理想位置。由于DMZ网络是一个与内部网络不同的网络,NAT(网络地址变换)可以安装在堡垒主机上,从而避免在内部网络上重新编址或重新划分子网,并且只有在DMZ网络上选定的系统才对Internet开放(通过NAT的地址映射、路由表和DNS信息交换)。
6.4 防火墙的访问规则
6.4.1 防火墙的默认设置
防火墙有以下两种之一的默认配置:
l 拒绝所有的通信。在这种情况下,内外的通信完全被阻断,是最安全但也最不适用的形式。
l 允许所有的通信。在这种情况下,内外可以进行无限制的通信,防火墙好象不存在。
对于安全性要求比较高的防火墙,一般采用拒绝所有通信作为默认设置。一旦安装了防火墙,为了授予防火墙内的用户访问他们的被授权的系统,则需要打根据公司的安全策略只打开某些特定的端口以允许特定的内外通信,这就是需要进行相应的访问规则的配置。
6.4.2防火墙的规则元素
访问规则定义了允许或拒绝网络之间的通信的条件。访问规则中运用的元素是防火墙中可用于创建特定访问规则的配置对象。
规则元素一般可分为以下五种类型:际工资
l 协议。此规则元素包含一些协议,可用于定义要用在访问规则中的协议。例如,您可能想要创建只允许 HTTP 通信的访问规则,则在配置时对于协议的选择则只选用HTTP即可。
l 用户集。用户集包含许多单独的用户或用户组。您可以使用 Active Directory 域用户或用户组、远程身份验证拨入用户服务 (RADIUS) 服务器组或 SecureID 组等创建用户集。在规则配置时则可以针对不同的用户集对网络资源的访问分别采用不同的规则进行访问控制。
l 内容类型。此规则元素提供您可能想要应用规则的公共内容类型。例如,您可以使用内容类型规则元素来阻止包含 .exe 或 .vbs 扩展名的所有内容下载。
l 计划。此规则元素允许您指定一个星期内要应用规则的小时时段。如果需要定义只允许在指定的小时时段内访问 Internet 的访问规则,则可以创建定义小时时段的计划规则元素,然后在创建访问规则时使用该计划规则元素。
l 网络对象。此规则元素允许您创建要应用规则的计算机集,或者将不再应用规则的计算机集。您还可以配置 URL 集和域名集,用来允许或拒绝对特定 URL 或域的访问。
6.4.3 访问规则的定义
创建访问规则的步骤是选择适当的访问规则元素,然后定义元素之间的关系。如下图所示。
所有访问规则具有相同的整体结构,如下表所示。
6.5 防火墙的限制
防火墙并非万能,它仍然有许多在网上不能防范的攻击。现总结如下:
1. 防火墙无法防范通过防火墙以外的其它途径的攻击。例如,在一个被保护的网络上有一个没有限制的拨出存在(如通过MODEM拨号),内部网络上的用户就可以直接通过SLIP或PPP连接进入Internet。这就为从后门攻击创造了极大的可能。网络上的用户们必须了解这种类型的连接对于一个有全面的安全保护系统来说是绝对不允许的。
2. 防火墙也不能防止来自内部变节者和不经心的用户们带来的威胁。
3. 也不能防范这样的攻击:伪装成超级用户或诈称新雇员的攻击。
4. 防火墙不能有效地防范像病毒这类东西的入侵。对病毒十分忧虑的机构应当在整个机构范围内采取病毒控制措施。不要试图将病毒挡在防火墙之外,而是保证每个脆弱的桌面系统都安装上病毒扫描软件,只要一引导计算机就对病毒进行扫描。
5. 最后一点是,防火墙无法防范数据驱动型的攻击。数据驱动型的攻击从表面上看是无害的数据被邮寄或拷贝到Internet主机上。但一旦执行就开成攻击。例如,一个数据型攻击可能导致主机修改与安全相关的文件,使得入侵者很容易获得对系统的访问权。后面我们将会看到,在堡垒主机上部署代理服务器是禁止从外部直接产生网络连接的最佳方式,并能减少数据驱动型攻击的威胁。