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

网络安全-安全策略初认识

文章目录

  • 前言
  • 理论介绍
    • 1. 安全策略
      • 1.1 定义:
      • 1.2 关键术语:
    • 2. 防火墙状态监测
  • 实战
    • 步骤1:实验环境搭建
    • 步骤2:配置实现
  • 总结
    • 1. 默认安全策略
    • 2. 自定义安全策略
    • 3. 防火墙状态会话表

前言

who:本文主要写给入门防火墙的技术爱好者。

what:本文介绍安全策略的基本概念和关键术语、防火墙状态监测、实战、总结等。

when:文档创建时间-2024年8月21日

where:作者-Evelynne Alpha 版本-v1

why:期望读者从文档中获得理论知识,并体验实验。




理论介绍

1. 安全策略

1.1 定义:

防火墙安全策略是在防火墙中定义的一组规则,用于控制进出网络的数据包流动。这些策略基于各种条件来决定数据包是否被允许通过防火墙,从而达到保护网络免受未授权访问和潜在威胁的目的。

img



1.2 关键术语:

1.规则匹配条件:安全策略包含一系列匹配条件,例如源安全区域和目的安全区域、源和目标IP地址、端口号、协议类型、应用类型、用户身份和时间范围。数据包必须满足所有指定的条件才能与策略匹配。


2.策略动作:一旦数据包与某条安全策略匹配,防火墙将执行该策略定义的动作,通常是允许(permit)或拒绝(deny)。允许意味着数据包将被转发,而拒绝则意味着数据包会被丢弃。


3.安全配置文件:网络安全设备或软件中用于定义和实施特定安全策略的设置集合。这些配置文件可以帮助组织控制网络流量、保护数据、防止恶意软件传播以及遵守法规要求。

在这里插入图片描述





2. 防火墙状态监测

防火墙会话表(Session Table)是网络防火墙用来跟踪和控制通过网络接口的数据流的机制。每个通过防火墙的连接或会话都会被记录在会话表中,这有助于防火墙执行其安全策略。

防火墙的基础知识(会话表)-CSDN博客






实战

步骤1:实验环境搭建

实验环境:华为eNSP网络模拟器

  1. 添加设备,搭建拓扑

    • 添加一台防火墙、两台交换机、一台Client1、一台Server1。

    • Client1连接 Trust 区域,Server1连接 Untrust 区域。

      在这里插入图片描述

  2. 实验目的

    • 理解防火墙默认安全策略。

    • 理解防火墙安全策略的流量管控。

    • 理解防火墙监测状态会话表。

步骤2:配置实现

  1. PC配置

    • PC1配置IP地址:192.168.1.1/24
    • 设置默认网关为防火墙相应的接口地址。
  2. 交换机配置

    • 禁用生成树协议STP。
    stp disable
    
  3. 防火墙配置

    • 登录防火墙设备。默认用户名admin,默认密码Admin@123
    • 配置接口IP地址:
    system-view
    sysname FW2
    interface GigabitEthernet 1/0/1
    ip address 192.168.1.254 24
    quitinterface GigabitEthernet 1/0/2
    ip address 192.168.2.254 24
    quit
    
    • 配置安全区域。
    firewall zone trust
    add interface GigabitEthernet1/0/1
    quitfirewall zone untrust
    add interface GigabitEthernet1/0/2
    quit
    
    • 配置安全策略
    interface GigabitEthernet1/0/1
    service-manage all permit
    quitinterface GigabitEthernet1/0/2
    service-manage ping permit
    quit
    
    security-policy
    rule name t_2_unt
    source-zone trust
    destination-zone untrust
    source-address 192.168.1.0 24
    destination-address 192.168.2.0 24
    action permit
    quit
    

    4.Server1配置

    • Server配置IP地址:192.168.2.1/24
    • 设置默认网关为防火墙相应的接口地址。
    • 开启http服务。

    5.网络测试

    • Client1客户端 访问Server1服务器的http服务。
    • 查看FW2防火墙的会话状态表。
    • 用Wireshark抓包。





总结

1. 默认安全策略

华为防火墙默认安全策略是拒绝所有流量。

display security-policy rule all

在这里插入图片描述

但是,可以修改。这个可以用于业务没上线之前,没做安全策略之前,测试网络互通。 通俗的说,这个时候防火墙相当于路由器的功能了。

security-policy
default action permit

在这里插入图片描述

2. 自定义安全策略

在FW2防火墙上做如下配置

security-policy
rule name t_2_unt
source-zone trust
destination-zone untrust
source-address 192.168.1.0 24
destination-address 192.168.2.0 24
action permit
quit

在这里插入图片描述

3. 防火墙状态会话表

Server1服务器不能主动访问Client1客户端。在这里插入图片描述

client1客户端访问Server1服务器的http服务,然后立马回到FW2防火墙上查看状态会话表。

display firewall session table 

在这里插入图片描述

抓包结果:
在这里插入图片描述

