何为防火墙
防火墙(Firewall),也称防护墙,它是一种位于内部网络与外部网络之间的网络安全系统。是一项信息安全的防护系统,依照特定的规则,允许或是限制传输的数据通过。主要用于保护一个网络区域免受来自另一个网络区域的网络攻击和网络入侵行为。因其隔离、防守的属性,灵活应用于网络边界、子网隔离等位置,具体如企业网络出口、大型网络内部子网隔离、数据中心边界等等。
在网络的世界里,要由防火墙过滤的就是承载通信数据的通信包。在网络中,所谓“防火墙”,是指一种将内部网和公众访问网(如Internet)分开的方法,它实际上是一种隔离技术。防火墙是在两个网络通讯时执行的一种访问控制尺度,它能允许你“同意”的人和数据进入你的网络,同时将你“不同意”的人和数据拒之门外,最大限度地阻止网络中的黑客来访问你的网络。
换句话说,如果不通过防火墙,公司内部的人就无法访问Internet,Internet上的人也无法和公司内部的人进行通信。
简单地说,防火墙的主要起的作用:划分网络安全边界,实现关键系统与外部环境的安全隔离,保护内部网络免受外部攻击。与传统使用路由器做防护,是因为相比防火墙提供了更丰富的安全防御策略,提高了安全策略下数据报转发速率。由于防火墙用于安全边界,因此往往兼备NAT、VPN等功能,并且在这方面的相比路由器更加强劲。
总的来说,防火墙的五大基础的作用:
1) 过滤进出网络中的的各种数据
2) 管理和分析访问网络的进出流量中的行为
3) 禁止网络访问中的特定禁止业务或流量
4) 记录通过防火墙信息内容和活动
5) 对来自网络的各种攻击机检测和警告
防火墙的发展历程
防火墙从诞生开始,已经历了四个发展阶段:
◾ 基于路由器的防火墙
◾ 用户化的防火墙工具套
◾ 建立在通用操作系统上的防火墙
◾ 具有安全操作系统的防火墙
从实现原理角度,防火墙产品可划分为包过滤防火墙、应用代理防火墙、状态检测防火墙和多检测机制融合防火墙等;从保护对象和资产角度,防火墙产品可划分为主机型防火墙、网络型防火墙、Web应用防火墙和数据库防火墙等;从应用环境角度,防火墙产品可划分为虚拟化防火墙、工控防火墙和物联网防火墙等。新版防火墙国家标准创新性地将各类防火墙国家标准、技术特性进行了系统、全面梳理,将防火墙按照保护对象和资产角度划分为网络型防火墙、Web应用防火墙、数据库防火墙和主机型防火墙,形成了统一的技术框架。
防火墙的基本类型
从应用及结构层分为三种:
1) 网络层防火墙
网络层防火墙可视为一种 IP 封包过滤器,运作在底层的TCP/IP协议堆栈上。可以以枚举的方式只允许符合特定规则的封包通过,其余的一概禁止穿越防火墙(病毒除外,防火墙不能防止病毒侵入)。这些规则通常可以经由管理员定义或修改,不过某些防火墙设备可能只能套用内置的规则。
2) 应用层防火墙
应用层防火墙是在 TCP/IP 堆栈的“应用层”上运作,您使用浏览器时所产生的数据流或是使用 FTP 时的数据流都是属于这一层。应用代理防火墙主要的工作范围就是在OIS的最高层,位于应用层之上。其主要的特征是可以完全隔离网络通信流,通过特定的代理程序就可以实现对应用层的监督与控制。应用层防火墙可以拦截进出某应用程序的所有封包,并且封锁其他的封包(通常是直接将封包丢弃)。理论上,这一类的防火墙可以完全阻绝外部的数据流进到受保护的机器里。
3) 数据库/应用防火墙
数据库防火墙是一款基于数据库协议分析与控制技术的数据库安全防护系统。基于主动防御机制,实现数据库的访问行为控制、危险操作阻断、可疑行为审计,也是面向应用的防火墙。
数据库防火墙通过SQL协议分析,根据预定义的禁止和许可策略让合法的SQL操作通过,阻断非法违规操作,形成数据库的外围防御圈,实现SQL危险操作的主动预防、实时审计。
数据库防火墙面对来自于外部的入侵行为,提供SQL注入禁止和数据库虚拟补丁包功能。
从工作机制上或按访问控制方式分类(最主流的划分方法),防火墙分类分为以下三种:
a) 包过滤防火墙 (Packet Filtering)
过滤型防火墙是在网络层与传输层中,可以基于数据源头的地址以及协议类型等标志特征进行分析,确定是否可以通过。包过滤利用定义的特定规则过滤数据包,防火墙直接获得数据包的IP源地址、目的地址、TCP/ UDP的源端口、和TCP/UDP的目的端口。在符合防火墙规定标准之下,满足安全性能以及类型才可以进行信息的传递,而一些不安全的因素则会被防火墙过滤、阻挡。包过滤防火墙简单,但是缺乏灵活性,对一些动态协商端口没有办法设置规则。另外包过滤防火墙每个包都需要进行策略检查,策略过多会导致性能急剧下降。
b) 代理型防火墙(Application Gateway)
代理型防火墙使得防火墙做为一个访问的中间节点,对客户端来说防火墙是一个服务器,对服务器来说防火墙是一个客户端。代理型防火墙安全性较高,但是开发代价很大。对每一种应用开发一个对应的代理服务是很难做到的,因此代理型防火墙不能支持很丰富的业务,只能针对某些应用提供代理支持。
c) 状态检测防火墙
状态检测是一种高级通信过滤,它检查应用层协议信息并且监控基于连接的应用层协议状态。对于所有连接,每一个连接状态信息都将被维护并用于动态地决定数据包是否被允许通过防火墙或丢弃。现在防火墙的主流产品都为状态检测防火墙。
防火墙工作原理
(1) 包过滤技术
包过滤作为一种网络安全保护机制,主要用于对网络中各种不同的流量是否转发做一个最基本的控制。
这其中最核心技术就是指定安全策略中的:访问控制表
传统的包过滤防火墙对于需要转发的报文,会先获取报文头信息,包括报文的源IP地址、目的IP地址、IP层所承载的上层协议的协议号、源端口号和目的端口号等,然后和预先设定的过滤规则进行匹配,并根据匹配结果对报文采取转发或丢弃处理。
包过滤防火墙的转发机制是逐包匹配包过滤规则并检查,所以转发效率低下。目前防火墙基本使用状态检查机制,将只对一个连接的首包进行包过滤检查,如果这个首包能够通过包过滤规则的检查,并建立会话的话,后续报文将不再继续通过包过滤机制检测,而是直接通过会话表进行转发。
(2) 防火墙安全策略
防火墙的基本作用是保护特定网络免受“不信任”的网络的攻击,但是同时还必须允许两个网络之间可以进行合法的通信。
安全策略是按一定规则控制设备对流量转发以及对流量进行内容安全一体化检测的策略,其中,规则的本质是包过滤。
安全策略的作用就是对通过防火墙的数据流进行检验,符合安全策略的合法数据流才能通过防火墙,就是根据定义的规则对经过防火墙的流量进行筛选,由关键字确定筛选出的流量如何进行下一步操作。
安全策略主要起到两个主要作用:
对设备本身的访问进行控制:限制哪些IP地址可以通过Telnet和Web等方式登录设备,控制网管服务器、NTP服务器等与设备的互访等。
对跨域防火墙的网络互访进行控制:控制内网访问外网的权限、控制内网不同安全级别的子网间访问权限等。
(3) 防火墙域间转发
a) 状态检测机制
“状态检测”机制以流量为单位来对报文进行检测和转发,即对一条流量的第一个报文进行包过滤规则检查,并将判断结果作为该条流量的“状态”记录下来。对于该流量的后续报文都直接根据这个“状态”来判断是转发(或进行内容安全检测)还是丢弃。这个“状态”就是我们平常所述的会话表项。这种机制迅速提升了防火墙产品的检测速率和转发效率,已经成为目前主流的包过滤机制。
状态检测机制开启状态下,只有首包通过设备才能建立会话表项,后续包直接匹配会话表项进行转发。
状态检测机制关闭状态下,即使首包没有经过设备,后续包只要通过设备也可以生成会话表项。
b) 会话表项
会话表项是状态检测防火墙的基础,每一个通过防火墙的数据流都会在防火墙上建立一个会话表项。以五元组(源目的IP地址、源目的端口、协议号)为Key值,通过建立动态的会话表提供域间转发数据流更高的安全性,现在主流的下一代防火墙就是在原来五元组基础上增加用户、应用字段扩展为七元组。
防火墙的性能
吞吐量:该指标直接影响网络的性能,检查防火墙在只有一条默认允许规则和不丢包的情况下达到的最大吞吐速率,如网络层吞吐量、HTTP 吞吐晕、SQL 吞吐量。
并发连结数:并发连接数是指穿越防火墙的主机之间或主机与防火墙之间能同时建立的最大连接数,TCP 新建连接速率、HTTP 请求速率、SQL 请求速率。也是防火墙在单位时间内所能建立的最大 TCP 连接数,每秒的连接数。
每秒新建连接数:每秒新建连接数指每秒钟可以通过防火墙建立起来的完整TCP/UDP连接。该指标主要用来衡量防火墙在处理过程中对报文连接的处理速度,如果该指标低会造成用户明显感觉上网速度慢,在用户较大的情况下容易造成防火墙处理能力急剧下降,并且会造成防火墙对网络病毒防范能力很差。
时延:入口处输入帧最后1个比特到达至出口处输出帧的第1个比特输出所用的时间间隔。
丢包率:在稳态负载下,应由网络设备传输,但由于资源缺乏而被丢弃的帧的百分比。
防火墙工作模式
防火墙能够工作在三种模式下:路由模式、透明模式、混合模式。如果防火墙以第三层对外连接(接口具有IP 地址),则认为防火墙工作在路由模式下;若防火墙通过第二层对外连接(接口无IP 地址),则防火墙工作在透明模式下;若防火墙同时具有工作在路由模式和透明模式的接口(某些接口具有IP 地址,某些接口无IP 地址),则防火墙工作在混合模式下。下面对这三种工作模式分别进行介绍:
1、路由模式
防火墙工作在路由模式下,此时所有接口都配置IP 地址,各接口所在的安全区域是三层区域,不同三层区域相关的接口连接的外部用户属于不同的子网。当报文在三层区域的接口间进行转发时,根据报文的IP 地址来查找路由表,防火墙与路由器存在不同,路由模式的防火墙支持ACL 规则检查、ASPF 状态过滤、防攻击检查、流量监控等功能。当防火墙位于内部网络和外部网络之间时,需要将防火墙与内部网络、外部网络以及DMZ 三个区域相连的接口分别配置成不同网段的IP 地址,重新规划原有的网络拓扑,此时相当于一台路由器。
2. 透明模式
如果防火墙采用透明模式进行工作, 防火墙工作在透明模式(也可以称为桥模式)下,此时所有接口都不能配置IP 地址,接口所在的安全区域是二层区域,和二层区域相关接口连接的外部用户同属一个子网。则可以避免路由模式下需要改变拓扑结构造成的配置风险,此时防火墙对于子网用户和路由器来说是完全透明的。也就是说,用户完全感觉不到防火墙的存在。采用透明模式时,只需在网络中像放置网桥(bridge)一样插入该防火墙设备即可,无需修改任何已有的配置。
3. 混合模式
如果防火墙既存在工作在路由模式的接口(接口具有IP 地址),又存在工作在透明模式的接口(接口无IP 地址),则防火墙工作在混合模式下。防火墙工作在混合透明模式下,此时部分接口配置IP 地址,部分接口不能配置IP 地址。混合模式通过配置IP 地址的接口所在的安全区域是三层区域,启动VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议)功能的接口需要配置IP 地址,其它接口不配置IP地址,通常使用场景为双机热备份情况,提高可靠性。
与其他网络设备的关联
(一) 防火墙与路由器对比
a) 产品形态方面
路由器与交换机的本质是转发,防火墙的本质是控制。防火墙与路由器、交换机是有区别的。路由器用来连接不同的网络,通过路由协议保证互联互通,确保将报文转发到目的地;交换机则通常用来组建局域网,作为局域网通信的重要枢纽,通过二层/三层交换快速转发报文;防火墙主要部署在网络边界,对进出网络的访问行为进行控制,安全防护是其核心特性。路由器与交换机的本质是转发,防火墙的本质是控制。
现阶段中低端路由器与防火墙有合一趋势,主要也是因为二者互相功能兼具,变成all in one的产品形态,但基本都是中低端设备。
目前市面上的路由器基本都带有简单的防火墙功能,不论是消费级还是企业级,可以实现一些诸如包过滤,IP过滤这样的功能。
b) 功能方面
防火墙是产生于人们对于安全性的需求。数据包是否可以正确地到达、到达的时间、方向等不是防火墙关心的重点,重点是这个数据包是否应该通过、通过后是否会对网络造成危害。
路由器的产生是基于对网络数据包路由而产生的。路由器需要完成的是将不同网段的数据包进行有效的路由管理。路由器主要作用在于能否将不同的网段的数据包进行路由从而进行通讯。即一句话,路由器是保持网络和数据的“通”。防火墙是保证任何非允许的数据包“不通”。
路由器核心技术的ACL列表是基于简单的包过滤,属于OSI第三层过滤。从防火墙技术实现的角度来说,防火墙是基于状态包过滤的应用级信息流过滤。而在启用的不同安全策略过程中路由器的默认配置对安全性的考虑不够周全,需要做高级配置才能达到一些防范攻击的作用,其针对安全性的规则的部分比较复杂,配置出错的概率较高。有些防火墙的默认配置即可以防止各种攻击,更人性化的防火墙都是使用WEB图形界面进行配置的,配置简单、出错率低。
c) 性能方面
路由器的设计初衷是用来转发数据包的,而不是专门设计作为全特性防火墙的,所以在数据转发时运算量非常大。如果再进行包过滤,对路由器的CPU和内存会产生很大的影响,这就是为什么路由器开启防火墙后,数据转发率降低的原因。而且路由器由于其硬件成本比较高,其高性能配置时硬件的成本都比较大。由于路由器是简单的包过滤,包过滤的规则条数的增加,NAT规则的条数的增加,对路由器性能的影响都相应的增加。
而防火墙则不用作数据转发的工作,只要判断该包是否符合要求,只判断是否“通过”,其软件也为数据包的过滤进行了专门的优化,其主要模块运行在操作系统的内核模式下,设计之时特别考虑了安全问题,其进行数据包过滤的性能非常高。防火墙采用的是状态包过滤,规则条数,NAT的规则数对性能的影响较小。
最大的不同点在于防攻击能力方面,通常情况下,普通路由器不具有应用层的防范功能,不具有入侵实时检测等功能,如果需要具有这样的功能,就需要升级路由器的系统软件,就像操作系统一样。
(二) 防火墙与IPS
防火墙目前主流使用状态检测功能来检查报文链路状态的合法性,丢弃链路状态不合法的报文,核心基础是会话状态。当满足接入条件的用户流量第一次穿越防火墙时,会产生一个会话表项,该会话的后续报文将基于该会话表项进行转发。
防火墙工作时根据预配置的安全策略检查流量,防火墙中的静态安全防御技术:防火墙对流量是否非法的判断往往是基于管理员预先配置的安全策略,无法拦截一些特殊的攻击。我们常见的传统防火墙无法拦截针对 Web 服务器的 XSS 攻击和 SQL 注入攻击。
而IPS不仅可以检测威胁,还可以实时阻断入侵流量,从而及时防止更大的损失。IPS与被动检测防火墙相比,最大的不同在于主动检测。入侵检测技术通过研究入侵行为的过程和特征,使信息安全系统能够实时响应入侵的时间和过程。IPS异常检测和特征检测技术使用,特别是特征库需要经常根据攻击情况,不断升级,以便应对当下最新的攻击类型,防火墙这很少。
防火墙是针对黑客攻击的一种被动的防御,而 IPS 是早起 IDS 加上防火墙的组合,两者最主要的区别就是防火墙是被动防御,他只是本地网络和外部网络直接的一道屏障,而 IPS 是一部能够监视网络或网络设备的网络资料传输行为的计算机网络安全设备,用来补充防病毒和防火墙的补充,可以对攻击进行识别和主动防御。
防火墙的局限性
最后,来说说防火墙的不足或天然“劣势”。首先防火墙不能防范未经过防火墙或绕过防火墙的攻击。防火墙很难防范来自于网络内部的攻击或滥用例如,如果允许从受保护的网络内部向外拨号,一些用户就可能形成与Internet 的直接连接。防火墙基于数据包包头信息的检测阻断方式,主要对主机提供或请求的服务进行访问控制,无法阻断通过开放端口流入的有害流量,并不是对蠕虫或者黑客攻击的解决方案。
大家有什么相关内容想了解的,欢迎给我留言!关注技福小咖,请帮忙点赞分享,您的支持是我们最大的动力!