当前位置: 首页 > news >正文

什么是防火墙?详解三种常见的防火墙及各自的优缺点

目录

防火墙的定义 

防火墙的功能

防火墙的特性

防火墙的必要性

防火墙的优点

防火墙的局限性

防火墙的分类

分组过滤防火墙

优点:

缺点:

应用代理防火墙 

优点

缺点

状态检测防火墙

优点

缺点


防火墙的定义 

防火墙的本义原是指古代人们房屋之间修建的墙,这道墙可以防止火灾发生的时候蔓延到别的房屋,如下图所示

在互联网上,防火墙是一种非常有效的网络安全系统,通过它可以隔离风险区域(Internet或有一定风险的网络)与安全区域(局域网)的连接,同时不会妨碍安全区域对风险区域的访问,网络防火墙结构如图所示

 

防火墙一般放置在被保护网络的边界,要使防火墙起到安全防御作用,必须做到三点:

  • 使所有进出被保护网络的通信数据流必须经过防火墙
  • 所有通过防火墙的通信必须经过安全策略的过滤或者防火墙的授权
  • 防火墙本身也必须是不可被侵入的

防火墙的功能

根据不同的需要,防火墙的功能有比较大差异,但是一般都包含以下三种基本功能:

  • 可以限制未授权的用户进入内部网络,过滤掉不安全的服务和非法用户
  • 防止入侵者接近网络防御设施
  • 限制内部用户访问特殊站点

由于防火墙假设了网络边界和服务,因此适合于相对独立的网络,例如Intranet(内部网)等种类相对集中的网络。Internet上的Web网站中,超过三分之一的站点都是有某种防火墙保护的,任何关键性的服务器,都应该放在防火墙之后

防火墙的特性

防火墙的必要性

随着世界各国信息基础设施的逐渐形成,国与国之间变得“近在咫尺”。Internet已经成为信息化社会发展的重要保证,深入到国家的政治、军事、经济、文教等诸多领域。 许多重要的政府宏观调控决策、商业经济信息、银行资金转帐、股票证券、能源资源数据、科研数据等重要信息都通过网络存贮、传输和处理。因此,难免会遭遇各种主动或被动的攻击。 例如信息泄漏、信息窃取、数据篡改、数据删除和计算机病毒等。因此,网络安全已经成为迫在眉睫的重要问题,没有网络安全就没有社会信息化

防火墙的优点

  • 防火墙对内部网实现了集中的安全管理,可以强化网络安全策略,比分散的主机管理更经济易行
  • 防火墙能防止非授权用户进入内部网络
  • 防火墙可以方便地监视网络的安全性并报警。 可以作为配置网络地址转换的地点,利用NAT技术,可以缓解地址空间的短缺,隐藏内部网的结构
  • 由于所有的访问都经过防火墙,防火墙是审计和记录网络访问和使用的最佳地方

防火墙的局限性

没有万能的网络安全技术,防火墙也不例外。防火墙有以下三方面的局限:

  • 防火墙不能防范网络内部的攻击。比如:防火墙无法禁止变节者或内部间谍将敏感数据拷贝到软盘上
  • 防火墙也不能防范那些伪装成超级用户或诈称新雇员的黑客们劝说没有防范心理的用户公开其口令,并授予其临时的网络访问权限
  • 防火墙不能防止传送己感染病毒的软件或文件,不能期望防火墙去对每一个文件进行扫描,查出潜在的病毒

防火墙的分类

常见的防火墙有三种类型:

  1. 分组过滤防火墙
  2. 应用代理防火墙
  3. 状态检测防火墙

分组过滤防火墙

分组过滤(Packet Filtering):也叫作包过滤防火墙,作用在协议组的网络层和传输层,根据分组包头源地址、目的地址和端口号、协议类型等标志确定是否允许数据包通过,只有满足过滤逻辑的数据包才被转发到相应的目的地的出口端,其余的数据包则从数据流中丢弃。

