防火墙的前世今生

news2024/11/28 19:25:39

防火墙的前世今生

1、第一代防火墙:包过滤防火墙,实现简单的访问控制,也就是我们经常在交换机路由器用到ACL技术

在这里插入图片描述

当我们192.168.1.1需要访问192.168.2.1的WEB服务的时候,先要去精确控制能匹配源目地址,端口号,包括方向。

(1)从PC访问服务器的方向来说,源地址是192.168.1.1,目的地址是192.168.2.1,源端口随机,目的端口号80

(2)从服务器返回数据包的方向来说,源地址是192.168.2.1,目的地址是192.168.1.1,源端口80,目的端口随机

我们写ACL规则的话(这里以通俗的表达展示,就不纠结格式了)

整体流程就是当PC1(192.168.1.1)去访问Server1(192.168.2.1)经过防火墙的时候,防火墙会进行包过滤检测,来检测当前的源目地址端口号是否匹配,匹配了则放行(这里匹配序列号1),抵达服务器后,服务器会响应,回复的过程中经过防火墙,防火墙再次检查策略(匹配2)放行通过,PC1最终完成数据交互。看似很顺利,但是这里有一个非常严重的问题,就是PC1的源端口号是随机的,所以我们没办法去精确匹配,为了数据通信正常,只能够全部放行端口号(因为PC的源端口随机端口号),一旦外部出现一个恶意的攻击者,伪装成WEB服务器就可以随意的穿越防火墙到达内网。其次带来的问题就是配置过于繁琐,不同的端口号以及地址需要写多条策略。(目前这功能只有路由器与交换机用的最多)

2、第二代防火墙:代理防火墙,之前的访问都是客户端到服务器之间进行交互,而代理不一样,客户端与防火墙建立一个会话连接,然后访问服务器的流量,由防火墙在与服务器建立一个会话连接,这样安全性极高,带来的问题就是只有TCP应用可以支持,而且针对不同的应用需要独立的去开发对应的代理,处理速度也较慢,导致应用性不广。

3、第三代防火墙:基于状态检测的防火墙,当有PC需要访问WEB服务器的时候,FW通过检查安全策略允许通过后,建立一个会话表(五元组源目端口源目地址以及协议),WEB服务器收到请求报文后,进行回应,通过防火墙的时候,防火墙则先查找会话表进行匹配,如果有这个报文的会话信息则直接允许通过。

对于同一条数据流,只需在访问发起的方向上配置安全策略,反向流量无需配置安全策略。即首包匹配安全策略,通过安全策略过滤后建立会话表,后续包直接匹配会话表,无需再匹配安全策略,提高业务处理效率。

状态检测功能的出现使得防火墙开始慢慢的普及在网络中使用,对比于第一代的包过滤来说,状态机制能够解决配置带来的繁琐问题,而且又能动态的跟踪整个数据的会话流程,避免了大范围开放端口带来的风险。

4、第四代防火墙:真正防火墙开始普及其实算是第四代防火墙开始,第四代叫做UTM(统一威胁管理)时代,将状态防火墙、IPS、防病毒、URL过滤、行为管理、DPI、VPN等功能融合到一台防火墙上,博主最开始学习防火墙是从思科的PIX时代开始的,主打卖点就是远程接入的VPN,后来接触了华为的USG系列后,发现功能更加多,特别是应用控制、多种选路机制,更加的迎合于本土化的需求,随着项目接触华为的防火墙更多,也自购了两台二手的USG2110-F的,那会模拟器ENSP还没出现。(这里真吐槽下,思科防火墙的多线外网真的……)

5、第五代防火墙:NGFW下一代防火墙,UTM的出现虽然让产品的功能更加丰富,卖点也非常多,但是带来的问题就是同时运行处理性能会严重的降低,那么NGFW的定义出现就是解决多个功能同时运行时性能下降的问题,并且提出了针对用户、应用以及内容进行更深层的管控,还提供了丰富的日志与报表。现在市面上新项目遇到的都是以下一代防火墙为主了,当然也会遇到UTM的产品,目前服役的还很多,整体的配置思路与处理数据的流程都是一样的,所以学完这个后,就算遇到了老的产品也不用太过于担心。

华为目前主推的最新系列

从下一代防火墙定义出现(2009年)、普及、发展到如今已经快11个年头了,华为从USG 2000、5000、9500的UTM时代系列,下一代防火墙USG6000系列,到如今(2020年)开始主推的HiSecEngine(华为新推出的概念),它在下一代防火墙的功能上面加入了AI芯片以及算法跟云端功能,以往的防火墙发现了攻击与威胁只能被动的告警跟日志提醒,新的概念里面加入了AI后,它能够根据这个攻击与威胁的发现,能够有效的自动化做出一些操作,来抵御这些攻击,实现智能化的防御功能(这个功能需要授权以及依赖云端提供分析)。

https://e.huawei.com/cn/products/enterprise-networking/security 华为防火墙安全产品,博主课程除了用模拟器以外,真机使用HiSecEngine6307E系列(小型环境使用)

