当前位置: 首页 > 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. 不含连续…...

7.4.分块查找

一.分块查找的算法思想&#xff1a; 1.实例&#xff1a; 以上述图片的顺序表为例&#xff0c; 该顺序表的数据元素从整体来看是乱序的&#xff0c;但如果把这些数据元素分成一块一块的小区间&#xff0c; 第一个区间[0,1]索引上的数据元素都是小于等于10的&#xff0c; 第二…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库&#xff0c;特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试

作者&#xff1a;Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位&#xff1a;中南大学地球科学与信息物理学院论文标题&#xff1a;BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接&#xff1a;https://arxiv.…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet&#xff0c;点击确认后如下提示 最终上报fail 解决方法 内核升级导致&#xff0c;需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径&#xff0c; 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解&#xff0c;但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后&#xff0c;通常在该文件中会出现以下配置&…...

CentOS下的分布式内存计算Spark环境部署

一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架&#xff0c;相比 MapReduce 具有以下核心优势&#xff1a; 内存计算&#xff1a;数据可常驻内存&#xff0c;迭代计算性能提升 10-100 倍&#xff08;文档段落&#xff1a;3-79…...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量&#xff0c;这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码&#xff1a;‘allure’ &#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;ڲ&#xfffd;&#xfffd;&#xfffd;&#xfffd;ⲿ&#xfffd;&#xfffd;&#xfffd;Ҳ&#xfffd;&#xfffd;&#xfffd;ǿ&#xfffd;&am…...

MinIO Docker 部署:仅开放一个端口

MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...