数据包过滤可以在网络层截获数据。使用一些规则来确定是否转发或丢弃所各个数据包。 通常情况下,如果规则中没有明确允许指定数据包的出入,那么数据包将被丢弃

防火墙审查每个数据包,以确定其是否与某条包过滤规则相匹配。 过滤规则基于IP转发所使用的包头信息,包括IP源/目的地址,内部协议(TCP/UDP/ICMP)、TCP/UDP目的端口号和ICMP消息类型等。 如果规则匹配失败,用户配置的默认参数会决定转发还是丢弃数据包。

一个可靠的分组过滤防火墙依赖于规则集,下表列出了几条典型的规则集:

  • 第一条规则:主机10.1.1.1任何端口访问任何主机的任何端口,基于TCP协议的数据包都允许通过
  • 第二条规则:任何主机的20端口访问主机10.1.1.1的任何端口,基于TCP协议的数据包允许通过
  • 第三条规则:任何主机的20端口访问主机10.1.1.1小于1024的端口,如果基于TCP协议的数据包都禁止通过 

优点:

  • 无需修改客户机和主机上的程序。因为工作在网络层和传输层,与应用层无关
  • 可以和现成的路由器集成,也可以软件实现 

缺点:

  • 不能区分出数据包的好坏
  • 需要广泛的TCP/IP知识
  • 需要创建大量规则,工作量大
  • 基于IP包头中的信息进行过滤容易受到欺骗攻击,例如伪造IP地址等

应用代理防火墙 

应用代理(Application Proxy):也叫应用网关(Application Gateway),它作用在应用层,其特点是完全“阻隔”网络通信流,通过对每种应用服务编制专门的代理程序,实现监视和控制应用层通信流的作用。实际中的应用网关通常由专用工作站实现。

应用代理是运行在防火墙上的一种服务器程序,防火墙主机可以是一个具有两个网络接口的双重宿主主机,也可以是一个堡垒主机。 代理服务器被放置在内部服务器和外部服务器之间,用于转接内外主机之间的通信,它可以根据安全策略来决定是否为用户进行代理服务。代理服务器运行在应用层,因此又被称为“应用网关”。

应用代理防火墙通过编程来弄清用户应用层的流量,并能在应用层提供访问控制。而且,还可记录所有应用程序的访问情况,记录和控制所有进出流量,代理服务器会像一堵墙一样挡在内部用户和外界之间,从外部只能看到该代理服务器而无法获知任何的内部资源

代理服务器指代表客户处理与服务器连接请求的程序。 当代理服务器接收到用户对某站点的访问请求后,便会检查该请求是否符合规则,如果规则允许用户访问该站点的话,代理服务器会像一个客户一样去那个站点取回所需信息再转发给客户,代理服务器通常都拥有一个高速缓存,这个缓存存储着用户经常访问的站点内容,在下一个用户要访问同一站点时,服务器就不用重复地获取相同的内容,直接将缓存内容发出即可,既节约了时间也节约了网络资源

可以使用代理来控制实际的数据流:例如,一个应用代理可以限制FTP用户只能从Internet上获取文件,而不能将文件上传至Internet。 如果网络管理员没有为某种应用安装代理程序,那么该项服务就不支持并不能通过防火墙系统来转发

优点

  • 具有代理服务的应用网关可被配置成唯一可以被外部网络可视的主机,这样就可以保护内部主机免受外部主机的攻击
  • 一些代理服务器提供高速的缓存功能,在应用网关上可以强制执行用户身份认证
  • 代理工作在客户机与真实服务器之间,完全控制会话,所以可提供详细的日志
  • 在应用网关上可以使用第三方提供的身份认证和日志记录系统
  • 能灵活、完全地控制进出流量和内容,能过滤数据内容以及能为用户提供透明的加密机制