针对应用场景推荐几个型号

1、小型办公、分支等场景:HiSecEngineUSG6100E(替代6100)、HiSecEngineUSG6300E(桌面)HiSecEngine USG6500E(桌面)

2、中型企业:HiSecEngine USG6300E(盒式)HiSecEngine USG6500E(盒式)

3、大型环境、数据中心、云服务:USG9500、HiSecEngineUSG6700E、USG600V(虚拟化产品,主要针对数据中心)、HiSecEngineUSG12000(最新)

我们在选型的时候一定要考虑好客户的场景(终端数、流量大小)、需要的接口、功能可授权的数量来综合考虑,可以通过https://support.huawei.com/enterprise/zh/info-finder 可以查看产品的任何功能、形状、接口数量等情况

防火墙是否能够替代路由器了呢?

可以发现在中小型场景中,防火墙作为出口的使用率比路由器要高些了,那么这些场景是否防火墙能够替代路由器作为出口呢?在现阶段设备性能越来越好的情况下,你会发现路由器的功能防火墙都有,包括源NAT、服务器映射、限速、VPN、甚至在多出口选路上面比路由器功能更加多,能够更加的满足客户的需求,在中小型场景中,防火墙是可以替代路由器作为出口的,直接下面接三层交换机,然后到接入交换机这样。

就单从路由器的选路来说,假如客户有多条外网线路,以华为的AR系列路由器,能够实现的(1)主备形式(2)基于策略路由的内网负载分担 (3)同一运营商多线路的负载均衡,但是做不到比如防火墙提供的这些功能(1)电信走电信、联通走联通(2)基于利用率的切换,比如一条链路使用率达到了85%,就切换到另外一条使用(3)基于延迟、抖动的判断。基于这样的情况下,我们在给客户选型或者是推荐方案的时候就更加倾向于防火墙了,而防火墙还支持行为管理,带宽管理等多合一功能(路由器的行为管理以及SSL这些都是要买授权的)。

图片

在骨干网里面,那么路由器是无可替代的,丰富的路由协议、以及路由策略控制都是离不开路由器,防火墙更多的是在出口或者边界处提供一些安全的防护、隔离等功能。

现在随着市场的产品多样化,可以发现不管是主流厂商、还是二三线的都会推出一些性价比高的产品来满足小型办公、分支这些场景。从最早学习网络开始,那时候的路由器接口少的可怜,2个口很常见,一个接外网,一个接内网,多了得加模块扩展,但是现在的产品可以发现不管路由器还是防火墙,接口非常多,对于小型环境这样的场景就非常适合,防火墙/路由器可以直接充当三层交换机的功能了,不同接口划分不同的VLAN网段,然后下面下挂傻瓜交换机,甚至有的路由器/防火墙接口非常多,可以直接接终端。在这种小型场景你经常可以遇到一台防火墙/路由器充当了很多角色功能,不在跟很早学网络的时候,路由器是路由器,交换机是交换机,现在很多产品迎合市场都有点多合一的趋势。(博主经常出方案或者告诉别人选哪个型号的时候,特别是刚工作或者还在学习中的朋友,会经常发问说,路由器还能划分VLAN吗,还能支持交换机的功能)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/85418.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

限制 SLS告警通知时段的几种常见方法

前言 在对系统进行监控告警的过程中,有时候并非在任何时候都要接收告警通知,例如以下场景: 计划内变更触发的已知告警可以无需通知非工作时间不接收不严重的告警夜里不接收电话告警等等 本文会介绍几种常见的限制告警通知时段的方法&#x…

IDEA技巧汇总:这30个强大的功能,总有一个你能用上!

目录查看代码历史版本调整idea的虚拟内存:idea设置成eclipse的快捷键设置提示词忽略大小写关闭代码检查设置文档注释模板显示方法分隔符设置多行tabtab过多会自动关闭快速匹配方法的大括号位置代码结尾补全模糊搜索方法预览某个类的代码查看方法在哪里被调用代码模板…

一个简单的网页制作期末作业,学生个人html静态网页制作成品代码

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

12月13日:跟着猫叔写代码,fastadmin中Api相关只是