SYN, ACK, FIN: 这些是TCP控制位,表示不同的TCP连接状态:

  • SYN: 同步序列编号,用于建立连接。
  • ACK: 确认应答,表示接收到的数据包已被确认。
  • FIN: 结束连接,用于关闭连接。

Client1->Server1: 创建会话表

在这里插入图片描述

Server1->Client1: 命中会话表

在这里插入图片描述

注意:防火墙会话表中的条目会在一定时间内自动过期。目的是为了控制流量,有效地管理和保护网络通信。

在本文中做的安全策略配置可以使untrust安全区域主动访问trust安全区域不会建立会话表,但当trust安全区域主动访问untrust安全区域的时候,才会建立会话表。

相关文章:

网络安全-安全策略初认识

文章目录 前言理论介绍1. 安全策略1.1 定义:1.2 关键术语: 2. 防火墙状态监测 实战步骤1:实验环境搭建步骤2:配置实现 总结1. 默认安全策略2. 自定义安全策略3. 防火墙状态会话表 前言 who:本文主要写给入门防火墙的技…...

python import相对导入与绝对导入

文章目录 相对导入与绝对导入绝对导入相对导入何时使用相对导入何时使用绝对导入示例 相对导入与绝对导入 在Python中,from .file_manager import SomeFunction 和 from file_manager import SomeFunction 两种导入方式看似相似,但在模块寻找机制上存在…...

深入理解 Go 语言原子内存操作

原子内存操作提供了实现其他同步原语所需的低级基础。一般来说,你可以用互斥体和通道替换并发算法的所有原子操作。然而,它们是有趣且有时令人困惑的结构,应该深入了解它们是如何工作的。如果你能够谨慎地使用它们,那么它们完全可以成为代码优化的好工具,而不会增加复杂性…...

PostgreSQL几个扩展可以帮助实现数据的分词和快速查询

在 PostgreSQL 数据库中,有几个扩展可以帮助实现数据的分词和快速查询,特别是在处理全文搜索和文本分析时。以下是几个常用的扩展: 1. pg_trgm pg_trgm(Trigram)扩展是 PostgreSQL 中的一个强大的工具,它可以通过计算字符串之间的相似度来实现快速文本搜索。它支持基于…...

C盘满了怎么办?教你清理C盘的20个大招,值得收藏备用

C盘满了怎么办?教你清理C盘的20个大招,值得收藏备用 今天给大家介绍20种C盘清理的方法,下次遇到C盘满了红了就知道怎么做了,喜欢请点赞收藏关注点评。 清理更新缓存 清理微信缓存 查找大文件清理或者迁移 磁盘缓存清理 系统还…...

原生js实现下滑到当前模块进度条填充

<div style"height: 1500px;"></div> <div class"progress-container"><div class"progress-bar" data-progress"90%"><p class"progress-text">Google Ads在Google搜索引擎上覆盖超过90%的互…...

显示弹出式窗口的方法

文章目录 1. 概念介绍2. 使用方法3. 示例代码 我们在上一章回中介绍了Sliver综合示例相关的内容&#xff0c;本章回中将介绍PopupMenuButton组件.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 我们在本章回中介绍的PopupMenuButton组件位于AppBar右侧&#xf…...

Java-什么是缓存线程池?

什么是缓存线程池? 缓存线程池 (CachedThreadPool) 是一种特殊的线程池,它能够动态地调整线程的数量,以适应任 务的需求。这种线程池非常适合处理大量短暂的任务,因为它会根据任务的数量自动增加或减少线 程的数量。 缓存线程池的特点: 线程数量动态调整:缓存线程池…...

esbuild中的Binary Loader:处理二进制文件

在前端或Node.js项目中&#xff0c;有时需要处理二进制文件&#xff0c;如图片、音频、视频或其他非文本资源。esbuild提供了一款名为Binary Loader的插件&#xff0c;它能够在构建时将二进制文件加载为二进制缓冲区&#xff0c;并使用Base64编码将其嵌入到打包文件中。在运行时…...

深度好文:从《黑神话:悟空》看未来游戏趋势:高互动性、个性化与全球化

引言 在数字时代的浪潮中&#xff0c;游戏产业以其独特的魅力和无限的可能性&#xff0c;成为了全球娱乐文化的重要组成部分。随着科技的飞速发展&#xff0c;特别是高性能计算和人工智能技术的突破&#xff0c;游戏的世界变得越来越真实、细腻且富有深度。而在这股技术洪流中…...

【中项第三版】系统集成项目管理工程师 | 第 12 章 执行过程组

前言 本章属于10大管理的内容&#xff0c;上午题预计会考8-10分&#xff0c;下午案例分析也会进行考查。学习要以教材为主。 目录 12.1 指导与管理项目工作 12.1.1 主要输入 12.1.2 主要输出 12.2 管理项目知识 12.2.1 主要输入 12.2.2 主要输出 12.3 管理质量 12.3.…...

C语言自动生成宏定义枚举类型和字符串

