资料来自书本《计算机网络安全》
防火墙概述
防火墙(Firewall)是设置在被保护网络和外部网络之间的一道屏障,实现网络的安全保护,以防止发生不可预测的、潜在破坏性的侵入,如图所示。防火墙本身具有较强的抗攻击能力,它是提供信息安全服务、实现网络和信息安全的基础设施。
下图所示为一个典型的硬件防火墙
防火墙,也称防护墙,由Check Point公司创立者Gil Shwed于1993年发明并引入互联网。防火墙是位于内部网和外部网之间的屏障,它按照系统管理员预先定义好的规则来控制数据包的进出。防火墙是系统的第一道防线,其作用是防止非法用户的进入。
防火墙是一种计算机硬件和软件的结合,使Internet与Intranet之间建立起一个安全网关,从而保护内部网免受非法用户的侵入,如图,
防火墙也可以应用于企业内部不同安全级别的网络之间,进行安全防护,如图,
防火墙主要由服务访问规则、验证工具、包过滤组成。
防火墙就是一个位于计算机和它所连接的网络之间的软件或硬件。该计算机流入流出的所有网络通信和数据包均要经过此防火墙。
防火墙的分类
按照所在的层次和作用分类
可以将防火墙分为网络层防火墙、应用层防火墙和数据库防火墙三种。
-
网络层防火墙 网络层防火墙可视为一种IP封包过滤器,运作在底层的TCP/IP协议栈上。可以以枚举的方式,只允许符合特定规则的封包通过,其余的一概禁止穿越防火墙(病毒除外,防火墙不能防止病毒侵入)。这些规则通常可以由管理员定义或修改,不过某些防火墙设备只能套用内置的规则。也能以另一种较宽松的角度来制定防火墙规则,只要封包不符合任何一项“否定规则”就予以放行。操作系统及网络设备大多已内置防火墙功能。较新的防火墙能利用封包的多样属性来进行过滤,如来源IP地址、来源端口号、目的IP地址或端口号、服务类型(如HTTP或FTP),也能由通信协议、TTL值、来源的网域名称或网段等属性来过滤。
-
应用层防火墙 应用层防火墙是在TCP/IP栈的“应用层”上运作,使用浏览器时所产生的数据流或使用FTP等应用层协议时的数据流都属于这一层。应用层防火墙可以拦截进出某应用程序的所有封包,并且封锁其他的封包(通常是直接将封包丢弃)。理论上,这类防火墙可以完全阻绝外部的数据流进到受保护的机器里。
防火墙可以通过监测所有的封包并找出不符合规则的内容,防范计算机蠕虫或木马程序的快速蔓延。不过就实现而言,这个方法既繁且杂(因为软件的种类太多了),所以大部分的防火墙都不会考虑以这种方法设计。
- 数据库防火墙 数据库防火墙是一种基于数据库协议分析与控制技术的数据库安全防护系统。基于主动防御机制,实现数据库的访问行为控制、危险操作阻断、可疑行为审计。
数据库防火墙通过SQL协议分析,根据预定义的禁止和许可策略让合法的SQL操作通过,阻断非法违规操作,形成数据库的外围防御圈,实现SQL危险操作的主动预防、实时审计。数据库防火墙面对外部的入侵行为,提供SQL注入禁止和数据库虚拟补丁包功能。
按照存在形态分类
防火墙可以分为软件防火墙和硬件防火墙
软件防火墙的特点如下:
- 主要使用独立的软件实现防火墙的功能,需要准备额外的操作系统平台。
- 安全性依赖低层的操作系统。
- 网络适应性弱(主要以路由模式工作)。
- 稳定性高。
- 软件分发、升级比较方便。
硬件防火墙的特点如下:
- 使用专用的硬件和软件实现,不用准备额外的操作系统平台。
- 安全性完全取决于专用的操作系统。
- 网络适应性强(支持多种接入模式)。
- 稳定性较高。
- 升级、更新不太灵活。
按照保护对象分类
防火墙可以分为单机防火墙和网络防火墙。
单机防火墙
网络防火墙
防火墙的作用与局限性
防火墙的作用
防火墙主要有5个作用.
-
过滤进出网络数据 防火墙允许网络管理员定义一个中心“扼制点”来防止非法用户,如黑客、网络破坏者等进入内部网络。禁止存在安全脆弱性的服务进出网络,并抗击来自各种路线的攻击。Internet防火墙能够简化安全管理,网络安全性是在防火墙系统上得到加固,而不是分布在内部网络的所有主机上。
-
监视网络的安全性 在防火墙上可以很方便地监视网络的安全性,并产生报警。应该注意的是:对一个内部网络已经连接到Internet上的机构来说,重要的问题并不是网络是否会受到攻击,而是何时会受到攻击。网络管理员必须审计并记录所有通过防火墙的重要信息。如果网络管理员不能及时响应报警并审查常规记录,防火墙就形同虚设。在这种情况下,网络管理员永远不会知道防火墙是否受到攻击。
-
审计和记录网络流量 Internet防火墙是审计和记录Internet使用量的一个最佳地方。网络管理员可以在此向管理部门提供Internet连接的费用情况,查出潜在的带宽瓶颈的位置,并能够根据机构的核算模式提供部门级的计费。
防火墙还有日志功能,一般包括系统日志、流量日志、告警日志等。另外,根据管理的需要,防火墙可以对每一个进出网络的数据包作简单或详细的记录,包括数据的来源、目的、使用的协议、时间甚至数据的内容等。
- 发布服务信息 Internet防火墙也可以成为向客户发布信息的地点。Internet防火墙作为部署WWW服务器和FTP服务器的地点非常理想。还可以对防火墙进行配置,允许Internet访问上述服务,而禁止外部对受保护的内部网络上其他系统的访问。
防火墙的局限性
防火墙不是解决所有网络安全问题的万能药,只是网络安全政策和策略中的一个组成部分。防火墙不能防范以下攻击:
- 防火墙不能防范绕过防火墙的攻击,如内部提供拨号服务。
- 防火墙不能防范来自内部人员恶意的攻击。
- 防火墙不能阻止被病毒感染的程序或文件的传播。
- 防火墙不能防止数据驱动式攻击,如特洛伊木马。 如果有人绕过防火墙通过Modem上因特网的话,那么防火墙是不能保护内部网络安全的。
防火墙的基本特性
数据流过滤
内部网络和外部网络之间的所有网络数据流都必须经过防火墙。这是防火墙所处网络位置的特性,同时也是一个前提。因为只有当防火墙是内、外部网络之间通信的唯一通道,才可以全面、有效地保护企业网内部网络不受侵害。
根据美国国家安全局制定的《信息保障技术框架》,防火墙适用于用户网络系统的边界,属于用户网络边界的安全保护设备。所谓网络边界即是采用不同安全策略的两个网络连接处,比如用户网络和互联网之间连接、与其他业务往来单位的网络连接、用户内部网络不同部门之间的连接等。防火墙的目的就是在网络连接之间建立一个安全控制点,通过允许、拒绝或重新定向经过防火墙的数据流,实现对进、出内部网络的服务和访问的审计和控制。
典型的防火墙体系网络结构如图。从图中可以看出,防火墙的一端连接企事业单位内部的局域网,而另一端则连接着互联网。所有的内、外部网络之间的通信都要经过防火墙。
通过安全策略过滤
只有符合安全策略的数据流才能通过防火墙。防火墙最基本的功能是确保网络流量的合法性,并在此前提下将网络的流量快速地从一条链路转发到另外的链路上去。最早的防火墙是一台“双穴主机”,即具备两个网络接口,同时拥有两个网络层地址。
防火墙将网络上的流量通过相应的网络接口接收上来,按照OSI协议栈的七层结构顺序上传,在适当的协议层进行访问规则和安全审查,然后将符合通过条件的报文从相应的网络接口送出,而对不符合通过条件的报文则予以阻断。
因此,从这个角度上来说,防火墙是一个类似于桥接或路由器的、多端口的(网络接口≥2)转发设备,它跨接于多个分离的物理网段之间,并在报文转发过程之中完成对报文的审查工作。
自身安全性高
防火墙自身应具有非常强的抗攻击免疫力。这是防火墙担当企业内部网络安全防护重任的先决条件。
防火墙处于网络边缘,它就像一个边界卫士一样,每时每刻都要面对黑客的入侵,这样就要求防火墙自身要具有非常强的抗击入侵本领。
它之所以具有这么强的本领,防火墙操作系统本身是关键。只有自身具有完整信任关系的操作系统才可以谈论系统的安全性。
其次就是防火墙自身具有非常低的服务功能,除了专门的防火墙嵌入系统外,再没有其他应用程序在防火墙上运行。当然这些安全性也只能说是相对的。
应用层防火墙防护能力细致
应用层防火墙具备更细致的防护能力。自从Gartner提出下一代防火墙概念以来,信息安全行业越来越认识到应用层攻击已取代传统攻击,对用户信息安全的威胁更大,而传统防火墙由于不具备区分端口和应用的能力,只能防御传统的攻击,对基于应用层的攻击则毫无办法。
从2011年开始,国内厂家通过多年的技术积累,开始推出下一代防火墙。从第一家推出真正意义的下一代防火墙的网康科技开始,至今包括东软、天融信等在内的传统防火墙厂商也陆续推出了下一代防火墙。下一代防火墙具备应用层分析的能力,能够基于不同的应用特征,实现应用层的攻击过滤,在具备传统防火墙、IPS、防毒等功能的同时,还能够对用户和内容进行识别管理,兼具了应用层的高性能和智能联动两大特性,能够更好地针对应用层攻击进行防护。
数据库防火墙保护数据库
数据库防火墙具有针对数据库恶意攻击的阻断能力。数据库防火墙主要采用如下一些技术。
- 虚拟补丁技术:针对CVE公布的数据库漏洞,提供漏洞特征检测技术。
- 高危访问控制技术:提供对数据库用户的登录、操作行为,提供根据地点、时间、用户、操作类型、对象等特征定义高危访问行为。
- SQL注入禁止技术:提供SQL注入特征库。
- 返回行超标禁止技术:提供对敏感表的返回行数控制。
- SQL黑名单技术:提供对非法SQL的语法抽象描述。
防火墙的关键技术
网络地址转换
- 网络地址转换简介 网络地址转换(Network Address Translation,NAT)是一个IETF(Internet Engineering Task Force,Internet工程任务组)标准,允许一个整体机构以一个公用IP地址出现在Internet上。顾名思义,它是一种把内部私有网络地址翻译成合法网络IP地址的技术。NAT最主要的两个目的,一个是解决IP地址空间不足问题,另一个是向外界隐藏内部网结构。NAT的三种模式如下
- M-1:多个内部网地址翻译到1个IP地址。
- 1-1:简单的地址翻译。
- M-N:多个内部网地址翻译到N个IP地址池。
- NAT分类 NAT有三种类型:静态NAT(Static NAT)、动态地址NAT(Pooled NAT)、网络地址端口转换NAPT(Network Address Port Translation)。
其中,网络地址端口转换NAPT是把内部地址映射到外部网络的一个IP地址的不同端口上。它可以将中小型的网络隐藏在一个合法的IP地址后面。NAPT与动态地址NAT不同,它将内部连接映射到外部网络中的一个单独的IP地址上,同时在该地址上加上一个由NAT设备选定的端口号。
NAPT是使用最普遍的一种转换方式。它又包含两种转换方式:源NAT和目的NAT。
(1)源NAT(SNAT:Source NAT):修改数据包的源地址。源NAT改变第一个数据包的来源地址,它永远会在数据包发送到网络之前完成。数据包伪装就是一个源NAT的例子。
(2)目的NAT(DNAT:Destination NAT):修改数据包的目的地址。目的NAT刚好与源NAT相反,它是改变第一个数据包的目的地址。平衡负载、端口转发和透明代理就属于目的NAT。
网络地址转换NAT分类
- NAT原理 (1)地址转换。NAT的基本工作原理是,当私有网主机和公共网主机通信的IP包经过带有NAT功能的防火墙时,将IP包中的源IP或目的IP在私有IP和NAT的公共IP之间进行转换。
例如:
NAT示意图
带有NAT功能的防火墙有2个网络端口,其中公共网络端口的IP地址是统一分配的公共IP,为202.20.65.5;私有网络端口的IP地址是保留地址,为192.168.1.1。私有网中的主机192.168.1.2向公共网中的主机202.20.65.4发送了1个IP包(Dst=202.20.65.4,Src=192.168.1.2)。
当IP包经过带有NAT功能的防火墙时,防火墙会将IP包的源IP转换为防火墙的公共IP并转发到公共网,此时IP包(Dst=202.20.65.4,Src=202.20.65.5)中已经不含任何私有网IP的信息。由于IP包的源IP已经被转换成NAT网关的公共IP,Web Server发出的响应IP包(Dst=202.20.65.5,Src=202.20.65.4)将被发送到防火墙。
这时,带有NAT功能的防火墙会将IP包的目的IP转换成私有网中主机的IP,然后将IP包(Dst=192.168.1.2,Src=202.20.65.4)转发到私有网。对于通信双方而言,这种地址的转换过程是完全透明的。
NAT地址转换示意图
如果内网主机发出的请求包未经过NAT,那么当Web Server收到请求包,回复的响应包中的目的地址就是私有网IP地址,在Internet上无法正确送达,导致连接失败。
(2)连接跟踪。在上述过程中,带有NAT功能的防火墙在收到响应包后,就需要判断将数据包转发给谁。此时如果子网内仅有少量客户机,可以用静态NAT手工指定;但如果内网有多台客户机,并且各自访问不同网站,这时候就需要连接跟踪(connection track),如图
在带有NAT功能的防火墙收到客户机发来的请求包后,做源地址转换,并且将该连接记录保存下来,当防火墙收到服务器发来的响应包后,查找轨迹表(Track Table),确定转发目标,做目的地址转换,转发给客户机。
(3)端口转换。以上述客户机访问服务器为例,当仅有一台客户机访问服务器时,带有NAT功能的防火墙只需更改数据包的源IP或目的IP即可正常通信。但是如果Client A和Client B同时访问Web Server,那么当防火墙收到响应包的时候,就无法判断应该将数据包转发给哪台客户机,如图
此时,带有NAT功能的防火墙会在连接轨迹(Connection Track)中加入端口信息加以区分。如果两客户机访问同一服务器的源端口不同,那么在轨迹表里加入端口信息即可区分;如果源端口正好相同,那么在执行SNAT和DNAT的同时对源端口也要做相应的转换,如图
- NAT协议的应用 NAT主要可以实现以下几个功能:数据包伪装、平衡负载、端口转发和透明代理。
(1)数据伪装:可以将内网数据包中的地址信息更改成统一的对外地址信息,不让内网主机直接暴露在因特网上,保证内网主机的安全。同时,该功能也常用来实现共享上网。
(2)端口转发:当内网主机对外提供服务时,由于使用的是内部私有IP地址,外网无法直接访问。因此,需要在网关上进行端口转发,将特定服务的数据包转发给内网主机。
(3)负载均衡:目的地址转换NAT可以重定向一些服务器的连接到其他随机选定的服务器,从而实现负载均衡。
(4)失效终结:目的地址转换NAT可以用来提供高可靠性的服务。如果一个系统有一台通过路由器访问的关键服务器,一旦路由器检测到该服务器停机,它可以使用目的地址转换NAT透明地把连接转移到一个备份服务器上。
(5)透明代理:NAT可以把连接到因特网的HTTP连接重定向到一个指定的HTTP代理服务器以缓存数据和过滤请求。一些因特网服务提供商就使用这种技术来减少带宽的使用而不用让客户配置他们的浏览器支持代理连接。
静态包过滤
- 简介
静态包过滤防火墙根据流经该设备的数据包地址信息决定是否允许该数据包通过,如图,
静态包过滤防火墙
静态包过滤的判断依据如下(只考虑IP包):
- 数据包协议类型TCP、UDP、ICMP、IGMP等。
- 源、目的IP地址。
- 源、目的端口FTP、HTTP、DNS等。
- IP选项源路由、记录路由等。
- TCP选项SYN、ACK、FIN、RST等。
- 其他协议选项ICMP、ECHO、ICMP、REPLY等。
- 数据包流向in或out。
- 数据包流经网络接口。
- 静态包过滤防火墙实现三个功能
- 接收每个到达的数据包。
- 对数据包采用过滤规则,对数据包的IP头和传输字段内容进行检查。
- 如果没有规则与数据包头信息匹配,则对数据包施加默认规则 。
默认规则: 1、容易使用;2、安全第一。
- 容易使用:“允许一切”,没有明确拒绝则通过。
- 安全第一:“拒绝一切”,没有明确通过则拒绝。
静态包过滤防火墙是最原始的防火墙,静态数据包过滤发生在网络层上。对于静态包过滤防火墙来说,决定接收还是拒绝一个数据包,取决于对数据包中IP头和协议头等特定域的检查和判定。
- 静态包过滤器的工作原理
- 过滤内容:源地址、目的地址、源端口、目的端口、应用或协议。
- 若符合规则,则丢弃数据包。如果包过滤器没有发现一个规则与该数据包匹配,那么它将对其施加一个默认规则。
- 过滤位置:可以在网络入口处过滤,也可在网络出口处过滤,还可以在入口和出口同时对数据包进行过滤。
- 访问控制策略:网管员预先编写一个访问控制列表,明确规定哪些主机或服务可接受,哪些主机或服务不可接受。
- 静态包过滤防火墙的优点
- 逻辑简单,价格便宜,成本低。
- 对网络性能的影响较小,有较强的透明性。
- 它的工作与应用层无关,无须改动任何客户机和主机上的应用程序,易于安装和使用。
- 静态包过滤防火墙的缺点
- 配置基于包过滤方式的防火墙,需要对IP、TCP、UDP、ICMP等各种协议有深入的了解,否则容易出现因配置不当带来的问题。
- 过滤判别的只有网络层和传输层的有限信息,因而各种安全要求不能得到充分满足。
- 由于数据包的地址及端口号都在数据包的头部,不能彻底防止IP地址欺骗。
- 允许外部客户和内部主机的直接连接。
- 不提供用户的鉴别机制。
- 仅工作在网络层,具有较低水平的安全性。
动态包过滤
- 基本原理 动态包过滤防火墙的特征与静态包过滤防火墙的特征非常相似。但多出一项工作,即对外出数据包的身份做一个标记,对相同连接的进入的数据包也被允许通过。也就是说,它捕获了一个“连接”,而不是单个数据包头中的信息。因此,它可以用来处理TCP协议和UDP协议。
动态包过滤防火墙工作在传输层,它对已建连接和规则表进行动态维护,因此是动态的和有状态的。典型的动态包过滤防火墙能够感觉到新建连接与已建连接之间的差别。
- 动态包过滤防火墙的优点
- 对网络通信的各层实施监测分析,提取相关的通信和状态信息,并在动态连接表中进行状态及上下文信息的存储和更新,这些表被持续更新,为下一个通信检查提供累积的数据。
- 能够提供对基于无连接的协议(UDP)的应用(DNS、WAIS等)及基于端口动态分配的协议(RPC)的应用(如NFS、NIS)的安全支持。静态的包过滤和代理网关都不支持此类应用。
- 减少了端口的开放时间,提供了对几乎所有服务的支持。
- 安全性比静态包过滤高。
- 动态包过滤防火墙的缺点
- 也允许外部客户和内部主机的直接连接。
- 不提供用户的鉴别机制。
- 容易遭受IP欺骗攻击。
无论是静态包过滤还是动态包过滤技术,都是只对TCP/IP的头信息进行过滤,而不管包的内容信息,如图,
包过滤原理
电路级网关
- 基本原理 电路级网关是一个通用代理服务器,它工作于OSI互联模型的会话层或TCP/IP的TCP层。电路级网关适用于多个协议,但它不能识别在同一个协议栈上运行的不同的应用,当然也就不需要对不同的应用设置不同的代理模块,但这种代理需要对客户端做适当修改。电路级网关接受客户端的连接请求,代理客户端完成网络连接,建立起一个回路,对数据包起转发作用,数据包被提交给用户的应用层来处理。通过电路级网关传递的数据看起来好像起源于防火墙,这样就隐藏了被保护网络的信息。
电路级网关通常作为代理服务器的一部分。电路级网关又称作线路级网关。电路级网关工作时,IP数据包不会实现端到端的流动。电路级网关工作于会话层。它与包过滤的区别在于:除了要进行基本的包过滤检查外,还要增加对连接建立过程中的握手信息SYN、ACK及序列号合法性的验证。电路级网关检查内容包括:源地址、目的地址、应用或协议、源端口号、目的端口号、握手信息及序列号,如图
电路级网关所过滤的内容
- 电路级网关实现方式 (1)拓扑结构同应用程序网关相同。
- 接收客户端连接请求,代理客户端完成网络连接。
- 在客户和服务器间中转数据。
- 通用性强。 (2)简单重定向。
- 根据客户的地址及所请求端口,将该连接重定向到指定的服务器地址及端口上。
- 对客户端应用完全透明。 (3)在转发前同客户端交换连接信息。
- 需对客户端应用做适当修改。
- 电路级网关的优点
- 对网络性能有低度到适中程度的影响:工作的层次比包过滤防火墙高,因此过滤性能稍差,但比应用代理防火墙性能好。
- 切断了外部网络到防火墙后面的服务器的直接连接。
- 比静态包过滤防火墙、动态包过滤防火墙具有更高的安全性。
- 电路级网关的缺点
- 具有一些包过滤防火墙固有的缺陷:例如无法对数据内容进行检测,以抵御应用层的攻击等。
- 仅具有低度到中等程度的安全性。
- 当增加新的内部程序或资源时,往往需要对许多电路级网关的代码进行修改。
应用层网关
- 基本原理 应用层网关(或叫代理服务器)的工作过程:首先,它对该用户的身份进行验证。若为合法用户,则把请求转发给真正的某个内部网络的主机,同时监控用户的操作,拒绝不合法的访问。当内部网络向外部网络申请服务时,代理服务器的工作过程刚好相反。
应用层网关只能过滤特定服务的数据流。必须为特定的应用服务编写特定的代理程序,被称为“服务代理”,在网关内部分别扮演客户机代理和服务器代理的角色,如图
服务代理
当各种类型的应用服务通过网关时,必须经过客户机代理和服务器代理的过滤。应用层代理可以对数据包的数据区进行分析并以此判断数据是否被允许通过,如图
应用层代理
- 应用层网关代理的特点
- 必须针对每个服务运行一个代理。
- 对数据包进行逐个检查和过滤。
- 采用“强应用代理”。
- 当前最安全的防火墙结构之一。
- 代理对整个数据包进行检查,因此能在应用层上对数据包进行过滤。
- 应用代理程序与电路级网关的重要区别:代理是针对应用的。代理对整个数据包进行检查,因此能在OSI模型的应用层上对数据包进行过滤。
- 不是对用户的整个数据包进行复制,而是在防火墙内部创建一个全新的空数据包。
- 将那些可接收的命令或数据,从防火墙外部的原始数据包中复制到防火墙内新建的数据包中,然后将此新数据包发送给防火墙后面受保护的服务器。
- 能够降低多种隐蔽通道攻击带来的风险。
- 应用层网关代理的优点
- 易于配置,界面友好。
- 不允许内、外网主机的直接连接。
- 可以提供比包过滤更详细的日志记录,例如在一个HTTP连接中,包过滤只能记录单个的数据包,无法记录文件名、URL等信息。
- 可以隐藏内部IP地址。
- 可以给单个用户授权。
- 可以为用户提供透明的加密机制。
- 可以与认证、授权等安全手段方便地集成。
- 应用层网关代理的缺点
- 代理速度比包过滤慢。
- 代理对用户不透明,给用户的使用带来不便,灵活性不够。
- 这种代理技术需要针对每种协议设置一个不同的代理服务器。
状态检测防火墙
- 基本原理 状态检测防火墙是在动态包过滤防火墙的基础上增加了状态检测机制而形成的。
以TCP协议为例:所谓的状态检测机制关注的主要问题不再仅是SYN和ACK标志位,或者是来源端口和目标端口,还包括了序号、窗口大小等其他TCP协议信息。
状态检测防火墙主要检测以下信息。
(1)应用状态: 能够理解并学习各种协议和应用,以支持各种最新的应用;能从应用程序中收集状态信息并存入状态表中,以供其他应用或协议做检测策略。
(2)操作信息: 状态监测技术采用强大的面向对象的方法。
(3)通信信息: 防火墙的检测模块位于操作系统的内核,在网络层之下,能在数据包到达网关操作系统之前对它们进行分析。
(4)通信状态: 状态检测防火墙在状态表中保存以前的通信信息,记录从受保护网络发出的数据包的状态信息。
状态检测可以结合前后数据包里的数据信息进行综合分析,决定是否允许该包通过,如图
状态检测防火墙
- 状态检测防火墙的优点
- 具备动态包过滤的所有优点,同时具有更高的安全性。
- 没有打破客户/服务器模型。
- 提供集成的动态包过滤功能。
- 运行速度更快。
- 状态检测防火墙的缺点
- 检测的层次仅限于网络层与传输层,无法对应用层内容进行检测,从而无法抵抗应用层的攻击。
- 性能比动态包过滤稍差:因为要检测更多的内容。
- 采用单线程进程,对防火墙性能产生很大影响。
- 没有打破客户/服务器结构,会产生不可接受的安全风险。
- 不能满足对高并发连接数量的要求。
- 仅具有较低水平的安全性。
切换代理
-
基本原理 切换代理是动态包过滤器和一个电路级代理的结合。在很多实现方案中,切换代理首先作为电路级代理来验证RFC建议的3次握手协议,再切换到动态包过滤的过滤模式。
-
切换代理的优点
- 相比传统的电路级网关,对网络性能造成的影响小。
- 由于对3次握手协议进行了验证,降低了IP欺骗的风险。
- 切换代理的缺点
- 它不是一个电路网关。
- 仍然具有动态包过滤器许多遗留的缺陷。
- 没有检查数据包的净荷部分,具有较低的安全性。
- 难以创建规则(受先后次序的影响)。
- 安全性不如传统的电路级网关。
空气隙防火墙
- 基本原理 空气隙防火墙:外部客户机连接所产生的连接数据被写入SCSI的硬盘E-disk中,之后内部的连接再从该SCSI的E-disk中读取数据。防火墙切断了客户机到服务器的直接连接,并且对硬盘数据的读/写操作都是独立进行的,如图
空气隙防火墙
- 空气隙防火墙的优点
- 切断了与防火墙后面服务器的直接连接,消除了隐信道攻击的风险。
- 采用强应用代理对协议头长度进行检测,因此能够消除缓冲器溢出攻击。
- 与应用级网关结合使用,空气隙防火墙具有很高的安全性。
- 空气隙防火墙的缺点
- 理论上它能对网络性能造成很大的负面影响。
- 不支持交互式访问。
- 适用范围窄。
- 系统配置复杂。
- 结构复杂,实施费用高。
- 带来瓶颈问题。
防火墙的体系结构
防火墙工作于OSI模型的层次越高,能提供的安全保护等级就越高。如图为各种类型防火墙与网络各层之间的对应关系。
路由器防火墙
这种类型的防火墙是最简单的防火墙。它将筛选路由器当成一个防火墙使用,进行简单的数据包过滤。这种类型的防火墙往往就是一个路由器,如图。路由器通常支持一个或者多个防火墙功能;它们可被划分为用于Internet连接的低端设备和传统的高端路由器。
低端路由器提供了用于阻止和允许特定IP地址和端口号的基本防火墙功能,并使用NAT来隐藏内部IP地址。通常提供防火墙标准的功能、为阻止来自Internet的入侵进行了优化的功能;虽然不需要配置,但是对它们进行进一步配置可优化它们的性能。
高端路由器可配置为通过阻止较为明显的入侵(如ping)以及通过使用访问控制实现其他IP地址和端口限制,来加强访问权限。
路由器也可提供其他的防火墙功能。某些路由器提供了静态数据包筛选功能。在高端路由器中,以较低的成本提供了与硬件防火墙设备相似的防火墙功能,但是吞吐量较低。
双重宿主主机体系结构
双重宿主主机体系结构是围绕双重宿主主机构筑的,
双重宿主主机防火墙至少有两个网络接口,它位于内部网络和外部网络之间,这样的主机可以充当与这些接口相连的网络之间的路由器,从一个网络接收IP数据包并将之发往给另一网络。然而实现双重宿主主机的防火墙体系结构禁止这种发送功能,完全阻止了内外网络之间的IP通信。因此,IP数据包并不是从一个网络(如外部网络)直接发送到另一个网络(如内部网络)。外部网络能与双重宿主主机通信,内部网络也能与双重宿主主机通信。但是外部网络与内部网络不能直接通信,它们之间的通信必须经过双重宿主主机的过滤和控制。
这种结构当中两个网络之间的通信可通过应用层数据共享和应用层代理服务的方法实现。一般情况下采用代理服务的方法。
双重宿主主机的特性:自身安全至关重要(唯一通道),其用户口令控制安全是关键;其次必须支持很多用户的访问(中转站),其性能非常重要。
双重宿主主机防火墙的缺点:它是隔开内外网络的唯一屏障,一旦它被入侵,内部网络便向入侵者敞开大门。
屏蔽主机体系结构
屏蔽主机体系结构防火墙如图,它主要是将传统的路由器防火墙和代理防火墙结合起来的一种混合类型的防火墙。
双重宿主主机体系结构防火墙没有使用路由器。而屏蔽主机体系结构防火墙则使用一个路由器,把内部网络和外部网络隔离开。屏蔽主机体系结构由防火墙和内部网络的堡垒主机承担安全责任。
这种防火墙的典型构成是包过滤路由器加上堡垒主机。包过滤路由器配置在内部网络和外部网络之间,保证外部系统对内部网络的操作只能经过堡垒主机。堡垒主机配置在内部网络上,是外部网络主机连接到内部网络主机的桥梁,它需要拥有高等级的安全。
屏蔽路由器可按如下规则之一进行配置:
(1)允许内部主机为了某些服务请求与外部网络上的主机建立直接连接(即允许那些经过数据包过滤的服务)。
(2)不允许所有来自外部主机的直接连接(强迫那些主机经由堡垒主机使用代理服务)。
这种类型防火墙的优点是安全性更高,双重保护:实现了网络层安全(包过滤)和应用层安全(代理服务)。缺点是过滤路由器能否正确配置是安全与否的关键:如果路由器被损害,堡垒主机将被穿过,整个网络对入侵者是开放的。
屏蔽子网体系结构
屏蔽子网体系结构的防火墙如图所示。它在本质上与屏蔽主机体系结构一样,但添加了额外的一层保护体系——周边网络。堡垒主机位于周边网络上,周边网络和内部网络被内部路由器分开。引入这种结构的主要原因是:堡垒主机是用户网络上最容易受侵袭的机器;通过在周边网络上隔离堡垒主机,能减少堡垒主机被侵入的影响。
这种结构中,周边网络是一个防护层,在其上可放置一些信息服务器,它们是牺牲主机,可能会受到攻击,因此又被称为非军事区(DMZ:Demilitarized Zone)。周边网络的作用是,即使堡垒主机被入侵者控制,它仍可消除对内部网络的侦听。
堡垒主机是整个防御体系的核心。堡垒主机可被认为是应用层网关,可以运行各种代理服务程序。对于出站服务不一定要求所有的服务经过堡垒主机代理,但对于入站服务应要求所有服务都通过堡垒主机。
外部路由器(访问路由器)的作用主要是保护周边网络和内部网络不受外部网络的侵犯。它把入站的数据包路由到堡垒主机。防止部分IP欺骗,它能分辨出数据包是否真正来自周边网络,而内部路由器不能。
内部路由器(阻塞路由器)的作用主要是保护内部网络不受外部网络和周边网络的侵害,它执行大部分过滤工作。内部路由器一般与外部路由器应用相同的规则。
防火墙架构
防火墙的硬件体系结构曾经历过通用CPU架构、ASIC架构和网络处理器架构。
通用CPU架构
通用CPU架构最常见的是基于Intel X86架构的防火墙。在百兆防火墙中,Intel X86架构的硬件以其高灵活性和扩展性一直受到防火墙厂商的青睐。由于采用了PCI总线接口,Intel X86架构的硬件理论上能达到2Gbit/s的吞吐量甚至更高,但是在实际应用中,尤其是在小包情况下,远远达不到标称性能,通用CPU的处理能力也很有限。
国内安全设备主要采用的就是基于X86的通用CPU架构。
ASIC架构
ASIC(Application Specific Integrated Circuit,专用集成电路)技术是国外高端网络设备几年前广泛采用的技术。由于采用了硬件转发模式、多总线技术、数据层面与控制层面分离等技术,ASIC架构防火墙解决了带宽容量和性能不足的问题,稳定性也得到了很好的保证。如图9-29所示为ASIC专用集成电路。
ASIC技术的性能优势主要体现在网络层转发上,对于需要强大计算能力的应用层数据的处理则不占优势,而且面对频繁变异的应用安全问题,其灵活性和扩展性也难以满足要求。
由于该技术有较高的技术和资金门槛,主要是国内外知名厂商在采用,国外主要代表厂商是Netscreen,国内主要代表厂商为天融信、网御神州。
网络处理器架构
网络处理器(NP:Network Processor)顾名思义,即专为网络数据处理设计的芯片或芯片组。
网络处理器可以通过良好的体系结构设计和专门针对网络处理优化的部件,为上层提供一个可编程控制的环境,可以很好地解决硬件加速和软件可扩展的折中问题。
一方面,网络处理器独立于CPU之外,是专门为进行网络分组处理而开发的,具有优化的体系结构和指令集,因此它比CPU有着更高的网络数据处理性能,能够满足网络高速发展的需求。
另一方面,它具有专门的指令集和配套的软件开发系统,具有很强的编程能力,能够很方便地开发各种应用,支持可扩展的服务,从而能够很好地满足网络业务多样化的发展趋势,比ASIC更灵活地应对日益更新的网络需求。
网络处理器能够直接完成网络数据处理的一般任务,如TCP/IP数据的校验和计算、包分类、路由查找等,同时,硬件体系结构的设计也弥补了传统CPU体系的不足,它们大多采用高速的接口技术和总线规范,具有较高的I/O能力。
基于网络处理器的网络设备的包处理能力得到了很大提升,很多需要高性能的领域,如千兆交换机、防火墙、路由器的设计都可以采用网络处理器来实现。
但是网络处理器所使用的微码编写有一定技术难度,难以实现产品的最优性能,因此网络处理器架构的防火墙产品难以占有大量的市场份额。
其他还有基于国产CPU的防火墙。随着国内通用处理器的发展,逐渐发展了基于中国芯的防火墙,主要架构为国产龙芯2F+FPGA的协议处理器,主要应用于政府、军队等对国家安全敏感的行业。
Win7/Win10防火墙的使用
到设置里面去找,或者控制面板里,书上写了打开和关闭防火墙的步骤。
分布式防火墙
传统防火墙由于通常在网络边界站岗,又名“边界防火墙”。如果说它对于来自外部网的攻击还算得上是个称职的卫士,那么对于80%来自内部网络的攻击或越权访问,它就显得心有余而力不足了。为此诞生了一种新兴的防火墙技术“分布式防火墙”(Distributed Firewalls),其专长就在于堵住内部网络的漏洞。
传统防火墙的局限性
传统防火墙已经发展了很多年,其主要有以下局限性。
- 结构受限制 边界防火墙的工作机理依赖于网络的物理拓扑结构。但随着越来越多的企业利用互联网构架自己的跨地区网络,例如家庭移动办公和服务器托管越来越普遍,所谓内部企业网已经变成一个逻辑上的概念。
另一方面,电子商务的应用要求商务伙伴之间在一定权限下可以进入彼此的内部网络,所以,企业网的边界已经是一个逻辑的边界,物理的边界日趋模糊,边界防火墙的应用受到了愈来愈多的结构限制。
-
内部不够安全 边界防火墙设置安全策略的一个基本假设是:网络的一边即外部的所有人是不可信任的,另一边即内部的所有人是可信任的。但实际上,80%的攻击和越权访问来自内部,也就是说,边界防火墙在对付网络安全的主要威胁时束手无策。
-
效率不高、故障点多 边界防火墙把检查机制集中在网络边界的单点,造成了网络访问的瓶颈问题,这也是目前防火墙用户在选择防火墙产品时首先考察其检测效率,而安全机制不得不放在其次的原因。
边界防火墙厂商也在不遗余力地提高防火墙单机处理能力,甚至采用防火墙群集技术来解决这个问题;另外,安全策略的复杂性也使效率问题雪上加霜,对边界防火墙来说,针对不同的应用和多样的系统要求,不得不经常在效率和可能冲突的安全策略之间权衡利害取得折中方案,从而产生了许多策略性的安全隐患;最后,边界防火墙本身也存在着单点故障危险,一旦出现问题或被攻克,整个内部网络将会完全暴露在外部攻击者面前。
分布式防火墙原理
针对传统边界防火墙的缺点,专家提出“分布式防火墙”的概念,如图所示。从狭义和与边界防火墙产品对应来讲,分布式防火墙产品是指那些驻留在网络中主机如服务器或桌面机并对主机系统自身提供安全防护的软件产品;从广义来讲,“分布式防火墙”是一种新的防火墙体系结构,它包含网络防火墙、主机防火墙和管理中心三部分。
-
网络防火墙 网络防火墙是用于内部网与外部网之间(即传统的边界防火墙)和内部网子网之间的防护产品,后者区别于前者的一个特征是需支持内部网可能有的IP和非IP协议。
-
主机防火墙 主机防火墙对网络中的服务器和桌面机进行防护,这些主机的物理位置可能在内部网中,也可能在内部网外,如托管服务器或移动办公的便携机。
-
管理中心 边界防火墙只是网络中的单一设备,管理是局部的。对分布式防火墙来说,每个防火墙作为安全监测机制,可以根据安全性的不同要求布置在网络中任何需要的位置上,但总体安全策略又是统一策划和管理的,安全策略的分发及日志的汇总都是管理中心应具备的功能。管理中心是分布式防火墙系统的核心和重要特征之一。
分布式防火墙的优点
分布式防火墙有明显的优点,总结如下。
- 系统的安全性提高了
- 增加了针对主机的入侵监测和防护功能。
- 加强了对来自内部攻击的防范。
- 可以实施全方位的安全策略。
- 提供了多层次立体的防范体系。
-
保证了系统的性能 消除了结构性瓶颈问题,提高了系统性能。
-
随系统扩充提供了安全防护无限扩充的能力 消除了结构性瓶颈问题,提高了系统性能。因为分布式防火墙分布在整个企业的网络或服务器中,所以它具有无限制的扩展能力。随着网络的增长,它们的处理负荷也在网络中进一步分布,因此它们的高性能可以持续保持住,而不会像边界式防火墙一样随着网络规模的增大而不堪重负。
-
应用更为广泛,支持VPN通信 其实分布式防火墙最大的优势在于,它能够保护物理拓扑上不属于内部网络,但位于逻辑上的“内部”网络的那些主机,这种需求随着VPN的发展越来越大。对这个问题的传统处理方法是将远程“内部”主机和外部主机的通信依然通过防火墙隔离来控制接入,而远程“内部”主机和防火墙之间采用“隧道”技术保证安全性。 这种方法使原本可以直接通信的双方必须经过防火墙,不仅效率低而且增加了防火墙过滤规则设置的难度。与之相反,分布式防火墙的建立本身就是基本逻辑网络的概念,因此对它而言,远程“内部”主机与物理上的内部主机没有任何区别。
防火墙的发展历史
-
第一代防火墙 第一代防火墙技术几乎与路由器同时出现,采用了包过滤技术。
-
第二代防火墙 第一代防火墙技术主要在路由器上实现,后来将此安全功能独立出来专门用来实现安全过滤功能。1989年,贝尔实验室的Dave Presotto和Howard Trickey推出了第二代防火墙,即电路层防火墙,同时提出了第三代防火墙——应用层防火墙(代理防火墙)的初步结构。
-
第三代防火墙 代理防火墙的出现,使原来从路由器上独立出来的安全软件迅速发展,并引发了对承载安全软件本身的操作系统的安全需求,即对防火墙本身的安全问题的安全需求。
-
第四代防火墙 1992年,USC信息科学院的Bob Braden开发出了基于动态包过滤技术的第四代防火墙,后来演变为状态监视(Stateful Inspection)技术。1994年,以色列的CheckPoint公司开发出了第一个采用这种技术的商业化的产品。
-
第五代防火墙 1998年,NAI公司推出了一种自适应代理(Adaptive Proxy)技术,并应用于其产品Gauntlet Firewall for NT,给代理类型的防火墙赋予了全新的意义,可以称之为第五代防火墙。
-
一体化安全网关UTM防火墙 统一威胁管理(UTM:Unified Threat Management),是在防火墙基础上发展起来的,具备防火墙、IPS、防病毒、防垃圾邮件等综合功能的设备。由于同时开启多项功能会大大降低UTM的处理性能,因此主要用于对性能要求不高的中低端领域。在该领域,已经出现了UTM代替防火墙的趋势,因为在不开启附加功能的情况下,UTM本身就是一个防火墙,而附加功能又为用户的应用提供了更多选择。在高端应用领域,如电信、金融等行业,仍然以专用的高性能防火墙、IPS为主流。
-
其他类型防火墙 除了以上硬件防火墙以外,还有很多公司推出了软件防火墙产品(如瑞星软件防火墙、赛门铁克防火墙等)、分布式防火墙等。另外,现在常用的Windows操作系统(如Win7、Win10)里都集成了软件防火墙。
防火墙产品
前国内在使用的防火墙有很多国内外的品牌。国外品牌的优势主要是在技术和知名度上比国内产品高。而国内防火墙厂商对国内用户了解更加透彻,价格也更具有优势。防火墙产品中,国外主流厂商为思科(Cisco)、CheckPoint、NetScreen等,国内主流厂商为华为、东软、天融信、山石网科、网御神州、联想等,它们都提供不同级别的防火墙产品。