防火墙(firewall)详细介绍
一、什么是防火墙
防火墙是由软件和硬件组成的系统,它处在安全的网络和不安全的网络之间(比如内网和外网之间),根据由系统管理员设置的规则,对数据流进行过滤。(你的个人电脑上的防火墙就是这样工作的,根据特定的规则过滤流量,可以自己查看)。
由于防火墙介于两个网络之间,因此从一个网络到另一个网络的所有数据都要经过防火墙。根据管理员制定的安全策略,防火墙对数据流的处理方式有三种:
允许数据流通过。 拒绝数据流通过,此时防火墙会提示发送者该数据流已被拒绝。 将数据流丢弃,此时防火墙不会对该数据流进行任何处理,也不会向发送者发送任何消息(这种做法就加长了网络扫描的时间)。
防火墙的基本设计要求
所有进出网络的数据都要通过防火墙(但不一定要过滤) 只允许经过授权的数据流通过防火墙 防火墙自身对入侵是免疫的
防火墙功能:
地址转换、网络环境支持、带宽管理功能、入侵检测和攻击防御、用户认证、高可用性、
(1)隔离不同的网络,限制安全问题的扩散,对安全集中管理,简化了安全管理的复杂程度。(2) 防火墙可以方便地记录网络上的各种非法活动,监视网络的安全性,遇到紧急情况报警。(3)防火墙可以作为部署 NAT 的地点,利用 NAT 技术,将有限的 IP 地址动态或静 态地与内部的 IP 地址对应起来,用来缓解地址空间短缺的问题或者隐藏内部网络的结构。(4)防火墙是审计和记录 Internet 使用费用的一个最佳地点。(5)防火墙也可以作为 IPSec 的平台。(6)内容控制功能。根据数据内容进行控制,比如防火墙可以从电子邮件中过滤 掉垃圾邮件,可以过滤掉内部用户访问外部服务的图片信息。只有代理服务器和先进的过滤才能实现。
防火墙提供的四种控制机制
服务控制 方向控制 用户控制 行为控制
防火墙的性能指标
1.吞吐量
(1)吞吐量:防火墙能同时处理的最大数据量
(2)有效吞吐量:除掉TCP因为丢包和超时重发的数据,实际的每秒传输有效速率。
(3)衡量标准:吞吐量越大,性能越高
吞吐量是衡量一款防火墙或者路由交换设备的最重要的指标,它是指网络设备在每一秒内处理数据包的最大能力。吞吐量意味这台设备在每一秒以内所能够处理的最大流量或者说每一秒内能处理的数据包个数。设备吞吐量越高,所能提供给用户使用的带宽越大,就像木桶原理所描述的,网络的最大吞吐取决于网络中的最低吞吐量设备,足够的吞吐量可以保证防火墙不会成为网络的瓶颈。
举一个形象的例子,一台防火墙下面有 100 个用户同时上网,每个用户分配的是 10Mbps 的带宽,那么这台防火墙如果想要保证所有用户全速的网络体验,必须要有至少 1Gbps 的吞吐量。吞吐量的计量单位有两种方式:常见的就是带宽计量,单位是 Mbps (Megabits per second) 或者 Gbps (Gigabits per second),另外一种是数据包处理量计量,单位是 pps (packets per second),两种计量方式是可以相互换算的。在进行对一款设备进行吞吐性能测试时,通常会记录一组从 64 字节到 1518 字节的测试数据,每一个测试结果均有相对应的 pps 数。64 字节的 pps 数最大,基本上可以反映出设备处理数据包的最大能力。所以从 64 字节的这个数,基本上可以推算出系统最大能处理的吞吐量是多少。
2.时延
(1)定义:数据包的第一个比特进入防火墙到最后一个比特输出防火墙的时间间隔指标。
(2)用于测量防火墙处理数据的速度理想的情况,测试的是其存储转发(Store andForward)的性能。
(3)衡量标准:延时越小,性能越高、
时延是系统处理数据包所需要的时间。防火墙时延测试指的就是计算它的存储转发 (Store and Forward) 时间,即从接收到数据包开始,处理完并转发出去所用的全部时间。在一个网络中,如果我们访问某一台服务器,通常不是直接到达,而是经过大量的路由交换设备。每经过一台设备,就像我们在高速公路上经过收费站一样都会耗费一定的时间,一旦在某一个点耗费的时间过长,就会对整个网络的访问造成影响。如果防火墙的延时很低,用户就完全不会感觉到它的存在,提升了网络访问的效率。
时延的单位通常是微秒,一台高效率防火墙的时延通常会在一百微秒以内。时延通常是建立在测试完吞吐量的基础上进行的测试。测试时延之前需要先测出每个包长下吞吐量的大小,然后使用每个包长的吞吐量结果的 90%-100% 作为时延测试的流量大小。一般时延的测试要求不能够有任何的丢包。因为如果丢包,会造成时延非常大,结果不准确。我们测试一般使用最大吞吐量的 95% 或者 90% 进行测试。测试结果包括最大时延,最小时延,平均时延,一般记录平均时延。
3.丢包率
(1)定义:在连续负载的情况下,防火墙由于资源不足,应转发但是未转发的百分比。
(2)衡量标准:丢包率越小,防火墙的性能越高
4.背靠背
衡量标准:背靠背主要是指防火墙缓冲容量的大小。网络上常会出现一些突发的大流量(例如:NFS,备份,路由更新等),而且这样的数据包的丢失可能会产生更多的数据包丢失。强大的缓冲能力可以减小对这种突发网络情况造成的影响。
5.并发连接数
(1)定义:由于防火墙是针对连接进行处理的,并发连接数目是指防火墙可以同时容纳的最大的连接数目,一个连接就是一个TCP/UDP的访问。
(2)衡量指标:并发连接数指标越大,抗攻击能力也越强。
并发连接数就是指防火墙最大能够同时处理的连接会话个数。并发连接数指的是防火墙设备最大能够维护的连接数的数量,这个指标越大,在一段时间内所能够允许同时上网的用户数越多。随着 web 应用复杂化以及 P2P 类程序的广泛应用,每个用户所产生的连接越来越多,甚至一个用户的连接数就有可能上千,更严重的是如果用户中了木马或者蠕虫病毒,更会产生上万个连接。所以显而易见,几十万的并发连接数已经不能够满足网络的需求了,目前主流的防火墙都要求能够达到几十万甚至上千万的并发连接以满足一定规模的用户需求。并发连接数虽然英文用的是 TCP,但是为了更接近实际用户的情况,通常会采用 HTTP 来进行测试。它是个容量的单位,而不是速度。测试结果以连接 (connections) 作为单位。基本测试的方法和 HTTP 新建连接速率基本一致,主要的区别在于新建连接测试会立刻拆除建立的连接,而并发连接数测试不会拆除连接,所有已经建立的连接会保持住直到达到设备的极限。
6.新建连接速率
新建连接速率指的是在每一秒以内防火墙所能够处理的 HTTP 新建连连接请求的数量。
用户每打开一个网页,访问一个服务器,在防火墙看来会是 1 个甚至多个新建连接。而一台设备的新建连接速率越高,就可以同时给更多的用户提供网络访问。比如设备的新建连接速率是 1 万,那么如果有 1 万人同时上网,那么所有的请求都可以在一秒以内完成,如果有 1 万 1 千人上网的话,那么前 1 万人可以在第一秒内完成,后 1 千个请求需要在下一秒才能完成。所以,新建连接速率高的设备可以提供给更多人同时上网,提升用户的网络体验。新建连接速率虽然英文用的是 TCP,但是为了更接近实际用户的情况,通常会采用 HTTP 来进行测试,测试结果以连接每秒 (connections per second) 作为单位。为什么针对防火墙要测试这个数据呢?因为我们知道防火墙是基于会话的机制来处理数据包的,每一个数据包经过防火墙都要有相应的会话来对应。会话的建立速度就是防火墙对于新建连接的处理速度。新建连接的测试采用 4-7 层测试仪来进行,模拟真实的用户和服务器之间的 HTTP 教过过程:首先建立三次握手,然后用户到 HTTP 服务器去 Get 一个页面,最后采用三次握手或者四次握手关闭连接。测试仪通过持续地模拟每秒大量用户连接去访问服务器以测试防火墙的最大极限新建连接速率。
防火墙分类:
一般来说,防火墙工作于OSI模型的层次越高,其检查数据包中的信息就越多,因此防火墙所消耗的处理器工作周期就越长;防火墙检查的数据包越靠近OSI模型的上层,该防火墙结构所提供的安全保护等级就越高,因为在高层上能够获得更多的信息用于安全决策。
防火墙分类:
软、硬件形式分类:软件防火墙、硬件防火墙、芯片级防火墙。
防火墙技术分类:包过滤型防火墙、应用代理型防火墙 。
防火墙结构分类:单一主机防火墙、路由器集成式防火墙、分布式防火墙。
防火墙的应用部署位置分类:边界防火墙、个人防火墙、混合防火墙。
防火墙性能分类:百兆级防火墙、千兆级防火墙。
防火墙使用方法分类:网络层防火墙、物理层防火墙、链路层防火墙
二、防火墙发展史
1.包过滤防火墙
(1)判断信息:数据包的源IP地址、目的IP地址、协议类型、源端口、目的端口(五元组)。
(2)工作范围:网络屋、传输层(3-4层)
(3)和路由器的区别:普通的路由器只检查数据包的目标地址。并选择一个达到目的地址的最佳路径。防火墙除了要决定目的路径以外还需要根据已经设定的规则进行判断“是与否”。
包过滤防火墙又被分为静态包过滤防火墙和动态包过滤防火墙。
静态包过滤防火墙工作在OSI模型中的网络层,它通过对到达的数据包的IP头和传输字段内容进行检查,和已经制定的自组规则去匹配,然后确定是转发该数据包还是丢弃该数据包(比如说,该规则中说,禁止外来用户访问IP地址为192.130.23.4的用户,你就当该用户是一个该机构的机密人员,那么所有目的IP为192.130.23.4的数据包都会被丢弃或者拒绝)。
动态包过滤防火墙工作在OSI模型的传输层,也就是说,静态包过滤防火墙只有包的概念,他们分析的是一个一个数据包,而动态包过滤防火墙已经能够捕获到一条“连接”。那么动态包过滤防火墙就可以对发出的数据包做一个标记,对相同连接的进入的数据包允许通过。所以动态包过滤防火墙会对已建立的连接和规则表进行动态的维护。
连接建立以后的数据包不需要检查
优缺点:对网络性能有较小的影响,具有状态感知能力,性能显著提升;安全性低,容易遭受IP欺骗攻击,难于创建规则(必须考虑规则的先后顺序)
对数据包的某些特定域进行检查,这些特定域包括:源地址、目的地址、应用或协议、源端口号、目的端口号
包过滤防火墙是在网络的入口对通过的数据包进行选择,只有满足条件的数据包才能通过,否则被抛弃。
本质上说,包过滤防火墙是多址的,表明它有两个或两个以上网络适配器或接口。例如,作为防火墙的设备可能有三块网卡,一块连到内部网络,一块连到公共的Internet,另外一块连接到DMZ.防火墙的任务,就是作为"网络警察",指引包和截住那些有危害的包。包过滤防火墙检查每一个传入包,查看包中可用的基本信息,包括源地址、目的地址、TCP/UDP端口号、传输协议(TCP、UDP、ICMP等)。然后,将这些信息与设立的规则相比较。如果已经设立了拒绝telnet连接,而包的目的端口是23,那么该包就会被丢弃。如果允许传入Web连接,而目的端口为80,则包就会被放行。
包过滤防火墙中每个IP包的字段都会被检查,例如源地址、目的地址、协议、端口等。防火墙将基于这些信息应用过滤规则,与规则不匹配的包就被丢弃,如果有理由让该包通过,就要建立规则来处理它。包过滤防火墙是通过规则的组合来完成复杂策略的。例如,一个规则可以包括:“允许Web连接”、“但只针对指定的服务器”、"只针对指定的目的端口和目的地址"这样三个子规则。
1.1包过滤技术的优缺点
优点:简单实用,实现成本较低,在应用环境比较简单的情况下,能够以较小的代价在一定程度上保证系统的安全。
缺点:包过滤技术是一种完全基于网络层的安全技术,只能根据数据包的来源、目标和端口等网络信息进行判断,无法识别基于应用层的恶意侵入,如恶意的Java小程序以及电子邮件中附带的病毒。有经验的黑客很容易伪造IP地址,骗过包过滤型防火墙。
2.代理防火墙
代理防火墙并不是真正意义上的互联网路由器,它是一个运行一个或多个应用层网关(Application-Layer Gateways, ALG)的主机,也叫应用网关防火墙,该主机有多个网络接口,能够在应用层中继两个连接之间的特定类型的流量。它通常不像路由器那样做IP转发,但现如今也出现了结合了各种功能的更复杂的代理防火墙。
所有进出网络的应用程序报文都必须通过应用网关。当某应用客户进程向服务器发送一份请求报文时,先发送给应用网关,应用网关在应用层打开该报文,查看该请求是否合法(可根据应用层用户标识ID或其他应用层信息来确定)。如果请求合法,应用网关以客户进程的身份将请求报文转发给原始服务器。如果不合法,报文则被丢弃。
3.状态检测防火墙
状态检测防火墙工作于OSI模型的所有7个层次上,所以在理论上具有很高的安全性,但是现有的大多数状态检测防火墙只工作于网络层上,因此其安全性与包过滤防火墙相当。
(1)判断信息:P地址、端口号、TCP标记
(2)工作范围:数据链路层.网络层、传输层(2-4层)
(3)和包过滤防火墙的区别:包过滤防火墙工作基于3-4层,通过桧验报头进行规则表匹配。是包过滤防火墙的升级版,一次检查建立会话表。后期直接按会话表放行。只检查报头
优点:
- 有更高的安全性,能够抵御协议细节攻击
- 没有打破客户/服务器模式
- 提供集成的动态包过滤功能
缺点:
- 单线程设计,性能不高,无法高并发
- 没有打破客户/服务器结构会产生不可接受的安全风险
4.ASIC架构防火墙
硬件防火墙是网络安全的一道重要屏障,直接关系到整个内部网络的安全。目前硬件防火墙主要采用的体系架构包括基于X86、NP和ASIC三种。其中真正摆脱通用CPU和通用操作系统的硬件防火墙主要有ASIC芯片和NP两种方式,而基于ASIC架构防火墙在性能、灵活性、功能完备性、成本、开发难度和技术成熟性等方面都优于NP架构防火墙。尽管如此,现有基于ASIC架构防火墙的性能有待改善。
ASIC架构防火墙是一种使用专门设计的应用特定集成电路(ASIC)来实现网络安全功能的防火墙。相比通用处理器的软件实现,ASIC架构防火墙具有以下优势:
高性能:ASIC芯片具有专门的硬件电路,可以以更高的速度执行网络安全功能。相比软件实现的防火墙,ASIC架构防火墙能够提供更大的吞吐量和处理能力。低延迟:由于ASIC芯片具有定制的硬件电路,可以在更短的时间内完成安全功能的处理,从而减少网络传输的延迟。低功耗:ASIC架构防火墙只执行特定的网络安全功能,而不需要执行其他无关的任务,因此能够以较低的功耗提供更高的性能,减少能源消耗。高度可定制:ASIC芯片可以根据特定的网络安全需求进行定制设计,以满足特定的安全策略和防御需求。
然而,ASIC架构防火墙也存在一些限制:
专用硬件:ASIC架构防火墙需要专门设计和生产芯片,增加了成本和开发周期。缺乏灵活性:ASIC架构防火墙的功能是固定的,无法通过软件更新或升级进行扩展或修改。可伸缩性:由于ASIC芯片是定制的,无法轻松扩展处理能力。在需要处理大规模数据流量的场景下,可能需要多个ASIC芯片进行并行处理。
5.UTM 统一威胁管理
统一威胁管理,融合了IPS入侵防御系统,AV网关防病毒,上网行为管理,防DDOS攻击等特性,为了更好的解决来自企业内部、外部的攻击威胁提供了强有力保障(UTM包含入侵防御和内容过滤)
包含功能:FW、IDS、IPS、AV
目的:将多种安全问题通过一台设备解决
缺点:模块串联检测效率低,性能消耗大
优点:功能多合一有效降低了硬件成本、人力成本、时间成本
入侵防御(IPS)——抵御2-7层已知威胁:
- 入侵防御是一种安全机制,通过分析网络流量,检测入侵(包括缓冲区溢出攻击、木马、蠕虫等),并通过一定的响应方式,实时地中止入侵行为,保护企业信息系统和网络架构免受侵害。
- 入侵防御是种既能发现又能阻止入侵行为的新安全防御技术。通过检测发现网络入侵后,能自动丢弃入侵报文或者阻断攻击源,从而从根本上避免攻击行为。
- 工作范围:2-7层
- 工作特点:根据已知的安全威胁生成对应的过滤器(规则),对于识别为流量的阻断,对于未识别的放通。
- 目的:IPS主要是针对已知威胁进行防御。
- 分析方式:特征检测、协议分析、异常检测
6.NG 下一代防火墙——升级版UTM
下一代防火墙,即Next Generation Firewall,简称NG Firewall。
Gartner介绍为应对当前与未来新一代的网络安全威胁认为防火墙必需要再一次升级为“下一代防火墙”。
包含功能:FW、IDS、IPS、AV、WAF
和UTM的区别:与UTM相比增加的web应用防护功能;UTM是串行处理机制,NGFW是并行处理机制;NGFW的性能更强,管理更高效。
下一代防火墙需具有下列最低属性:
- 支持在线BITW(线缆中的块)配置,同时不会干扰网络运行。
- 可作为网络流量检测与网络安全策略执行的平台,并具有下列最低特性:
- 标准的第一代防火墙功能:具有数据包过滤、网络地址转换(NAT)、协议状态检查等。
- 集成式IPS网络防御系统,支持基于漏洞的签名与基于威胁的签名。
- 业务识别与全栈可视性:采用非端口与协议vs仅端口、协议与服务的方式,识别应用程序并在应用层执行网络安全策略。
- 可收集防火墙外的各类信息,用于改进阻止决策,或作为优化阻止规则的基础。
三、web应用防火墙
WAF全称为 ( Web Application Firewall ) 网络应用防火墙,是一种HTTP入侵检测和防御系统,通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品,可以将WAF视为用户和应用程序本身之间的中介,在所有通信到达应用程序或用户之前对其进行分析,传统的防火墙,处于网络分层的第三层或者第四层,用来过滤特定的ip地址和端口,而WAF则处于第七层应用层,可以看到应用层的报文内容。用来实现更加负责深入和细致的审核和过滤。
非常详细参考:WAF基本原理与部署方式_曹世宏的博客的博客-CSDN博客
WAF可以
- WAF可以过滤HTTP/HTTPS协议流量,防护Web攻击。
- WAF可以对Web应用进行安全审计
- WAF可以防止CC攻击
- 应用交付
WAF不可以
- WAF不能过滤其他协议流量,如FTP、PoP3协议
- WAF不能实现传统防护墙功能,如地址映射
- WAF不能防止网络层的DDoS攻击
- 防病毒
WAF主要功能:
WAF主要是通过内置的很多安全规则 来进行防御。可防护常见的SQL注入、XSS、网页篡改、中间件漏洞等OWASP TOP10攻击行。当发现攻击后,可将IP进行锁定,IP锁定之后将无法访问网站业务。也支持防止CC攻击,采用集中度和速率双重检测算法。IP 黑名单和白名单,拒绝黑名单上地址的访问,或者只允许白名单上的用户访问;URI 黑名单和白名单,与 IP 黑白名单类似,允许或禁止对某些 URI 的访问;防护 DDoS 攻击,对特定的 IP 地址限连限速;过滤请求报文,防御“代码注入”攻击;过滤响应报文,防御敏感信息外泄;审计日志,记录所有检测到的入侵操作
WAF常见部署方式:
WAF一般部署在Web服务器之前,用来保护Web应用。
WAF与传统安全设备的区别:
传统安全设备特点:
- IPS:针对蠕虫、网络病毒、后门木马防护,不具备WEB应用层的安全防护能力
- 传统FW:作为内网与外网之间的一种访问控制设备,提供3-4层的安全防护能力,不具备WEB应用层的安全防护能力
- UTM/NGFW:优势,UTM或者NGFW把多种安全能力融合为一体(上网行为管理、IPS、防病毒、WEB安全防护)
- 劣势:各安全引擎模式开启之后设备综合性能势必降低!
- n多核架构/MIPS架构无法实现对HTTP/HTTPS数据包的深度检测(包括转换编码、拼接攻击语句、大小写变换、超大报文等),WEB应用攻击的检出率低、漏报率高!
WAF特点:
WAF是专业的应用层安全防护产品。
- 具备威胁感知能力
- 具备HTTP/HTTPS深度检测能力. 检出率高,误报率低/漏报率低
- 高性能
- 复杂环境下高稳定性
Firewall、IPS、WAF
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341