以太网安全

前言:

  1. 端口隔离可实现同一VLAN内端口之间的隔离。用户只需要将端口加入到隔离组中,就可以实现隔离组内端口之间的二层数据的隔离
  2. 端口安全是一种在交换机接入层实施的安全机制,旨在通过控制端口的MAC地址学习行为,确保仅授权设备能够接入网络,并防御常见的二层攻击

端口隔离

  传统以太网中,所有设备处于同一广播域,广播帧(如ARP请求)会被泛洪到所有端口,导致广播风暴风险,尤其在设备密集场景(如校园网、数据中心)可能引发网络拥塞

   在一些共享环境中需防止用户间互访引发攻击(如ARP欺骗、横向渗透)等,于是便诞生了端口隔离

  简单来说,端口隔离就是通过限制二层直接通信,在保障必要连通性的同时,解决了广播风暴、安全风险及资源浪费等问题

概况:

 端口隔离(Port Isolation)是一种在交换机上实现的网络技术,通过限制同一设备上不同端口之间的二层直接通信(如数据链路层帧转发),仅允许其与指定上行端口(如网关、核心交换机或服务器)通信,从而实现网络流量的精细化控制  

二层通信阻断

交换机通过配置隔离组(Isolation Group),将多个端口划分到同一组内

组内端口之间无法直接传输单播、组播或广播帧(如ARP请求、ICMP报文等)

如端口A和端口B加入组1 ————无法互访

    端口C加入组2——可以与A B互访

上行端口(Uplink Port)

隔离组内的所有流量必须通过指定的上行端口(如连接网关或核心交换机的端口)进行转发

上行端口与其他端口之间通信不受限制,可作为组内设备访问外部网络的唯一出口

隔离类型:

单向隔离:允许A→B通信,但禁止B→A,可以实现不同端口隔离组的接口之间的隔离,(如监控端口仅接收数据,不主动发送)

双向隔离:同一端口隔离组的接口之间互相隔离,不同端口隔离组的接口之间不隔离

隔离模式:

    二层隔离模式(L2)隔离同一VLAN内的广播报文

    三层隔离模式(L3)同一VLAN的不同端口下用户二三层彻底隔离无法通信

示例:

  1. 用户A(端口1)尝试访问用户B(端口2)

    • 交换机检查端口1和端口2是否属于同一隔离组。

    • 若属于同一隔离组,直接丢弃数据包,阻断通信。

  2. 用户A(端口1)访问网关(上行端口24)

    • 数据帧从端口1发送至上行端口24,交换机正常转发。

    • 网关处理请求后,返回的流量通过上行端口24发回端口1,通信完成。

  3. 用户A(端口1)发送广播帧(如ARP请求)

    • 广播帧仅泛洪到同一隔离组内的其他端口,而非全网广播

配置命令:

[Huawei]port-isolate mode {l2|all}   
//l2仅二层隔离,all为L2+L3隔离
[Huawei-GigabitEthernet0/0/1]port-isolate enable [group <group-id>]  
//加入隔离组
[Huawei-Ethernet0/0/2]am isolate interface <目标接口> 
//单向隔离 阻断本端口到目标端口的流量 仅支持l2隔离
[Huawei] port-isolate mode l2 
[Huawei] interface GigabitEthernet0/0/1  
[Huawei-GigabitEthernet0/0/1] port-isolate enable group 1  
[Huawei] interface GigabitEthernet0/0/2  
[Huawei-GigabitEthernet0/0/2] port-isolate enable group 1 
[Huawei-Ethernet0/0/2] am isolate Ethernet0/0/3  

黑洞MAC

MAC地址表记录了交换机学习到的MAC地址与接口的对应关系,以及接口所属VLAN等信息

 [Huawei] mac-address blackhole mac-address [ vlan vlan-id ]

当设备收到目的MAC或源MAC地址为黑洞MAC地址的报文,直接丢弃


端口安全

随着网络规模的扩大和接入设备的多样化,网络面临诸多安全威胁,如非法设备接入MAC地址欺骗MAC泛洪攻击等。传统的基于IP或端口的访问控制(如ACL)难以应对动态变化的接入设备,尤其是在企业内网、物联网(IoT)等场景中,如何确保合法设备的安全接入成为关键需求,于是便产生了端口安全

端口安全(Port Security)是根据MAC地址对网络流量进行控制和管理的安全功能,其核心目标是通过控制交换机端口的MAC地址学习行为

概况:

  端口安全功能不仅将MAC地址与端口绑定,还可以限制端口学到的MAC地址的数量。它将端口学习到的动态MAC地址转换为安全MAC地址后,端口只允许源MAC地址在安全MAC地址列表里的报文通过,源MAC地址不在安全MAC地址列表里的报文被认为非法的用户报文

安全MAC地址的类型:

安全静态MAC管理员手动配置允许访问端口的MAC地址列表,其他地址的流量将被阻断不会被老化,手动保存配置后重启设备不会丢失
安全动态MAC端口自动学习首次连接设备的MAC地址,后续仅允许这些地址通信

