安全防御之防火墙篇(二)
目录
1.防火墙如何处理双通道协议?
2.防火墙如何处理NAT?
3.防火墙支持哪些NAT技术,主要应用的场景是什么?
4.当内网PC通过公网域名解析访问内网服务器的时候,会存在什么问题,如何解决?请详细说明
5.防火墙使用VRRP实现双机热备会遇到什么问题,如何解决?请详细说明
6.防火墙支持哪些接口模式,一般使用在哪些场景?
7.NAT实验
8.双机热备实验
1.防火墙如何处理双通道协议?
FTP协议原理图
FTP是一个典型的多通道协议,在主动模式客户端向服务端的TCP的21号端口发起三次握手,建立控制连接,客户端通过FTP PORT命令通知服务端自己的随机端口为P,由服务端向客户端的TCP PORT P 发起三次握手,建立传输连接其中服务端的源端口为20.
在被动模式下,客户端向服务端的TCP 的21端口发起三次握手,建立控制连接,客户端向服务端发送PASV命令,服务端通过Enter PASV命令告知客户端自己的随机端口为M,由客户端向服务端的TCP PORT M发起三次握手,建立传输连接。
安全策略存在的问题:对于类似于FTP这种双通道协议,由于其中端口的随机性,导致无法书写安全策略的参数,假如对于端口参数选择any,会使得颗粒度较大,以至于让防火墙失去效果。
ASPF(Application Specific Packet Filter,针对应用层的包过滤)也叫基于状态的报文过滤,ASPF功能可以自动检测某些报文的应用层信息(可以理解为在双方建立传输通道之前协商端口的报文)并根据应用层信息放开相应的访问规则,开启ASPF功能后,FW通过检测协商报文的应用层携带的地址和端口信息,自动生成相应的Server-map表,用于放行后续建立数据通道的报文,相当于自动创建了一条精细的“安全策略”。
<USG6000V1>dis firewall server-map //查看server-map表
2023-03-18 06:47:53.330
Current Total Server-map : 1
Type: ASPF, 10.1.1.3 -> 100.1.1.2:2054, Zone:---
Protocol: tcp(Appro: ftp-data), Left-Time:00:00:13
Vpn: public -> public
<USG6000V1>dis firewall session table //查看会话表
2023-03-18 06:47:57.650
Current Total Sessions : 14
ftp VPN: public --> public 10.1.1.3:2059 +-> 100.1.1.2:21
ftp VPN: public --> public 10.1.1.3:2065 +-> 100.1.1.2:21
ftp VPN: public --> public 10.1.1.3:2049 --> 100.1.1.2:21
ftp VPN: public --> public 10.1.1.3:2063 +-> 100.1.1.2:21
ftp-data VPN: public --> public 10.1.1.3:2066 --> 100.1.1.2:2054
2.防火墙如何处理NAT?
在路由器上NAT针对多通道协议也会像防火墙那样抓取控制进程中协商传输进程网络参数的报文,进而生成传输进程返回的NAT映射(在NAT中的主要参数是IP)。
困境
某些协议会在应用层携带通信ip,这个ip用于下一阶段通信。但是NAT的地址转换并不是转应用层IP而是转三层IP,这就导致某些协议的通信阶段在NAT场景下失败。
这也是导致交换机一般没有nat的主要原因。(由于NAT需要抓取控制进程的特殊报文来进行分析,从而计算出后续传输进程所需要的网络参数,并且在发送端和接受端以及NAT后的数据需要进行校验计算,会消耗大量的计算资源,对于设备的内存和CPU是一个很大的考验。由于交换机是通过硬件芯片工作的,本身计算资源有限,无法完成NAT的强大计算量,这也就是一般交换机没有NAT的主要原因)
防火墙nat类型的server-map
<USG6000V1>dis firewall server-map
2023-03-18 08:07:54.050
Current Total Server-map : 1
Type: Nat Server, ANY -> 100.1.1.111:80[10.1.2.2:80], Zone: untrust , protoc
ol:tcp
Vpn: public -> public
3.防火墙支持哪些NAT技术,主要应用的场景是什么?
源NAT
场景:主要应用在内网用户没有外网服务的路由时,在内网用户想要访问外网的某台服务器时,发送的数据包的源IP为自己的私网IP,目的IP为服务器的公网IP,在通过边界路由器或者防火墙时,需要将自己的私网IP转换成公有IP去访问。服务端回包时的源IP为自己的公有IP,目的IP为私网用户的公有IP。
server-nat
场景:私网服务器需要对外网用户提供服务时;在网络中无法访问一个私网的用户,当服务器处于私网内部时,外部人员无法访问;此时,就需要将内网服务器的IP和服务通过server-nat映射到私网边界的路由器或者防火墙的公网IP。让外网人员通过访问边界设备的公有IP来达到访问内网服务器的目的。
域间双向转换
场景:假设内网服务器只允许内网用户访问,但是由于某种特殊要求,现在需要外网用户对内网服务器也发起访问,就需要在访问的时候将源目IP都进行NAT。
域内双向转换
场景:假设内网有一台服务器,在内网用户想要去访问的时候,一般先去DNS服务器解析出服务器的IP地址,在服务映射的情况下,向外提供的是公网IP,所以在内网用户访问的时候也是使用公网IP访问,就需要在做域内双向转换。
双出口nat
场景:某个企业使用两条运营商的宽带;需要将属于某个运营商的网段进行nat然后与该运营商的下一跳进行关联,就不会出现nat转换错乱的问题。
4.当内网PC通过公网域名解析访问内网服务器的时候,会存在什么问题,如何解决?请详细说明
场景:私网内部有一台服务器提供服务(192.168.56.63),现私网内部人员(192.168.1.15)通过DNS解析出来的地址去访问私网服务器,由于DNS解析出的地址为公有IP(14.2.23.5);
转换前数据包格式:
源IP:192.168.1.15 目IP:14.2.23.5
如果只是在简单的server-nat下,只会转换目的IP
转换后数据包格式:
源IP:192.168.1.15 目IP:192.168.56.63
在服务端回包时,会按照转换后的数据包进行回包,但接收方(客户端)收到的报文格式与本端发送时不一致,就回丢弃该报文,导致双方通信失败。
解决方法:域间双向nat
转换前数据包格式:
源IP:192.168.1.15 目IP:14.2.23.5
转换后数据包格式:
源IP:14.2.23.6(公网池地址) 目IP:192.168.56.63
发包和收包报文格式一致,双方正常通讯。
5.防火墙使用VRRP实现双机热备会遇到什么问题,如何解决?请详细说明
出现的问题:假设上面的防火墙为PC1的主网关,下面为备网关。当PC的数据流来到上面的防火墙时,查询会话表,未果后查询策略表,若命中创建会话表,后续报文基于会话表转发。但是当主网关左侧线路断掉的话,因为VRRP的存在会将PC 的网关切换到下面的一台防火墙,但是由于下面一台防火墙没有会话表,又没有首包可以创建,故导致数据转发失败。由于数据包一般要求来回路径一致,回包此时发往上面的防火墙,也会导致数据转发失败。
解决办法:使用VGMP进行统一管理,防火墙两侧线路状态需要一致。
VGMP-------统一组管理协议,将VRRP组进行统一管理,在开启抢占的时候统一由VGMP进行管理,看是否需要切换。
在主备防火墙之间使用线路连接,俗称“心跳线”,负责主备网关之间的配置同步(包括会话表,安全策略,路由情况等)
6.防火墙支持哪些接口模式,一般使用在哪些场景?
- 路由模式 --- 以第三层对外连接(接口具有IP 地址)
- 交换模式 --- 通过第二层对外连接(接口无IP 地址)
- 旁路模式 --- 该接口一般用于接收镜像流量,向主机一样旁观在设备上。通过旁观设备的端口镜像技术收集流量给旁路接口,这个场景防火墙可以做IPS,审计,流量分析等任务。
- 接口对模式 --- 加快接口的转发效率(不需要查看MAC地址表)
7.NAT实验
1.源nat
抓包分析:

2.server-nat
测试:

3.域内双向nat

抓包分析:

4.域间双向nat
抓包分析:

8.双机热备实验
创建心跳接口----端口聚合
配置主防火墙
查看当前状态
备防火墙
查看备防火墙的同步配置

双机热备测试
关闭主防火墙的1/0/0口进行测试,在备防火墙的接口上抓包,观察有流量通过
相关文章:

安全防御之防火墙篇(二)
目录 1.防火墙如何处理双通道协议? 2.防火墙如何处理NAT? 3.防火墙支持哪些NAT技术,主要应用的场景是什么? 4.当内网PC通过公网域名解析访问内网服务器的时候,会存在什么问题,如何解决?请详细…...

设计必备,5个png免抠素材网站,建议收藏
做设计、PPT都需要用到大量的免抠素材,职场中熟练使用Photoshop的人毕竟是少数,也很少有人愿意花费时间去精细抠图。那这5个免抠素材网站一定要收藏好,可以有效帮你节省时间,提高工作效率。 1、菜鸟图库 https://www.sucai999.co…...
shell 脚本expect
expect 是什么 expect - programmed dialogue with interactive programs(与互动程序进行程序对话) 定义脚本执行的 shell #!/usr/bin/expect -f 定义的是执行 expect 可执行文件的链接路径(或真实路径),功能类似于bas…...