缺点

  • Internet服务的代理版本总是要滞后其标准版本,对于一个新的或者不常用的服务,很难找到可靠的代理版本
  • 代理服务器具有解释应用层命令的功能(如解释FTP命令、Telnet命令等),因此可能需要提供很多种不同的代理服务器(如FTP代理服务器、Telnet代理服务器),并且所能提供的服务和可伸缩性是有限的
  • 解释应用层命令的代理服务器,需要定制用户进程,这就给用户的使用带来了不便
  • 一些服务是很难进行代理的,比如某些数据交流很复杂的服务,要同时用到tcp和udp协议
  • 代理建立了一个网络的服务瓶颈,因为它要检查每一个数据包。因此速度较路由器慢,且对用户不透明

状态检测防火墙

状态检测(Status Detection):直接对分组里的数据进行处理,并且结合前后分组的数据进行综合判断,然后决定是否允许该数据包通过

状态检测防火墙在网络层有一个执行网络安全策略的检查引擎截获数据包并抽取出与应用层状态有关的信息,并以此为依据决定对该连接是接受还是拒绝。 检查引擎在不影响网络正常工作的前提下,采用抽取相关数据的方法对网络通信的各层实施监测,抽取部分数据,即状态信息 状态检测防火墙克服了包过滤防火墙和应用代理服务器的局限性,不仅仅检测“to”和“from”的地址,而且不要求每个访问的应用都有代理。

状态检测防火墙同包过滤技术一样,它能够检测通过IP地址、端口号以及TCP标记,过滤进出的数据包。 允许受信任的客户机和不受信任的主机建立直接连接,不依靠与应用层有关的代理,而是依靠某种算法来识别进出的应用层数据,这些算法通过己知合法数据包的模式来比较进出数据包,这样从理论上就能比应用级代理在过滤数据包上更有效。 此外,它还可监测RPC和UDP端口信息,而包过滤和代理都不支持此类端口。

优点

安全性:状态检测防火墙工作在数据链路层和网络层之间,它从这里截取数据包,因为数据链路层是网卡工作的真正位置,网络层是协议栈的第一层,这样防火墙确保了截取和检查所有通过网络的原始数据包

性能:状态检测防火墙工作在协议栈的较低层,通过防火墙的所有的数据包都在低层处理,而不需要协议栈的上层处理任何数据包,这样减少了高层协议头的开销

扩展性:状态检测防火墙不区分每个具体的应用,只是根据从数据包中提取出的信息、对应的安全策略及过滤规则处理数据包

当有一个新的应用时,它能动态产生新的应用的新的规则,而不用另外写代码,所以具有很好的伸缩性和扩展性

能够支持多种协议和应用程序,并可以很容易地实现应用和服务的扩充

缺点

包过滤防火墙得以进行正常工作的一切依据都在于过滤规则的实施,但又不能满足建立精细规则的要求,并不能分析高级协议中的数据

应用网络关防火墙的每个连接都必须建立在为之创建的有一套复杂的协议分析机制的代理程序进程上,这会导致数据延迟的现象

状态检测防火墙虽然继承了包过滤防火墙和应用网关防火墙的优点,克服了它们的缺点,但它仍只是检测数据包的第三层信息,无法彻底的识别数据包中大量的垃圾邮件、广告以及木马程序等等

相关文章:

什么是防火墙?详解三种常见的防火墙及各自的优缺点

目录 防火墙的定义 防火墙的功能 防火墙的特性 防火墙的必要性 防火墙的优点 防火墙的局限性 防火墙的分类 分组过滤防火墙 优点: 缺点: 应用代理防火墙 优点 缺点 状态检测防火墙 优点 缺点 防火墙的定义 防火墙的本义原是指古代人们…...

动态规划算法实现0-1背包问题Java语言实现

问题介绍: 动态规划算法: 动态规划(Dynamic Programming)是一种解决多阶段决策问题的优化算法。它通过将问题分解为一系列子问题,并利用子问题的解来构建更大规模问题的解,从而实现对整个问题的求解。 动态…...

linux查看系统版本

