网络安全-安全策略初认识
文章目录
- 前言
- 理论介绍
- 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 定义:
防火墙安全策略是在防火墙中定义的一组规则,用于控制进出网络的数据包流动。这些策略基于各种条件来决定数据包是否被允许通过防火墙,从而达到保护网络免受未授权访问和潜在威胁的目的。

1.2 关键术语:
1.规则匹配条件:安全策略包含一系列匹配条件,例如源安全区域和目的安全区域、源和目标IP地址、端口号、协议类型、应用类型、用户身份和时间范围。数据包必须满足所有指定的条件才能与策略匹配。
2.策略动作:一旦数据包与某条安全策略匹配,防火墙将执行该策略定义的动作,通常是允许(permit)或拒绝(deny)。允许意味着数据包将被转发,而拒绝则意味着数据包会被丢弃。
3.安全配置文件:网络安全设备或软件中用于定义和实施特定安全策略的设置集合。这些配置文件可以帮助组织控制网络流量、保护数据、防止恶意软件传播以及遵守法规要求。

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

实战
步骤1:实验环境搭建
实验环境:华为eNSP网络模拟器
-
添加设备,搭建拓扑:
-
添加一台防火墙、两台交换机、一台Client1、一台Server1。
-
Client1连接 Trust 区域,Server1连接 Untrust 区域。

-
-
实验目的:
-
理解防火墙默认安全策略。
-
理解防火墙安全策略的流量管控。
-
理解防火墙监测状态会话表。
-
步骤2:配置实现
-
PC配置:
- PC1配置IP地址:192.168.1.1/24
- 设置默认网关为防火墙相应的接口地址。
-
交换机配置:
- 禁用生成树协议STP。
stp disable -
防火墙配置:
- 登录防火墙设备。默认用户名
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 quitsecurity-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 quit4.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综合示例相关的内容,本章回中将介绍PopupMenuButton组件.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在本章回中介绍的PopupMenuButton组件位于AppBar右侧…...
Java-什么是缓存线程池?
什么是缓存线程池? 缓存线程池 (CachedThreadPool) 是一种特殊的线程池,它能够动态地调整线程的数量,以适应任 务的需求。这种线程池非常适合处理大量短暂的任务,因为它会根据任务的数量自动增加或减少线 程的数量。 缓存线程池的特点: 线程数量动态调整:缓存线程池…...
esbuild中的Binary Loader:处理二进制文件
在前端或Node.js项目中,有时需要处理二进制文件,如图片、音频、视频或其他非文本资源。esbuild提供了一款名为Binary Loader的插件,它能够在构建时将二进制文件加载为二进制缓冲区,并使用Base64编码将其嵌入到打包文件中。在运行时…...
深度好文:从《黑神话:悟空》看未来游戏趋势:高互动性、个性化与全球化
引言 在数字时代的浪潮中,游戏产业以其独特的魅力和无限的可能性,成为了全球娱乐文化的重要组成部分。随着科技的飞速发展,特别是高性能计算和人工智能技术的突破,游戏的世界变得越来越真实、细腻且富有深度。而在这股技术洪流中…...
【中项第三版】系统集成项目管理工程师 | 第 12 章 执行过程组
前言 本章属于10大管理的内容,上午题预计会考8-10分,下午案例分析也会进行考查。学习要以教材为主。 目录 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#单例模式
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,下载对应版本。 下载完成后,进入刚才下载的Jar文件所在的目录,执行如下命令:…...
redis AOF机制
在redis运行期间,不断将redis执行的写命令写到文件中,redis重启之后,只要将这些命令重复执行一遍就可以恢复数据。因为AOF只是将少量的写命令写入AOF文件中,因此其执行效率高于RDB,开启AOF即使Redis发生故障࿰…...
Day 21代码|随想录| 二叉树完结撒花,今日刷题669.修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.吧二叉搜索树转换为累加树
提示:DDU,供自己复习使用。欢迎大家前来讨论~ 文章目录 二叉树 Part06二、题目题目一:669.修剪二叉搜索树解题思路:递归法迭代法: 题目二: 108.将有序数组转换为二叉搜索树解题思路递归法:迭代…...
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元素作为标签标注三维场景中模型信息,需要考虑定位的问题。比如一个模型,在代码中你可以知道它的局部坐标或世界坐标xyz,但是你并不知道渲染后在canvas画布上位置,距离web页面顶部top和左侧的像素px值。自己写代码把…...
C++参悟-单例模式
单例模式 一、概述1. 特点2. 实现方式3. 应用场景 二、实现代码1. 静态局部变量的懒汉单例2. 加锁的懒汉式单例3. 使用 C11 中的 std::call_one 的懒汉单例4. 饿汉式单例 一、概述 这里记录一下单例模式的最常用使用,单例模式(Single Pattern࿰…...
【题解】—— LeetCode一周小结32
🌟欢迎来到 我的博客 —— 探索技术的无限可能! 🌟博客的简介(文章目录) 【题解】—— 每日一道题目栏 上接:【题解】—— LeetCode一周小结31 5.不含连续1的非负整数 题目链接:600. 不含连续…...
手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...
【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...
Go 语言接口详解
Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...
c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...
10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...