#include <stdio.h>// 定义错误枚举 #define ERROR_LIST(e) \e(SUCCESS) \e(FAILURE) \e(NOT_FOUND) \e(TIMEOUT)// 使用宏生成枚举 #define GENERATE_ENUM(ENUM) ENUM, typedef enum {ERROR_LIST(GENERATE_ENUM) } ErrorCode;// 使用宏生成字符串数组…...

C#单例模式

&#xfeff;using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace _3._3._6_单例模式 {public class Singleton{private static Singleton s_instance;private int _state;private Singleton(int …...

10-使用sentinel流控

本文介绍sentinel的直接流控的使用。 0、环境 jdk 1.8sentinel 1.8.2springboot 2.4.2 1、sentinel环境搭建 从官方发布的网站上下载: sentinel Jar&#xff0c;下载对应版本。 下载完成后&#xff0c;进入刚才下载的Jar文件所在的目录&#xff0c;执行如下命令&#xff1a…...

redis AOF机制

在redis运行期间&#xff0c;不断将redis执行的写命令写到文件中&#xff0c;redis重启之后&#xff0c;只要将这些命令重复执行一遍就可以恢复数据。因为AOF只是将少量的写命令写入AOF文件中&#xff0c;因此其执行效率高于RDB&#xff0c;开启AOF即使Redis发生故障&#xff0…...

Day 21代码|随想录| 二叉树完结撒花,今日刷题669.修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.吧二叉搜索树转换为累加树

提示&#xff1a;DDU&#xff0c;供自己复习使用。欢迎大家前来讨论~ 文章目录 二叉树 Part06二、题目题目一&#xff1a;669.修剪二叉搜索树解题思路&#xff1a;递归法迭代法&#xff1a; 题目二&#xff1a; 108.将有序数组转换为二叉搜索树解题思路递归法&#xff1a;迭代…...

cmake教程一

1. Start 1.1 构建简单工程 cmake_minimum_required(VERSION 3.0) project(Step1) add_executable(Step1 main.cpp)设置cmake最低版本要求设置工程名字设置工程生成可执行程序 2. 声明 C Standard set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED True)如果我…...

3D场景标注标签信息,three.js CSS 2D渲染器CSS2DRenderer、CSS 3D渲染器CSS3DRenderer(结合react)

如果你想用HTML元素作为标签标注三维场景中模型信息&#xff0c;需要考虑定位的问题。比如一个模型&#xff0c;在代码中你可以知道它的局部坐标或世界坐标xyz&#xff0c;但是你并不知道渲染后在canvas画布上位置&#xff0c;距离web页面顶部top和左侧的像素px值。自己写代码把…...

C++参悟-单例模式

单例模式 一、概述1. 特点2. 实现方式3. 应用场景 二、实现代码1. 静态局部变量的懒汉单例2. 加锁的懒汉式单例3. 使用 C11 中的 std::call_one 的懒汉单例4. 饿汉式单例 一、概述 这里记录一下单例模式的最常用使用&#xff0c;单例模式&#xff08;Single Pattern&#xff0…...

【题解】—— LeetCode一周小结32

&#x1f31f;欢迎来到 我的博客 —— 探索技术的无限可能&#xff01; &#x1f31f;博客的简介&#xff08;文章目录&#xff09; 【题解】—— 每日一道题目栏 上接&#xff1a;【题解】—— LeetCode一周小结31 5.不含连续1的非负整数 题目链接&#xff1a;600. 不含连续…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂

蛋白质结合剂&#xff08;如抗体、抑制肽&#xff09;在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上&#xff0c;高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术&#xff0c;但这类方法普遍面临资源消耗巨大、研发周期冗长…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程&#xff0c;并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令&#xff0c;把数据流转换成Message&#xff0c;状态转变流程是&#xff1a;State::Created 》 St…...

数据链路层的主要功能是什么

数据链路层&#xff08;OSI模型第2层&#xff09;的核心功能是在相邻网络节点&#xff08;如交换机、主机&#xff09;间提供可靠的数据帧传输服务&#xff0c;主要职责包括&#xff1a; &#x1f511; 核心功能详解&#xff1a; 帧封装与解封装 封装&#xff1a; 将网络层下发…...

【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件&#xff08;System Property Definition File&#xff09;&#xff0c;用于声明和管理 Bluetooth 模块相…...

基于Docker Compose部署Java微服务项目

一. 创建根项目 根项目&#xff08;父项目&#xff09;主要用于依赖管理 一些需要注意的点&#xff1a; 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件&#xff0c;否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

06 Deep learning神经网络编程基础 激活函数 --吴恩达

深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

【笔记】WSL 中 Rust 安装与测试完整记录

#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统&#xff1a;Ubuntu 24.04 LTS (WSL2)架构&#xff1a;x86_64 (GNU/Linux)Rust 版本&#xff1a;rustc 1.87.0 (2025-05-09)Cargo 版本&#xff1a;cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...

【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error

在前端开发中&#xff0c;JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作&#xff08;如 Promise、async/await 等&#xff09;&#xff0c;开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝&#xff08;r…...

Oracle11g安装包

Oracle 11g安装包 适用于windows系统&#xff0c;64位 下载路径 oracle 11g 安装包...