linux主机 hostnamectl -- 可以查看​ “系统架构”,“发行版本”和“内核版本”等信息 uname -a -- 查看内核版本 cat /proc/version -- 查看当前操作系统版本信息 cat /etc/issue ,lsb_release -a(ubuntu)-- 查看…...

pg14-sql基础(四)-多表联查

多表联查 内联查询 SELECT e.department_id, e.first_name, d.department_name FROM employees e INNER JOIN departments d -- JOIN departments d ON e.department_id d.department_id;左外联查询 SELECT e.department_id, e.first_name, d.department_name FROM employees…...

el-date-picker 日期时间选择器 限时时间范围 精确到时分秒

官方的disabledDate属性:设置禁用状态,参数为当前日期,要求返回 Boolean,它只能禁用日期,对于时间并不能直接禁用,总结以下两个方法解决禁用时间: 1.通过watch去监听源数据: 1.1 组…...

轮廓线dp:GYM103446C

https://vjudge.net/contest/591700#problem/H 考虑轮廓线dp,当我们枚举到蓝色格子的时候,我们记录红色格子的状态 每个格子有4种状态 0有向下1需要向上2不用管3需向右 每次枚举的时候,我们需要考虑这个格子的三种状态: 10不放…...

羊驼免疫制备纳米抗体

纳米抗体(nanobodies,Nbs)是由比利时科学家Hamers等人在骆驼血液内首次发现的一种新型抗体,与传统抗体相比,这种抗体不存在轻链,只有重链抗体(HcAb)和两个常规的CH2和CH3区组成&…...

【AI好好玩02】利用Lama Cleaner本地实现AIGC试玩:擦除对象、替换对象、更换风格等等

目录 一、安装二、擦除功能1. LaMa模型实操实例一:去除路人实操实例二:去水印实操实例三:老照片修复 2. LDM模型3. ZITS模型4. MAT模型5. FcF模型6. Manga模型 三、替换对象功能1. sd1.52. sd23. anything44. realisticVision1.45. 四个模型的…...

SQL FULL OUTER JOIN 关键字(完整外部连接)||SQL自连接 Self JOIN

SQL FULL OUTER JOIN 关键字 当左(表1)或右(表2)表记录匹配时,FULL OUTER JOIN关键字将返回所有记录。 注意: FULL OUTER JOIN可能会返回非常大的结果集! SQL FULL OUTER JOIN 语法 SELECT …...

专科医院污水处理设备构造解析及工艺流程

诸城市鑫淼环保小编带大家了解一下专科医院污水处理设备构造解析及工艺流程 主要组成部分: 1.预处理单元 处理流程的起点是预处理单元,用于去除废水中的大颗粒物质和固体废物。这一阶段通常包括隔栅和筛网,以确保进一步处理的污水清洁。 2.生…...

【RabbitMQ】RabbitMQ 消息的可靠性 —— 生产者和消费者消息的确认,消息的持久化以及消费失败的重试机制

文章目录 前言:消息的可靠性问题一、生产者消息的确认1.1 生产者确认机制1.2 实现生产者消息的确认1.3 验证生产者消息的确认 二、消息的持久化2.1 演示消息的丢失2.2 声明持久化的交换机和队列2.3 发送持久化的消息 三、消费者消息的确认3.1 配置消费者消息确认3.2…...

百万套行泊一体量产定点,中国市场「开启」智驾高低速集成

进入2023年,席卷中国市场的行泊一体概念方案进入定点、量产交付的第一波高峰期。这套方案,以高性价比、硬件复用、高低速智驾集成的模式,备受市场青睐。 本周,纵目科技宣布,Amphiman3000行泊一体产品获得长安汽车旗下…...

Gopro hero5运动相机格式化后恢复案例

Gopro运动相机以稳定著称,旗下的Hero系列销售全球。下面我们来看一个Hero5格式化后拍了少量素材的恢复案例。 故障存储:64G MicroSD卡 Exfat文件系统 故障现象: 64G的卡没备份数据时做了格式化操作又拍了一条,发现数据没有备份,客户自行使…...

