状态检测防火墙报文处理发流程


华为大同:全系列状态检测防火墙报文处理流程

         华为防火墙在处理报文时,其核心在于其状态检测与会话机制:当防火墙接收到报文后,它会在特定时间和条件下创建会话,并对那些与会话表匹配的报文进行特定的转发处理。基于这一关键点,可以将报文通过防火墙的处理过程划分为三个阶段:查询会话表之前、查询会话表过程中、以及查询会话表之后。

在整个报文转发的流程中,不通类型的报文会根据配置走入不同分支,被不同的特性处理。所以并非所有报文都会经过上述所有模块的处理。总体分为三个阶段

  • 接收报文,对报文进行基本处理
  • 查询会话表,对首包和后续包做不同处理
  • 对报文进行安全检测,发送报文

第一阶段:接收报文,对报文进行基本处理

这一阶段解析出报文的帧头部和IP头部,并根据报文头部中的信息进行一些基础的安全监测。

第二阶段:查询会话表,对首包和后续包做不同处理

这是防火墙的核心处理环节,主要包括会话建立、会话刷新等过程。防火墙根据报文是否存在匹配的会话表项,有两种处理方式,首包处理流程和后续包处理流程。

报文到此阶段,防火墙最先判断该报文是否需要创建会话。

  1. 对于OSPF、IGMP组播报文等一些协议报文是不创建会话的,这些报文会直接查路由和安全策略。
  2. 对于TCP首包、UDP等报文都需要创建会话,判断该报文需要创建会话后,在会话表中查询是否已存在该报文的会话。
    • 对于会话表中不存在匹配任意一表项的报文被认定为一条流量的首包,进入首包处理流程。
    • 对于会话表中存在匹配的表项的报文被认为是某一流量的后续包,进入后续包处理流程。

首包处理流程要点

此时,初始报文被认定是一条流量的首包,进入首包处理流程。

  1. 首先该报文与黑名单进行匹配,若报文命中黑名单源目地址或用户,则丢弃报文,不在处理后续流程。
  2. 查询正反向Server-map,若命中Server-map表项,则先记录Server-map表项记录。
    1. Server-map

      Server-map表项是一种用来记录多通道协议报文的数据连接状态或者NAT场景下的地址转换关系的表项。

      Server-map是用于服务器映射、负载均衡和多通道协议转发的重要表项,如果首包命中Server-map表,FW根据Server-map对报文进行转发或地址转换。Server-map分为静态Server-map动态Server-map

    2. 服务器映射、负载均衡、NAT64生成的静态表项FW根据Server-map中的地址映射关系在首包创建的会话中记录修改后的目的IP和端口信息。
    3. ASPF、NAT No-PAT、NAT Full-cone、DS-Lite服务器映射等生成的动态表项FW根据Server-map的信息转发报文并生成会话,而且不对此报文进行安全策略检查。
  3. 查询路由表:根据Server-map表的记录结果查询命中那条路由,优先查询策略路由。若未命中策略路由则查询正向路由表,决定报文的下一跳和出接口。
    1. 此时报文源目地址并未进行转换,所以要根据server-map记录地址转换后的报文查询,确保经过防火墙的报文正常转发。
  4. 匹配安全策略,根据策略是否进入下一报文处理流程
  5. 源NAT策略匹配,只是做源地址的转换映射的匹配,不做具体的转换,记录NAT转换后的源IP地址和端口信息
  6. 检查连接会话数限制
  7. 创建会话条目:根据以上处理记录结果,创建会话。

后续包处理流程

判断会话是否需要刷新。当涉及到某一会话的各表项和策略(路由表、安全策略变化时)会话需要刷新,刷新会话继续查询路由、查询安全策略,若不需要直接进行后续阶段处理。

  1. 路由发生变化
  2. 安全策略发生变化
  3. 用户状态变化(上下线)
  4. 认证策略发生变化

第三阶段:对报文进行安全检测,发送报文

首包处理流程,创建会话后与后续包的处理流程一致

  1. 带宽策略:根据带宽策略,FW会判断一下当前流量的带宽占用情况,以判断是否需要丢弃这个报文以降低流量速率
  2. 安全策略里面的内容安全(UTM)
    1. 反病毒 IPS URL过滤 文件过滤 内容过滤 应用过滤 邮件过滤
  3. 报文地址转换:根据会话表中的地址转换信息修改报文中的源地址或目的地址。
    1. 报文在前面流程中是否命中了Server-map表,尤其是反向Server-map表,若已经命中,那么报文会根据反向Servermap表进行源地址转换,不会再往后匹配源NAT策略了
  4. VPN:根据VPN配置,FW会判断该报文是否需要进入VPN隧道,进入哪条隧道,并且对需要通过VPN传输的报文进行必要的加密,封装等操作。
  5. 出接口的阈值:根据出接口配置的带宽阈值限制,FW会再次控制流量的速率

