网络安全-安全策略初认识
文章目录
- 前言
- 理论介绍
- 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 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综合示例相关的内容,本章回中将介绍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. 不含连续…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...

遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...

P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...

ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...

初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
Vite中定义@软链接
在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...
人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent
安全大模型训练计划:基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标:为安全大模型创建高质量、去偏、符合伦理的训练数据集,涵盖安全相关任务(如有害内容检测、隐私保护、道德推理等)。 1.1 数据收集 描…...