千阪'BLOG Chisaka'

welcome

/  

防火墙技术基础

常见防火墙的类型主要有三种:包过滤、电路层网关、应用层网关,每种都有各自的优缺点。

包过滤

第一代防火墙技术,它按照安全规则,检查所有进来的数据包,而这些安全规则大都是基于底层协议的,如IP、TCP。如果一个数据包满足以上所有规则,过滤路由器把数据向上层提交,或转发此数据包,否则就丢弃此包。

包过滤的优缺点

优点:一个过滤路由器能协助保护整个网络;数据包过滤对用户透明;过滤路由器速度快、效率高。

缺点:不能彻底防止地址欺骗;一些应用协议不适合于数据包过滤;正常的数据包过滤路由器无法执行某些安全策略

代理

代理是一种较新型的防火墙技术,这种防火墙有时也被称为应用层网关,这种防火墙的工作方式和过滤数据包的防火墙、以路由器为基础的防火墙的工作方式稍有不同。它是基于软件的。

电路层网关

电路层网关是建立应用层网关的一个更加灵活和一般的方法。虽然它们可能包含支持某些特定TCP/IP应用程序的代码,但通常要受到限制。如果支持应用程序,那也很可能是TCP/IP应用程序。在电路层网关中,可能要安装特殊的客户机软件,用户可能需要一个可变用户接口来相互作用或改变他们的工作习惯。

代理技术的优缺点

优点:代理易于配置;代理能生成各项记录;代理能灵活、完全地控制进出的流量、内容;代理能过滤数据内容;代理能为用户提供透明的加密机制;代理可以方便地与其他安全手段集成。

缺点:代理速度较路由器慢;代理对用户不透明;对于每项服务代理可能要求不同的服务器;代理服务不能保证你免受所有协议弱点的限制;代理不能改进底层协议的安全性。

新型防火墙技术

我们的目标是设计并实现一种新型防火墙。这种防火墙既有包过滤的功能,又能在应用层进行代理。较前面分析的防火墙来说,具有先进的过滤和代理体系,能从数据链路层到应用层进行全方位安全处理。TCP/IP协议和代理的直接相互配合,使本系统的防欺骗能力和运行的健壮性都大大提高。

TCP/IP协议处理

TCP/IP协议处理是本系统的难点和重点之一,非常复杂与庞大。实现TCP/IP的第一步必须能正确地理解定义、实现TCP/IP各协议的数据包格式。

数据链路层是TCP/IP协议的最低层,它的常规功能是对上层数据(IP或ARP)进行物理帧的封装与拆封,当然还包括硬件寻址、管理等功能。在本系统中,数据链路层除了实现上述功能外,还增加了监听网上数据、记录硬件地址和直接读写网卡的功能。

从一般的概念来说,ARP和ICMP都属于IP层,实际上,ICMP在IP层之上,利用IP层收、发数据包,而ARP/RARP则在IP层之下,它们本身并不使用IP层,而是直接在数据链路层上进行收发。

IP层的处理较复杂,且可做许多安全方面的工作。若在极端的情况下,我们可以修改IP报头,增加安全机制(如认证)。考虑到系统的性能及兼容性,我们没有选择这种方法,而是利用了包过滤技术和ICMP、ARP提供的功能,提供安全机制。当然,随着安全方面技术的发展,也许第一种方法会是一种好的选择,但前提是路由器的支持。目前,大部分路由器只能处理常规的IP包(即IPV4),对于新出台的IPV6(它提供了更多的选项,我们可在选项中增加安全机制),路由器还远未支持。

利用上述几项功能,我们能确保内部ARP欺骗的无效,查出欺骗的主机并记录,尤其能防止ARP层的拒绝服务。我们通过主机级被动检测、主机级主动检测、服务器级检测、网络级检测、查询主机硬件地址、有条件地禁止ARP等机制实现以上功能。

ICMP是为了允许路由器向主机报告投递出错的原因和一些控制而设计的。但事实上,任何一台主机都可以向任何其他机器发送ICMP报文,如Ping。

ICMP在本系统中的作用主要是:隐藏子网内主机信息和施加一些控制。ICMP虽然有一定的作用,如差错报告,但也有更大的安全隐患。一般来讲,对外部,ICMP应禁止(很多过滤路由器有此项功能)。

三种策略隐藏子网内主机信息:

◆对内部主机的ICMP包,虽然转发,但改写了ICMP包中的源IP地址,使外部不能看到内部的IP地址。

◆外部ICMP请求包一律抛弃。