设备重启后表项会丢失,需要重新学习

缺省情况下不会被老化,只有在配置安全MAC的老化时间后才可以被老化

老化类型分为绝对时间老化和相对时间老化

Sticky MAC动态学习的MAC地址会被转换为静态绑定,重启后仍生效不会被老化,手动保存配置后重启设备不会丢失
超过MAC地址数量限制后

开启端口安全后,端口默认只能学习一个安全MAC,可以手工设置端口学习安全MAC数目。端口上安全MAC地址数达到限制后,如果收到源MAC地址是安全MAC列表里不存在的MAC地址,无论目的MAC地址是否存在,交换机即认为有非法用户攻击,就会根据配置的动作对端口做保护处理违规处理机制(即保护处理)

原理:当检测到非法MAC地址(超出数量或未绑定)时,触发预定义的安全响应(只有三种)

模式行为
Shutdown关闭端口(需管理员手动启用),彻底阻断风险
Restrict丢弃非法流量并生成告警日志,合法流量正常转发
Protect静默丢弃非法流量,不记录日志(适用于高隐蔽性场景)

 配置命令:

[HUAWEI-GigabitEthernet0/0/1] port-security enable
在接口上开启端口安全
[HUAWEI-GigabitEthernet0/0/1] port-security max-mac-num 1
配置MAC地址数量为1
[HUAWEI-GigabitEthernet0/0/1] port-security protect-action shutdown
配置安全保护动作 缺省情况下,端口安全保护动作为restrict
[HUAWEI-GigabitEthernet0/0/1] port-security mac-address sticky AA-AA-AA-AA-AA-AA
手工配置安全静态MAC地址表项
[Huawei-GigabitEthernet0/0/1] port-security aging-time time [type {absolute|inactivity}]
配置接口学习到的安全动态MAC地址的老化时间 默认不会老化
type后接老化模式 absolute绝对时间模式 inactivity空闲时间模式
[Huawei-GigabitEthernet0/0/1] port-security mac-address sticky
开启接口Sticky MAC功能
[Huawei] interface GigabitEthernet0/0/1  
[Huawei-GigabitEthernet0/0/1] port-security enable  
[Huawei-GigabitEthernet0/0/1] port-security max-mac-num 1  
[Huawei-GigabitEthernet0/0/1] port-security protect-action shutdown  
[Huawei-GigabitEthernet0/0/1] port-security mac-address sticky  AA-AA-AA-AA-AA-AA

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/76977.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

跨域问题前端解决

由于浏览器的同源策略&#xff0c;前后端分离的项目&#xff0c;调试的时候总是会遇到跨域的问题&#xff0c;这里通过修改前端代码解决跨域问题。 首先先查看前端代码的根目录下&#xff0c;有没有vue.config.js文件, 若有&#xff0c;使用方法1&#xff0c;若没有此文件&…

Elasticsearch 报错index_closed_exception

index_closed_exception 是 Elasticsearch 中的一个异常类型&#xff0c;它通常发生在尝试对一个已经被关闭&#xff08;closed&#xff09;的索引执行搜索、写入或其他操作时。在 Elasticsearch 中&#xff0c;索引是用来存储和检索数据的逻辑命名空间&#xff0c;可以将其类比…

LearnOpenGL-笔记-其九

今天让我们完结高级OpenGL的部分&#xff1a; Instancing 很多时候&#xff0c;在场景中包含有大量实例的时候&#xff0c;光是调用GPU的绘制函数这个过程都会带来非常大的开销&#xff0c;因此我们需要想办法在每一次调用GPU的绘制函数时尽可能多地绘制&#xff0c;这个过程就…

PDF预览-搜索并高亮文本

在PDF.js中实现搜索高亮功能可以通过自定义一些代码来实现。PDF.js 是一个通用的、基于Web的PDF阅读器&#xff0c;它允许你在网页上嵌入PDF文件&#xff0c;并提供基本的阅读功能。要实现搜索并高亮显示文本&#xff0c;你可以通过以下几个步骤来完成&#xff1a; 1. 引入PDF…

二叉树——队列bfs专题

1.N叉树的层序遍历 我们之前遇到过二叉树的层序遍历&#xff0c;只需要用队列先进先出的特性就可以达到层序遍历的目的。 而这里不是二叉树&#xff0c;也就是说让节点的孩子入队列时不仅仅是左右孩子了&#xff0c;而是它的所有孩子。而我们看这棵多叉树的构造&#xff0c;它…

Python高级爬虫之JS逆向+安卓逆向1.1节-搭建Python开发环境

目录 引言&#xff1a; 1.1.1 为什么要安装Python? 1.1.2 下载Python解释器 1.1.3 安装Python解释器 1.1.4 测试是否安装成功 1.1.5 跟大神学高级爬虫安卓逆向 引言&#xff1a; 大神薯条老师的高级爬虫安卓逆向教程&#xff1a; 这套爬虫教程会系统讲解爬虫的初级&…