会话原理与细节

硬件快转流程

通常情况下,防火墙接收到报文后,上送CPU处理,CPU处理完后送往指定出接口,为减轻CPU负担,同时提高业务处理性能,防火墙支持对某些业务进行快速转发,对于符合快转条件的后续报文,通过加速硬件进行快速转发,不上送CPU处理

  • 防火墙收到报文后,首先判断是否匹配到相应的快转流表,快转流表可以看做是会话表的精简副本,作为报文的快速转发依据。
  • 如果报文匹配到快转流表,则根据流表信息快速转发报文,不需要上送CPU,如果未匹配到快转流表,则需要上送到CPU进行常规的首包/后续包处理流程
  • CPU上判断是否符合快速过滤条件,如果符合快速过滤条件,则根据会话表向加速硬件下发相应的流表,并对报文进行常规的处理和转发,如果不符合快速过滤条件则对报文进行常规的处理和转发。

会话:

一般将五元组一样的报文称之为一条流,有时候也称之为会话

首包:

第一个到达设备的报文称之为首包,首包负责:
  1. 以报文五元组为KEY新建立一条流表。
  2. 根据查找路由结果、做各种业务汇总业务结果和动作
  3. 结果和动作保存到流表DATA中,譬如下一跳IP、出接口、NAT转换结果、是否阻断;
  4. 首包转发出去或者丢弃。

后续包:

后续到达设备的报文称之为后续包,后续包负责:

1、以报文五元组为KEY命中流表

2、 直接根据流表DATA中的业务结果执行动作。譬如NAT转换、阻断丢弃或者发送出去

会话刷新机制

  • 当首包创建会话后,后续报文命中会话直接转发。当设备的配置等发生变化的时候,后续 报文命中会话之后,也需要重新走首包流程,对会话表进行刷新。
  • 为什么要刷新会话
    • 很好理解,如果没有会话刷新,你新配置的安全策略、nat策略等,岂不是没有办法实时 生效?一定要等会话老化之后,才能生效,这是不可以接受的,我们一般都需要立即生效。
  • 触发会话刷新的变化
    • 安全策略、NAT策略等配置变化;用户上下线;路由信息变化等等。
    • 防火墙判断需要进行会话刷新时,设备上所有的会话都会进行刷新。如果刷新发现安全 策略已经不允许该报文转发,防火墙会将该会话删除。

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

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

相关文章

深入探讨SEO分析技巧助力网站流量提升

内容概要 在当前的数字化时代,SEO分析的重要性不言而喻。它是提升网站流量的关键工具,帮助站长有效地优化网站内容和结构。通过系统的SEO分析,站长可以掌握用户搜索行为和需求,从而制定出更具针对性的内容策略。例如,…

【天线&通讯】电力设施检测系统源码&数据集全套:改进yolo11-RFCAConv

改进yolo11-DAttention等200全套创新点大全:电力设施检测系统源码&数据集全套 1.图片效果展示 项目来源 人工智能促进会 2024.11.01 注意:由于项目一直在更新迭代,上面“1.图片效果展示”和“2.视频效果展示”展示的系统图片或者…

18.农产品销售系统(基于springboot和vue的Java项目)

目录 1.系统的受众说明 2.开发环境与技术 2.1 Java语言 2.2 MYSQL数据库 2.3 IDEA开发工具 2.4 Spring Boot框架 3.系统分析 3.1 可行性分析 3.1.1 技术可行性 3.1.2 经济可行性 3.1.3 操作可行性 3.2 系统流程 3.2.1 操作流程 3.2.2 登录流程 3.2.3 删除信…

uni-app发起请求以及请求封装,上传及下载功能(六)

文章目录 一、发起网络请求1.使用及封装2. https 请求配置自签名证书3.拦截器 二、上传下载1.上传 uni.uploadFile(OBJECT)2. 下载 uni.downloadFile(OBJECT) 一、发起网络请求 uni-app中内置的uni.request()已经很强大了,简单且好用。为了让其更好用,同…

地理信息科学专业想搞GIS开发:学前端还是后端?

地理信息科学专业的同学是学前端开发比较好呢还是学后端开发比较好呢? 部分网友:学前端更好 主修前端更好,因为地信学后端,是卷不赢学计算机的 本科卷前端,硕士阶段可以卷后端 甚至有网友直呼,地信根本没有…

美格智能5G车规级通信模组:以连接+算力驱动智能化进阶

2023年3月,基于高通公司第二代骁龙汽车5G调制解调器及射频系统平台SA522M/SA525M,美格智能在德国纽伦堡嵌入式系统展上正式发布全新一代5G车规级C-V2X通信模组MA922系列,迅速引起行业和市场关注。随着5G高速网联逐步成为智能汽车标配&#xf…