Microsoft Dynamics 365 CE 扩展定制 - 6. 增强代码

在本章中,我们将介绍以下内容: 使用三层模式重构插件用QueryExpressions替换LINQ数据访问层记录自定义项中的错误将插件转换为自定义工作流活动单元测试插件业务逻辑使用内存上下文对插件进行单元测试端到端集成测试插件分析插件构建通用读取审核插件利用CRM Online实现跨来源…...

基于libopenh264 codec的svc分层流实现方案

OpenH264 http://www.openh264.org/ 是标准的H.264 encoder/decoder. ffmpeg已经集成libopenh264,但不支持svc特性。 openh264 encoder支持svc特性: 1. 时域4层:Temporal scalability up to 4 layers in a dyadic hierarchy 2. 空域4层&#…...

为机器学习算法准备数据(Machine Learning 研习之八)

本文还是同样建立在前两篇的基础之上的! 属性组合实验 希望前面的部分能让您了解探索数据并获得洞察力的几种方法。您发现了一些数据怪癖,您可能希望在将数据提供给机器学习算法之前对其进行清理,并且发现了属性之间有趣的相关性&#xff0c…...

基于Python OpenCV的金铲铲自动进游戏、D牌...

基于Python OpenCV的金铲铲自动进游戏、D牌... 1. 自动点击进入游戏1.1 环境准备1.2 功能实现2. 自动D牌3. 游戏结束自动退1. 自动点击进入游戏 PS: 本测试只用于交流学习OpenCV的相关知识,不能用于商业用途,后果自负。 1.1 环境准备 需要金铲铲在win10的模拟器,我们这里选…...

c++中httplib使用

httplib文件链接:百度网盘 请输入提取码 提取码:kgnq json解析库:百度网盘 请输入提取码 提取码:oug0 一、获取token 打开postman, 在body这个参数中点击raw,输入用户名和密码 然后需要获取到域名和地址。 c++代码如下: #include "httplib.h" #in…...

Vite 的基本原理,和 webpack 在开发阶段的比较

目录 1,webpack 的流程2,Vite 的流程简单编译 3,总结 主要对比开发阶段。 1,webpack 的流程 开发阶段大致流程:指定一个入口文件,对相关的模块(js css img 等)先进行打包&#xff0…...

[开源]免费开源MES系统/可视化数字大屏/自动排班系统

开源系统概述: 万界星空科技免费MES、开源MES、商业开源MES、市面上最好的开源MES、MES源代码、免费MES、免费智能制造系统、免费排产系统、免费排班系统、免费质检系统、免费生产计划系统。 万界星空开源MES制造执行系统的Java开源版本。开源mes系统包括系统管理…...

stm32G473的flash模式是单bank还是双bank?

今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...

ESP32读取DHT11温湿度数据

芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

C++.OpenGL (20/64)混合(Blending)

混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...

Linux系统部署KES

1、安装准备 1.版本说明V008R006C009B0014 V008&#xff1a;是version产品的大版本。 R006&#xff1a;是release产品特性版本。 C009&#xff1a;是通用版 B0014&#xff1a;是build开发过程中的构建版本2.硬件要求 #安全版和企业版 内存&#xff1a;1GB 以上 硬盘&#xf…...

Vue ③-生命周期 || 脚手架

生命周期 思考&#xff1a;什么时候可以发送初始化渲染请求&#xff1f;&#xff08;越早越好&#xff09; 什么时候可以开始操作dom&#xff1f;&#xff08;至少dom得渲染出来&#xff09; Vue生命周期&#xff1a; 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...

自然语言处理——文本分类

文本分类 传统机器学习方法文本表示向量空间模型 特征选择文档频率互信息信息增益&#xff08;IG&#xff09; 分类器设计贝叶斯理论&#xff1a;线性判别函数 文本分类性能评估P-R曲线ROC曲线 将文本文档或句子分类为预定义的类或类别&#xff0c; 有单标签多类别文本分类和多…...