◆对内部有请求时,才动态地接收外部主机的响应, 且一些ICMP危胁安全的响应也抛弃,如改变路由的ICMP包。

另外,我们可以借助ICMP来获得一些参数和一些控制,如时钟同步、地址掩码,并可利用ICMP目的地不可达报文“优雅”地通知不受欢迎的主机。

IP是通信子网的最高层,它的主要任务是寻址和转发。IP层最大的安全问题是IP欺骗,且很多上层的安全隐患源于IP欺骗,如DNS欺骗。IP层常用的安全措施是根据源地址、目的地址进行过滤,这一点已在很多路由器中得到应用。在本系统的IP层主要完成以下几个功能:IP地址过滤;IP地址与MAC绑定,防止IP欺骗;为上层提供一种通道。

TCP/UDP存在数据包伪装、SYN Flood攻击等安全隐患。为避免上述情况,必须要增加一定的验证措施,我们利用TCP的特征,设计了一种较有效的过滤手段,对TCP报文的有效性进行确认。

防火墙的主要功能

  1. 动态包过滤技术。根据所设置的安全规则动态维护通过防火墙的所有通信的状态(连接),基于连接的过滤;
  2. 部署NAT(Network Address Translation,网络地址变换)。防火墙是部署NAT的理想位置,利用NAT技术,将有限的公有IP地址动态或静态地与内部的私有IP地址进行映射,用以保护内部网络并可以缓解互联网地址空间短缺的问题;
  3. 控制不安全的服务。通过设置信任域与不信任域之间数据出入的策略,一个防火墙能极大地提高一个内部网络的安全性,并通过过滤不安全的服务而降低风险。还可以可以定义规则计划,使得系统在某一时可以自动启用和关闭策略;
  4. 集中的安全保护。通过以防火墙为中心的安全方案配置,一个子网的所有或大部分需要改动的软件以及附加的安全软件(如口令、加密、身份认证、审计等)能集中地放在防火墙系统中。这与将网络安全问题分散到各个主机上相比,防火墙的集中安全管理更经济。
  5. 加强对网络系统的访问控制。一个防火墙的主要功能是对整个网络的访问控制。比如防火墙设置内部用户对外部网络特殊站点的访问策略,也可以针对可以屏蔽部分主机的特定服务,使得外部网络可以访问该主机的其它服务(如WWW服务),但无法访问该主机的特定服务(如Telnet服务)。
  6. 网络连接的日志记录及使用统计。防火墙系统能提供符合规则报文的信息、系统管理信息、系统故障信息的日志记录。另外, 防火墙系统也能够对正常的网络使用情况作出统计。通过对统计结果的分析,可以使得网络资源到更好的使用。
  7. 报警功能。如具有邮件通知功能,可以将系统的告警通过发送邮件通知网络管理员;

  以上是防火墙所应具备的一些防护特性,当然随着技术的发展中小企业防火墙的功能会变得越来越丰富;但有再多功能的防火墙如果没有合理的配置和管理,那么这只是一件IT摆设。

防火墙的基本类型

防火墙有很多种形式,有以软件形式运行在普通计算机之上的,也有以固件形式设计在路由器之中的。但总体来讲可分为三大类:分组过滤型防火墙、应用代理型防火墙以及状态检测防火墙。细分则还可包括电路中继型、复合型、及加密路由型号等。

分组过滤型防火墙

分组过滤或包过滤(Packet filtering**):通常在路由器上实现,**是一种通用、廉价、有效的安全手段,能很大程度地满足企业的安全要求。

分组过滤作用在网络层和传输层,它根据分组包头源地址,目的地址和端口号、协议类型等标志确定是否允许数据包通过。只有满足过滤逻辑的数据包才被转发到相应的目的地出口端,其余数据包则被从数据流中丢弃。下图是一个Cisco路由器包过滤配置实例

分组过滤型防火墙的优点

  1. 透明的防火墙系统。设置只须在包过滤路由器上进行,网络用户不知道它的存在。
  2. 与应用程序无关。因其工作在网络层和传输层,所以无须对客户机和主机上的应用程序作任何改动,提高网络的性能。
  3. 易于配置。配置简单。

分组过滤型防火墙的缺点

  1. 有限的信息过滤。只能对网络层和传输层的有限信息进行有过滤。
  2. 不能过滤所有的协议。如对UDP、RPC协议不能进行有效的过滤。
  3. 缺少审计和报警机制。大多数过滤器中缺少审计和报警机制。
  4. 过滤规则不宜过多。随着过滤规则数目的增加,防火墙本身的性能会受到影响。
应用代理型防火墙