Api权限管理 api常用返回信息实例 api获取所有方法,都在common目录下cotroller文件夹中Api.php中 /*** 需要登录的接口**/public function test2(){//$this->success(返回成功, [action > test2]);//判断当前用户是否登录//$this->success(返回成功, $t…

1. Python_Django项目之大型电商项目介绍

1.开发项目目的 联系已掌握的知识点发现新的知识点掌握开发技巧掌握项目结构增加项目经验 2.所用技术 语言:Python3(Django4)数据库:MySQLweb服务器:Nginxuwsgi开发环境:VScode、linux 3.功能介绍 商品…

动态规划——背包问题(3)

文章目录求解最佳方案数例题思路代码混合背包问题例题思路代码有依赖的背包问题例题思路代码考察思维的一些背包题目机器分配金明的预算方案货币系统能量石总结求解最佳方案数 例题 有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。 第 i 件物品的体积是 vi&#…

springboot前后端交互(小白教学)

在上次前后端交互,我们使用的是最基本的HTMLServlet的组合,比较基础,今天我们来讲一讲HtmlSpringboot框架,前后端交互实现更为简便,大大降低了我们开发人员在代码上面所花费的时间,那今天让我们一探究竟吧。…

1998-2014年工企污染数据库

1998-2014年工企污染匹配数据库 1、时间区间为:1998-2014年 2、部分指标: 工业总产值(现价)(万元)、工业用水总量(吨)、煤炭消费总量(吨)、其中:新鲜水量(吨&#xff…

是谁实现了 Pod 的多副本管理?

目录一、前言二、案例分析三、案例总结一、前言 在 K8s 中 Pod 是由 Controller 来管理的,Controller 定义了 Pod 的部署 spec,如 Pod 的副本数、运行的 Node 等。不同的业务场景 Controller 是不同的。K8s 提供了多种 Controller,如常见的 …

POCV/SOCV 、LVF

1.POCV与OCV、AOCV 为了模拟片上PVT的差异带来的影响,最早提出了OCV(On Chip Variation)给每个cell都设置一个固定的derate值,来覆盖最悲观的情况,但是随着工艺发展,设计规模增大,OCV过度的悲观…

Docker之Nacos的持久化和集群部署

目录 一、外网单节点部署 1.docker mysql:5.7的持久化存储及远程连接 1.下拉镜像 2.在宿主机中相关目录,用于挂载容器的相关数据 3.创建mysql5.7容器 4.修改mysql允许Navicat远程连接 5.创建数据库nacos_config,并进行初始化 ​编辑 2. nacos-d…

DNS解析过程以及基本原理

目录 1.什么是 DNS 2.分布式、层次数据库 A.什么是分布式? B.什么是层次? D.什么是根 DNS 服务器 E.顶级域 DNS 服务器 F.权威 DNS 服务器 3.本地 DNS 服务器 4.递归查询、迭代查询 A.图解DNS解析过程 B.解析过程当中的递归解析和迭代解析 5…

STM8开发实例-IAR开发环境搭建

IAR开发环境搭建 IAR Embedded Workbench for STM8 是一个集成开发环境,具有高度优化的 C/C++ 编译器和全面的 C-SPY 调试器。 它为 STM8A、STM8L、STM8S、STM8T、STNRG 和 STLUX 系列中的器件提供全面支持。 1、IAR下载并安装 IAR Embedded Workbench For STM8官方下载地址…

3U 轨道交通车载工业级M12 PoE交换机,防护等级IP66

支持软硬件定制服务的轨道交通工业交换机 支持双电源冗余 支持Bypass 专门为轨道交通应用设计和制造的以太网数据通信设备 根据IEC61375-2-5和IEC61375-2-3协议实现的列车级骨干以太网核心设备 支持中国铁路 产品认证 XM-5145工业交换机是专为轨道交通、船载、车载等恶劣环…

非零基础自学Golang 第2章 安装和运行Go 2.1 GOROOT和GOPATH 2.2 在Windows 下安装Go

非零基础自学Golang 文章目录非零基础自学Golang第2章 安装和运行Go2.1 GOROOT和GOPATH2.2 在Windows 下安装Go第2章 安装和运行Go Go的安装主要分为两种方式:安装包安装和源代码安装: 安装包安装:即已编译好的可直接运行的程序&#xff0c…

145.如何评价个性化推荐系统的效果-2

145.1 E值 E值表示查准率P和查全率R的加权平均值,当其中一个为0时,E值为1,其计算公式: b越大,表示查准率的权重越大。 145.2 平均正确率(Average Precision) 平均正确率表示不同查全率的点…

【Effective Objective - C】—— 读书笔记(三)

【Effective Objective - C】—— 读书笔记(三) 文章目录【Effective Objective - C】—— 读书笔记(三)15.用前缀避免命名空间冲突要点:16.提供“全能初始化方法”要点17.实现description方法debugDescription&#x…

2023年Python、Golang、Java、C++如何选择?

前言 我们都有知道,开发后台语言可选择的方向会很多,比如,Java,go,Python,C/C,PHP,NodeJs…等很多,那么他们都有什么的样的优势?如果学习一门后端语言,又该如何选择呢? …

DolphinScheduler 快速构建 Hugging Face 文本分类工作流,基于工作流的机器学习训练部署太强了!...

点亮 ⭐️ Star 照亮开源之路https://github.com/apache/dolphinscheduler01.摘要Hugging Face transformers 是一个用于构建、训练和部署最先进的NLP 模型的开源项目。本文介绍如何基于DolphinScheduler和Hugging Face transformers来构建可复用的高效文本分类的工作流&#…

第36篇 网络(六)UDP

导语 这一节讲述UDP编程的知识。UDP(UserDatagram Protocol即用户数据报协议)是一个轻量级的,不可靠的,面向数据报的无连接协议。对于UDP我们不再进行过多介绍,如果你对UDP不是很了解,而且不知道它有什么用…