第十九天 Maven总结
目录 Maven 1. 前言 2. 概述 2.1 介绍 2.2 安装 3. IDEA集成Maven 3.1 集成Maven环境 3.2 创建Maven项目 3.3 Maven坐标详解 3.4 导入maven项目 4. 依赖管理 4.1 依赖配置 4.2 依赖传递 4.3 依赖范围 4.4 生命周期 4.5 插件 Maven 1. 前言 1). 什么是Maven? …...

ESP8266-NodeMCU开发板-------开发板介绍(1)
目录 认识ESP8266-NodeMCU开发板编辑 GPIO编号与NodeMCU开发板引脚名的区别: ESP8266 GPIO编号与NodeMCU开发板引脚名的对应关系 可用引脚 电压电流限制 特殊引脚情况说明 上拉电阻/下拉电阻 模拟输入 通讯 认识ESP8266-NodeMCU开发板 初识NodeMCU开发板 (第1章-第…...

【测试开发篇3】软件测试的常用概念
目录 一、软件测试的生命周期(5个步骤) ①需求分析(两个角度) 用户角度: 开发人员的角度: ②测试计划 ③测试设计、测试开发 ④执行测试 ⑤测试评估 二、软件测试贯穿项目的整个生命周期的体现 需求分析阶段 计划阶段 设计阶段 编码阶段 …...

javaEE初阶 — JavaScript WebAPI
文章目录什么是 DOMDOM 树获取元素1. querySelector2. querySelectorAll事件1. 事件三要素2. 代码案例获取 / 修改元素内容1. innerHTML获取 / 修改元素属性获取 / 修改表单元素属性获取 / 修改样式属性1. 修改内联样式(修改 style 属性的值)2. 修改元素…...

UE实现地面动态交互效果
文章目录 1.实现目标2.实现过程2.1 SphereMask2.2 材质实现2.3 位置更新3.参考资料1.实现目标 基于SphereMask材质节点实现人物在地面一定范围内的颜色高亮效果。 2.实现过程 实现原理是首先通过,SphereMask材质节点更具计算输出Mask值,其中在球体半径内的输入1,在外部的则…...

如何用自己的数据训练YOLOv5
如何训练YOLOv5 1. Clone the YOLOv5 repository and install dependencies: git clone https://github.com/ultralytics/yolov5.git cd yolov5 pip install -r requirements.txt2. 整理数据,使其适配YOLO训练 Step1:Organize your dataset in the fo…...

【基础算法】数组相关题目
系列综述: 💞目的:本系列是个人整理为了秋招算法的,整理期间苛求每个知识点,平衡理解简易度与深入程度。 🥰来源:材料主要源于代码随想录进行的,每个算法代码参考leetcode高赞回答和…...

MatBox—基于PyQt快速入门matplotlib的教程库
MatBox—基于PyQt快速入门matplotlib的教程库 __ __ _ _ _ _ _ _ _______ _ _ _ | \/ | | | | | | | | |(_)| | |__ __| | | (_) | || \ / | __ _ |…...
go channel使用
go语言中有一句名言: 不要通过共享内存来通信,而应该通过通信来共享内存。 channel实现了协程间的互相通信。 目录 一、channel声明 二、向channel发送数据 三、从channel读取数据 1. i, ok : <-c 2. for i : range c(常用)…...

5. QtDesignStudio中的3D场景
1. 说明: 三维渲染开发是Design Studio的重要功能,且操作方便,设计效率非常高,主要用到的控件是 View3D ,可以在3D窗口中用鼠标对模型直接进行旋转/移动/缩放等操作,也可以为模型设置各种动画,执行一系列的…...

人工智能的几个研究方向
人工智能主要研究内容是:分布式人工智能与多智能主体系统、人工思维模型、知识系统、知识发现与数据挖掘、遗传与演化计算、人工生命、人工智能应用等等。 其中热门研究有以下几种。 一、计算机视觉 就包括图像识别,视频识别,具体应用有人…...

软件测试 - 常见的开发模型和测试模型
1.瀑布模型优点强调开发的阶段性, 强调早期计划及需求调查, 强调产品测试;缺点1. 由于瀑布模型是一种线型结构的模型, 也就意味着前一个阶段结束, 后一个阶段才能开始, 这就导致了风险往往会迟至后期的测试阶段才显露, 因而失去了及早纠正的机会.2. 瀑布模型中测试被后置, 导致…...

从零开始的机械臂yolov5抓取gazebo仿真(四)
Moveit与Gazebo联合仿真 上一篇博客已经将moveit!配置完毕,然而想要让moveit!控制gazebo中的机械臂,还需要进行一些接口的配置。现在我们有的功能包为sunday_description、sunday_moveit_config这两个功能包。且已经配置好xacro文件,本篇内容…...

C++修炼之筑基期第一层——认识类与对象
文章目录🌷专栏导读🌷什么是面向对象?🌷类的引入🌷什么是类🌷类的定义方式🌷类的访问限定符与封装🌺访问限定符🌺封装🌷类的作用域🌷类的实例化&a…...

IT 运营监控工具
在技术复杂性日益增加、业务竞争激烈的挑战以及消费者对服务中断接受度降低的世界中,IT 运营效率已成为增长、利润和成功的关键。IT 宕机的影响在几十年前威胁较小,现在意味着价值数百万美元的损失,有时甚至会损失各种规模的组织的业务和声誉…...

java线程之Thread类的基本用法
Thread类的基本用法1. Thread类的构造方法2. Thread的几个常见属性常见属性线程中断等待一个线程小鱼在上一篇博客详细的讲解了如何创建线程,java使用Thread类来创建多线程,但是对于好多没有相关经验的人来说,比较不容易理解的地方在于操作系统调度的执行过程. 我们通过下面代码…...

【js】多分支语句练习(2)
个人名片: 😊作者简介:一名大一在校生,web前端开发专业 🤡 个人主页:python学不会123 🐼座右铭:懒惰受到的惩罚不仅仅是自己的失败,还有别人的成功。 🎅**学习…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
leetcodeSQL解题:3564. 季节性销售分析
leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...

SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题
分区配置 (ptab.json) img 属性介绍: img 属性指定分区存放的 image 名称,指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件,则以 proj_name:binary_name 格式指定文件名, proj_name 为工程 名&…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...