应用代理(Application Proxy**)**:也叫应用网关(Application Gateway),它作用在应用层,其特点是完全"阻隔"了网络通信流,通过对每种应用服务编制专门的代理程序,实现监视和控制应用层的通信流。实际中的应用网关通常由一台专用服务器实现。如下图所示。

要注意的是,代理服务只有在需要严格控制内部与外部主机直接连接的场合才是一个比较有效的机制。而双宿主主机与包过滤也是具有这种特性的另外两种机制。如果内、外部主机能够直接相互通信,那么用户就没有必要使用代理服务,在这种情况下,代理服务也不可能起作用。而这种由旁路的拓扑与网络的信息安全是相悖的

代理服务器并非将用户的全部网络服务请求提交给互联网络上的真正的服务器,因为服务器能依据安全规则和用户的请求做出判断是否代理执行该请求,所以它能控制用户的请求。有些请求可能会被否决,比如:FTP代理就可能拒绝用户把文件往远程主机上送。或者它只允许用户将某些特定的外部站点的文件下载。

²几个需要了解的基本术语:

  1. 代理服务。是运行在防火墙主机上的一些特定的应用程序或者服务器程序。其软件组成为服务器端程序和客户端程序。客户端与中间节点连接,中间节点再与要访问的外部服务器直接连接。代理服务替代了用户与互联网络的连接。对用户请求的外界服务而言,代理服务相当于一个网关,代理服务有时被称为应用层网关。
  2. 代理服务器。为用户提供替代连接并且充当服务的网关。代理服务器不允许存在任何网络内外的直接连接。它本身就提供公共和专用的DNS、邮件服务器等多种功能。代理服务器重写数据包而不是简单地将其转发了事。给人的感觉就是网络内部的主机都站在了网络的边缘,但实际上他们都隐藏在代理的后面,外部网络只知代理服务器的存在。
  3. 防火墙主机。是指由一个网络接口联接互联网络而另一个接口联接内部网络的双宿主主机,具有至少两个网络接口的通用计算机系统;也可以是一些可以访问因特网并可被内部主机访问的堡垒主机,它对互联网暴露,又是内部网络用户的主要连接点。
  4. 堡垒主机。多数情况下为双网卡(双宿主堡垒主机),分连不同的网络并将它们完全隔开(单宿主堡垒主机只有一个网卡则不能完全隔开),其经常被配为网关服务,暴露于互联网上最易受到攻击。

应用代理型防火的特点

  1. 透明性。代理服务给用户的假象是其是直接与真正的服务器相连的;而在服务器端代理服务给出的假象是其是直接面对连在代理服务器上的用户。
  2. 在网络连接建立之前可以对用户身份进行认证。在代理软件中可以设置对用户进行身份验证,这样确保只有合法用户才能对网络资源进行访问。
  3. 丰富的审记和报警功能。应用代理型防火墙对通过的信息流可以以多种格式进行记录和保存,并可对特定事件向管理员进行报警。

灵活的安全机制。代理服务可对于不同的主机、用户及应用程序执行不同的安全规则,而不对所有对象执行同一标准。


应用代理型防火墙的缺点

  1. 对每种类型的服务都需要一个代理。由于对各种类型的服务和应用都需要一个代理,所以有时在服务器端需进行较为复杂的配置。
  2. 网络性能有所下降。同过滤防火相比,服务器的性能和网络性能有所下降。

客户应用可能需要修改。由于代理软件分为服务器端软件和客户端软件,故客户机需安装相应软件或作相应的网络设置。

状态检测防火墙

网关防火墙的一个挑战就是吞吐量,开发状态检测功能是为了让规则能够运用到会话发起过程,从而在大为提高安全防范能力的同时也改进了流量处理速度。同时,状态检测防火墙也摒弃了包过滤防火墙仅考查数据包的 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包来试图阻断这些连接。

防火墙的构造体系

由于对更高安全性的要求,如仅仅使用某种单项技术来建立正确完整防火墙是不大可能达到企业所需的安全目标的。在实际的实施方案时,经常要用若干的技术混合的复合型防火墙方可解决面对的各种问题。

在现有防火墙产品和技术中,将包过滤技术和多种应用技术融合到一起,构成复合型防火墙体系统结构是目前国内防火墙产品的一个特点,也是防火墙今后发展的主流技术。

复合型防火墙解决方案通常有如下两种:

l 屏蔽主机防火墙体系结构

l 屏蔽子网防火墙体系结构

屏蔽主机防火墙体系统结构

屏蔽主机防火墙体系统结构由包过滤路由器和堡垒主机构成。其实现了网络层安全(包过滤)和应用层安全(代理服务)。