真题与解析 202203三级 青少年软件编程(Python)考级

青少年软件编程(Python)等级考试试卷(三级) 202203真题与解析 分数:100 题数:37 测试时长:60分钟

win11不好用怎么退回win10_win11退回win10多种方法

最近有网友问我win11不好用怎么退回win10?win11感觉不好用,很多用户这时候想退回win10系统。电脑安装Win11系统觉得操作起来不太习惯,想要重新回到上一个系统,有什么办法实现?其实,微软也在Win11中准备了回退功能,让用…

「Mac畅玩鸿蒙与硬件19」鸿蒙UI组件篇9 - 自定义动画实现

自定义动画让开发者可以设计更加个性化和复杂的动画效果,适合表现独特的界面元素。鸿蒙提供了丰富的工具,支持通过自定义路径和时间控制来创建复杂的动画运动。本篇将带你学习如何通过自定义动画实现更多样化的效果。 关键词 自定义动画动画路径贝塞尔曲线动画控制一、Animat…

Linux 实时调度案例:系统启动时被限制带宽的实时进程

文章目录 1. 前言2. 今天的德芙,不那么丝滑3. 后记 1. 前言 限于作者能力水平,本文可能存在谬误,因此而给读者带来的损失,作者不做任何承诺。 2. 今天的德芙,不那么丝滑 最近的工作不是很丝滑,本以为三两…

【分立元件】贴片电阻过电压故障机理

在文章:【分立元件】贴片电阻器的故障现象和原理 中我们讲到电阻故障现象类型。其中包括了由电气过载导致的电阻体烧损。 在文章:

ubuntu-开机黑屏问题快速解决方法

开机黑屏一般是由于显卡驱动出现问题导致。 快速解决方法: 通过ubuntu高级选项->recovery模式->resume->按esc即可进入recovery模式,进去后重装显卡驱动,重启即可解决。附加问题:ubuntu的默认显示管理器是gdm3,如果重…

Java已死,大模型才是未来?

作者:不惑_ 引言 在数字技术的浪潮中,编程语言始终扮演着至关重要的角色。Java,自1995年诞生以来,便以其跨平台的特性和丰富的生态系统,成为了全球范围内开发者们最为青睐的编程语言之一 然而,随着技术的…

24小时跑2W+销售额,本地生活+数字人直播模式真好用!

本地生活AI数字人直播的模式已经火热了一段时间了,但依旧有商家还不清楚这个模式到底好不好用?这里我就给大家稍微讲解下这种模式驱动下,对于商家来说究竟会有哪些好处。 先给大家看看已经跑了20多小时的两个数字人直播间,可以看到…

基于LLaMA Factory对LLama 3指令微调的操作学习笔记

一、环境 在vscode中用连接云服务器,打开文件目录。 df -h #查看盘容量 二、下载LLaMA Factory框架和数据 下载LLaMA Factory到云服务器 git clone https://github.com/hiyouga/LLaMA-Factory.git cd LLaMA-Factory pip install -e . pip install -e .命令的含…

钢琴曲相关

黑键大调问题 等音调,等音的调式化 通常用bE大调来形容,毕竟只有四个# #D大调不常用,但不是不会用 重点是是要交流的,而交流是需要简洁的 ,于是乎,一组七音,的12个键,每个里面都会…

【Python】解密Python中的魔法方法:使用 __str__、__repr__、__call__等方法提升类的功能与灵活性

解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 Python 中的魔法方法是一种强大的特性,它们允许开发者为类添加特殊行为,从而使类能够模拟内置对象或实现自定义行为。本文将深入探讨Python中常用的魔法方法,如 __str__、__repr__、__call__ 等,通过丰富的代…

面试高频问题:C/C++编译时内存五个分区

在面试时,C/C++编译时内存五个分区是经常问到的问题,面试官通过这个问题来考察面试者对底层的理解。在平时开发时,懂编译时内存分区,也有助于自己更好管理内存。 目录 内存分区的定义 内存分区的重要性 代码区 数据区 BSS区 堆区 栈区 静态内存分配 动态内存分配…

Nginx转发MySQL端口及添加stream模块

1.在nginx.conf的http同级添加stream配置 stream { upstream mysql_server{ server 192.168.23.25:3306; } server { listen 8560; proxy_pass mysql_server; } } http { .... } 启动nginx后发现报错…

启用 iPhone 原生的五笔输入

聊聊如何在 iOS 中使用原生的五笔输入法 本文虽然介绍的是如何添加五笔键盘,其实其他键盘(双拼,外语键盘、第三方输入法)也是类似的添加方式。 ‍ 使用原生的理由 虽然之前的文章列了不少第三方的五笔输入法,但其实…