Windows 安装和使用 ElasticSearch

SpringBoot3 整合 Elasticsearch 1. ElasticSearch 1.1 ES &#xff08;1&#xff09;ES 是一个开源的分布式搜索和分析引擎&#xff0c;专为处理大模型数据而设计&#xff0c;它能够实现近乎实时的数据检索、分析和可视化&#xff0c;广泛用于全文搜索、日志分析和监控&…

matplotlib初探

库引入 import matplotlib.pyplot as pltpyplot.figure 创建新图形或激活现有图形

NVM 多版本Node.js 管理全指南(Windows系统)

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家、全栈领域优质创作者、高级开发工程师、高级信息系统项目管理师、系统架构师&#xff0c;数学与应用数学专业&#xff0c;10年以上多种混合语言开发经验&#xff0c;从事DICOM医学影像开发领域多年&#xff0c;熟悉DICOM协议及…

实验室预约|实验室预约小程序|基于Java+vue微信小程序的实验室预约管理系统设计与实现(源码+数据库+文档)

实验室预约小程序 目录 基于微信小程序的实验室预约管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、微信小程序前台 2、管理员后台 &#xff08;1&#xff09;管理员登录 &#xff08;2&#xff09;实验室管理 &#xff08;3&#xff09;公告信息管理…

SpringBoot底层-数据源自动配置类

SpringBoot默认使用Hikari连接池&#xff0c;当我们想要切换成Druid连接池&#xff0c;底层原理是怎样呢 SpringBoot默认连接池——Hikari 在spring-boot-autoconfiguration包内有一个DataSourceConfiguraion配置类 abstract class DataSourceConfiguration {Configuration(p…

面试算法高频03-递归

认识递归 递归的概念与特性&#xff1a;递归本质类似循环&#xff0c;是通过函数体进行的循环操作。借助电影《盗梦空间》类比&#xff0c;递归如同主角在不同梦境层穿梭&#xff0c;向下进入不同递归层&#xff0c;向上能回到原来一层&#xff0c;每一层环境和周围元素相似&a…

linux Gitkraken 破解

ubuntu 安装 Gitkraken 9.x Pro 版本_gitcracken.git-CSDN博客

设计模式简述(十一)装饰器模式

装饰器模式 描述基本使用使用 描述 装饰器模式是一种功能型模式 用于动态增强对象的功能 这么一说感觉上和代理模式有些类似 抽象装饰器 要实现原有业务接口&#xff0c;并注入原有业务对象 至于对原有业务对象的调用&#xff0c;可以采用private业务对象 实现业务接口方法的…

【NetCore】ControllerBase:ASP.NET Core 中的基石类

ControllerBase:ASP.NET Core 中的基石类 一、什么是 ControllerBase?二、ControllerBase 的主要功能三、ControllerBase 的常用属性四、ControllerBase 的常用方法2. 模型绑定与验证3. 依赖注入五、ControllerBase 与 Controller 的区别六、实际开发中的最佳实践七、总结在 …

DE2-115分秒计数器

一、模块设计 如若不清楚怎么模块化&#xff0c;请看https://blog.csdn.net/szyugly/article/details/146379170?spm1001.2014.3001.5501 1.1顶层模块 module top_counter(input wire CLOCK_50, // 50MHz时钟input wire KEY0, // 暂停/继续按键out…

ubuntu git cola gui

直接的方法&#xff0c; samba&#xff0c; win 里用 tortoiseSVN 需要先在命令行&#xff0c;运行 git 命令&#xff0c;看到操作提示&#xff0c; 按照提示做 然后右键看 git diff 其它的方法 linux下可视化git工具git-cola安装与使用&#xff08;HTTP方式&#xff09;_git…

每日一题(小白)回溯篇4

深度优先搜索题&#xff1a;找到最长的路径&#xff0c;计算这样的路径有多少条&#xff08;使用回溯&#xff09; 分析题意可以得知&#xff0c;每次向前后左右走一步&#xff0c;直至走完16步就算一条走通路径。要求条件是不能超出4*4的范围&#xff0c;不能重复之前的路径。…

【数据分享】2000—2020年我国250m精度灌溉农田栅格数据(免费获取)

灌溉农田是指通过水利灌溉为农作物提供必要水分&#xff0c;以维持其生长需求的农田类型。灌溉农田占全球农田的20%&#xff0c;占全球粮食产量的40%。但其消耗了60%-70%的淡水和80%-90%的消耗性用水量。中国是世界上灌溉面积最大的农业大国&#xff0c;但中国仅占世界上8%的农…

MySQL-SQL-DML语句、INSER添加数据、UPDATE更新数据、DELETE删除数据

一. DML 1. DML的英文全称是Data Manipulation Language(数据操作语言)&#xff0c;用来对数据库中表的数据记录进行增、删、改操作。 2. 添加数据(INSERT)&#xff1b;修改数据(UPDATE)&#xff1b;删除数据(DELETE) 二. DML-INSER添加数据 -- DML insert -- 指定字段添加数…