对于这种防火墙系统,堡垒主机配置在内部网络上,而包过滤路由器则放置在内部网络和Internet之间。在路由器上进行规则配置,使得进出的所有信息必须通过堡垒主机。这种路由允许堡垒主机把外部流量代理到内部网络前会进行流量分析。

由于内部主机与堡垒主机处于同一个网络,内部系统是否允许直接访问Internet,或者是要求使用堡垒主机上的代理服务来访问Internet由机构的安全策略来决定。

对于这种体系统结构常见的拓朴如下图所示。在实际的应用中,为了增强安全性,一般堡垒主机应至少有两个网卡,这样可以物理的隔离子网。

屏蔽子网防火墙体系统结构

屏蔽子网防火墙体系统结构堡垒机放在一个子网内,形成“非军事化区(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信息交换)。

防火墙的访问规则

防火墙的默认设置

防火墙有以下两种之一的默认配置:

l 拒绝所有的通信。在这种情况下,内外的通信完全被阻断,是最安全但也最不适用的形式。

l 允许所有的通信。在这种情况下,内外可以进行无限制的通信,防火墙好象不存在。

对于安全性要求比较高的防火墙,一般采用拒绝所有通信作为默认设置。一旦安装了防火墙,为了授予防火墙内的用户访问他们的被授权的系统,则需要打根据公司的安全策略只打开某些特定的端口以允许特定的内外通信,这就是需要进行相应的访问规则的配置。

防火墙的规则元素

访问规则定义了允许或拒绝网络之间的通信的条件。访问规则中运用的元素是防火墙中可用于创建特定访问规则的配置对象。

规则元素一般可分为以下五种类型:际工资

l 协议。此规则元素包含一些协议,可用于定义要用在访问规则中的协议。例如,您可能想要创建只允许 HTTP 通信的访问规则,则在配置时对于协议的选择则只选用HTTP即可。

l 用户集。用户集包含许多单独的用户或用户组。您可以使用 Active Directory 域用户或用户组、远程身份验证拨入用户服务 (RADIUS) 服务器组或 SecureID 组等创建用户集。在规则配置时则可以针对不同的用户集对网络资源的访问分别采用不同的规则进行访问控制。

l 内容类型。此规则元素提供您可能想要应用规则的公共内容类型。例如,您可以使用内容类型规则元素来阻止包含 .exe 或 .vbs 扩展名的所有内容下载。

l 计划。此规则元素允许您指定一个星期内要应用规则的小时时段。如果需要定义只允许在指定的小时时段内访问 Internet 的访问规则,则可以创建定义小时时段的计划规则元素,然后在创建访问规则时使用该计划规则元素。

l 网络对象。此规则元素允许您创建要应用规则的计算机集,或者将不再应用规则的计算机集。您还可以配置 URL 集和域名集,用来允许或拒绝对特定 URL 或域的访问。

访问规则的定义

创建访问规则的步骤是选择适当的访问规则元素,然后定义元素之间的关系。

所有访问规则具有相同的整体结构

防火墙并非万能,它仍然有许多在网上不能防范的攻击。

防火墙的限制

  1. 防火墙无法防范通过防火墙以外的其它途径的攻击。例如,在一个被保护的网络上有一个没有限制的拨出存在(如通过MODEM拨号),内部网络上的用户就可以直接通过SLIP或PPP连接进入Internet。这就为从后门攻击创造了极大的可能。网络上的用户们必须了解这种类型的连接对于一个有全面的安全保护系统来说是绝对不允许的。
  2. 防火墙也不能防止来自内部变节者和不经心的用户们带来的威胁。
  3. 也不能防范这样的攻击:伪装成超级用户或诈称新雇员的攻击。
  4. 防火墙不能有效地防范像病毒这类东西的入侵。对病毒十分忧虑的机构应当在整个机构范围内采取病毒控制措施。不要试图将病毒挡在防火墙之外,而是保证每个脆弱的桌面系统都安装上病毒扫描软件,只要一引导计算机就对病毒进行扫描。
  5. 最后一点是,防火墙无法防范数据驱动型的攻击。数据驱动型的攻击从表面上看是无害的数据被邮寄或拷贝到Internet主机上。但一旦执行就开成攻击。例如,一个数据型攻击可能导致主机修改与安全相关的文件,使得入侵者很容易获得对系统的访问权。后面我们将会看到,在堡垒主机上部署代理服务器是禁止从外部直接产生网络连接的最佳方式,并能减少数据驱动型攻击的威胁。

转: https://blog.csdn.net/yu422560654/article/details/7616660