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

端口安全技术原理与应用

目录

概述

端口安全原理

端口安全术语

二层安全地址配置

端口模式下配置

全局模式下配置

动态学习

二层数据包处理流程

三层安全地址配置

三层数据包处理流程

端口安全违例动作和安全地址老化时间

查看命令

端口安全的注意事项

小结


概述

  • 园区网的接入安全关系着使用者的信息安全,因此既要保证合法用户正常接入,也要防止非法用户的接入两者均要满足的情况下,就需要接入设备能够辨别哪些报文是合法的,哪些是非法的;
  • 设备MAC表项资源有限,需要一种技术,能够防止设备遭受MAC扫描攻击时导致MAC表项耗尽;
  •  端口安全是实现以上需求的技术之一

端口安全原理

  • 基本原理:通过在端口绑定合法地址的方法来限制端口的接入访问
  • 实现方式:在接入交换机上建立端口和MAC、IP,或MAC+IP的对应关系表,对该端口收到的报文进行控制。当该端口收到符合对应关系的报文时,进行正常转发,当收到的不符合该对应关系的报文进行下一步判断

端口安全术语

安全端口:1.锐捷设备只有Access端口可以配置为安全端口,并且不能是端口镜像目的端口

锐捷设备的端口安全功能默认关闭

安全地址:在安全端口上绑定的地址称为安全地址

二层安全地址:即基于MAC的安全地址

三层安全地址:即基于IP或IP+MAC的安全地址

安全地址绑定方式:

--静态绑定方式,即手工命令进行,可以绑定二层和三层安全地址(即MAC、IP、MAC+IP)

--动态绑定方式,即让交换机自动学习地址并转化为安全地址,只能学习二层安全地址;

 

  • 两种方式下都可以配置最大的安全地址限制个数。默认为128个,通过限制安全地址个数的方式,防止设备遭受MAC扫描攻击时,MAC表项占满

端口安全违例动作:

Protect:端口安全默认动作,当违例产生时,安全端口将丢弃违例的报文;

Restrict:当违例产生时,将发送一个Trap通知;

Shutdown:当违例产生时,将关闭端口并发送一个Trap通知;

二层安全地址配置

端口模式下配置

  • Ruijie(config)#interface gigabitEthernet 0/1
  • Ruijie(config-if-GigabitEthernet 0/1)#switchport port-security --开启端口安全功能
  • Ruijie(config-if-GigabitEthernet 0/1)#switchport access vlan 2
  • Ruijie(config-if-GigabitEthernet 0/1)#switchport port-security mac-address 144f.d7c0.79c3 vlan 2      --如不配VLAN, 默认为接口VLAN
  • Ruijie(config-if-GigabitEthernet 0/1)#switchport port-security maximum 1 --配置安全地址限制数量,可选范围1-128,默认128

全局模式下配置

  • Ruijie(config)#interface gigabitEthernet 0/1
  • Ruijie(config-if-GigabitEthernet 0/1)#switchport access vlan 2
  • Ruijie(config-if-GigabitEthernet 0/1)#switchport port-security maximum 1 --配置安全地址限制数量,可选范围1-128,默 认128
  • Ruijie(config-if-GigabitEthernet 0/1)#switchport port-security --开启端口安全功能
  • Ruijie(config)# switch  port-security   interface gigabitEthernet 0/1  mac-address 144f.d7c0.79c3         --全局模式下配置

动态学习

  • Ruijie(config)#interface gigabitEthernet 0/2
  • Ruijie(config-if-GigabitEthernet 0/1)#switchport port-security --开启端口安全功能
  • Ruijie(config-if-GigabitEthernet 0/1)#switchport port-security mac-address sticky --开启二层安全地址动态学习功能
  • Ruijie(config-if-GigabitEthernet 0/1)#switchport port-security maximum 1 --配置安全地址限制数量,可选范围1-128, 默认128

二层数据包处理流程

  • 端口收到数据流时,会对数据的报文地址进行解析。仅二层安全地址绑定时,步骤如下:
  1. 先解析报文的二层地址,如果源地址在安全地址列表中,则认为是合法报文;
  2.  如果不在安全地址列表,检查已经绑定的二层安全地址个数是否达到限制,如果未达到限   制,则把该地址在端口进行动态绑定,变为该端口的二层安全地址(显示为dynamic);
  3.  如果已经达到限制,认为发现非法报文,进行违例处理

三层安全地址配置

  • 方式一:端口模式下,仅绑定IP

  • Ruijie(config)#interface gigabitEthernet 0/1
  • Ruijie(config-if-GigabitEthernet 0/1)#switchport port-security
  • Ruijie(config-if-GigabitEthernet 0/1)#switchport access vlan 2
  • Ruijie(config-if-GigabitEthernet 0/1)#switchport port-security binding 172.16.1.10
  • Ruijie(config-if-GigabitEthernet 0/1)#switchport port-security maximum 1
  •  配置效果:该端口下只允许源IP地址为172.16.1.10(MAC地址无限制)的终端报文通过,其他地址的终端报文则无法通过

  • 方式二:端口模式下,绑定IP+MAC

  • Ruijie(config)#interface gigabitEthernet 0/1
  • Ruijie(config-if-GigabitEthernet 0/1)#switchport port-security
  • Ruijie(config-if-GigabitEthernet 0/1)#switchport access vlan 2
  • Ruijie(config-if-GigabitEthernet 0/1)#switchport port-security binding 144f.d7c0.79c3 vlan 2 172.16.1.10
  • Ruijie(config-if-GigabitEthernet 0/1)#switchport port-security maximum 1
  • 配置效果:该端口下只允许源Mac地址为144f.d7c0.79c3,且原IP地址为172.16.1.10的终端报文通过,其他终端接入后无法访问网络

三层数据包处理流程

1.当符合二层安全地址表项后,还需要匹配三层安全地址绑定才算是合法报文;

2.在仅三层绑定时,只需匹配IP地址,匹配成功则符合合法报文,否则丢弃;

3.在IP+MAC绑定时,需要同时匹配IP+MAC ,同时匹配成功才算合法报文,否则丢弃

  配置了IP+MAC绑定或仅IP绑定,交换机还是会动态学习下联用户的MAC地址

(三层安全地址不占用安全地址条目,即安全地址条目限制只对二层安全地址生效

   匹配时,三层安全地址表只要有一条匹配,则算匹配成功

端口安全违例动作和安全地址老化时间

  • 违例动作:
  • Ruijie(config)#interface gigabitEthernet 0/1
  • Ruijie(config-if-GigabitEthernet 0/1)#switchport port-security violation [ protect | restrict | shutdown ]

  •  Protect:发现违例,则丢弃违例的报文,默认违例动作为Protect
  •  Restrict :发现违例,则丢弃违例的报文并且发送Trap
  •  Shutdown:发现违例,则丢弃报文、并关闭接口
  • 老化时间(对于所有的安全地址,到达老化时间后,安全地址将会老化掉,并可以重新进行学习或配置):

  • Ruijie(config)#interface gigabitEthernet 0/1
  • Ruijie(config-if-GigabitEthernet 0/1)#switchport port-security aging time [ static | time 0-1440 ]

  • time:范围0-1440分钟。0则表示老化关闭,默认为0
  • static :表示老化时间将同时应用于动态学习的安全地址和手工配置的安全地址

查看命令

查看所有的安全地址:

Show port-security address

查看所有的安全绑定:

Show port-security binding

查看所有生效的端口安全地址和端口安全绑定记录:

Show port-security all

查看某接口上的端口安全配置情况

Show port-security int g0/2

查看端口安全统计信息:

Show port-security

 

 

 

端口安全的注意事项

1.安全端口不能是SPAN的目的端口;

2.安全端口不能是DHCP Snooping信任端口;

3.端口安全和其他接入功能如全局IP+MAC安全地址绑定、IP Source Guard等共用时,必须 满足所有的安全检查才能进入交换机;

4.如果交换机同一VLAN下的0/1端口设置了端口安全(将PC1的MAC绑定),但是同VLAN  下的其他端口没有设置端口安全,那么PC1插到0/1口可以上网,但是插到其他端口是不能上网的  

小结

  • 端口安全技术可以基于手工配置或者动态学习的方式形成安全表项,设备会以安全表项为检查基线,对经过接口的报文进行合法性检查,对合法的报文转发,非法的报文采取不同的违例动作;
  • 端口安全分为二层端口安全和三层端口安全,其中二层安全地址会占用安全地址表项以及安全地址限制数;
  •  二层端口安全配置之下的报文处理流程:先检查报文源地址是否在安全地址表中,在则放行,不在则检查安全地址数是否达到最大限制,如果达到则丢弃报文,如果没达到则会将该地址学习到安全地址表中,并对报文进行转发;
  •  三层端口安全配置之下的报文处理流程:三层安全地址表只要有一条匹配,则算匹配成功
  • 二层和三层端口安全同时配置的情况下,当符合二层安全地址表项后,还需匹配三层安全地址绑定才算是合法报文

相关文章:

端口安全技术原理与应用

目录 概述 端口安全原理 端口安全术语 二层安全地址配置 端口模式下配置 全局模式下配置 动态学习 二层数据包处理流程 三层安全地址配置 三层数据包处理流程 端口安全违例动作和安全地址老化时间 查看命令 端口安全的注意事项 小结 概述 园区网的接入安全关系着…...

数据集-目标检测系列-鲨鱼检测数据集 shark >> DataBall

数据集-目标检测系列-鲨鱼检测数据集 shark >> DataBall 数据集-目标检测系列-鲨鱼检测数据集 shark 数据量:6k 数据样例项目地址: gitcode: https://gitcode.com/DataBall/DataBall-detections-100s/overview github: https://github.com/Te…...

数字乡村解决方案-3

1. 国家大数据战略与数字乡村 中国第十三个五年规划纲要强调实施国家大数据战略,加快建设数字中国,推进数据资源整合和开放共享,保障数据安全,以大数据助力产业转型升级和提高社会治理的精准性与有效性。 2. 大数据与数字经济 …...

WPF文本框无法输入小数点

问题描述 在WPF项目中,文本框BInding双向绑定了数据Text“{UpdateSourceTriggerPropertyChanged}”,但手套数据是double类型,手动输入数据时,小数点输入不进去 解决办法: 在App.xaml.cs文件中添加语句: …...

R开头的后缀:RE

RE表示方位上的向后,一种时空上的折返,和表示否定意味的不。 68.re- 空间顺序 ①表示"向后,相反,不" RE表示正向抵抗的力的词语,和情绪的词语,用来表示一种极力的反抗和拒绝,包括…...

Vue2配置环境变量的注意事项

在实际开发中时常会遇到需要开发环境与生产环境中一些参数的替换,为了方便线上线下环境变量切换可以利用node中的process进行环境变量管理 实现步骤如下: 1.在 根目录 新增环境文件 .env.development 和 .env.production 注意文件名称保持一致( 需要强调的是文件中的变量名切…...

机器学习:探索未知边界,解锁智能潜力

欢迎来到 破晓的历程的 博客 ⛺️不负时光,不负己✈️ 在这个日新月异的科技时代,机器学习作为人工智能领域的核心驱动力,正以前所未有的速度改变着我们的世界。从智能家居的个性化推荐到自动驾驶汽车的精准导航,从医疗诊断的辅助…...

万户OA-ezOFFICE fileUpload.controller 任意文件上传漏洞复现

0x01 产品描述: 万户OA(Office Automation)是一款企业级协同办公管理软件,旨在为企业提供全面的办公自动化解决方案。万户ezOFFICE存在任意文件上传漏洞。攻击者可以通过该远程下载任意文件到目标服务器,导致攻击者可获…...

Time-MoE : 时间序列领域的亿级规模混合专家基础模型

Time-MoE : 时间序列领域的亿级规模混合专家基础模型 时间序列预测一直是量化研究和工业应用中的重要课题。随着深度学习技术的发展,大规模预训练模型在自然语言处理和计算机视觉领域取得了显著进展,但在时间序列预测领域,这些模型的规模和运…...

Spring Boot入门指南

前言 Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。本文将详细介绍 Spring Boot 的基本概念、环境搭建、第一…...

MYSQL(学习笔记)

<div>深分页怎么优化&#xff1f;</div> <div>还是以上面的SQL为空&#xff1a;select * from xxx order by id limit 500000, 10;</div> <div>方法一&#xff1a;</div> <div>从上面的分析可以看出&#xff0c;当offset非常大时&am…...

学校周赛(1)

A - Short Sort 题目&#xff1a; 思路&#xff1a; 本条题目只允许改一处地方&#xff0c;只有三个字母&#xff0c;我们可以直接枚举所有移动过的结果&#xff0c;同时使用哈希去记录其值&#xff0c;对于每一个输入我们都寻找是否有这个值记录&#xff0c;有则输出YES否则…...

人生苦短,我用Python✌

面向代码的解释型语言 数据开发和AI 编程语言:让计算机了解我们干什么&#xff0c;翻译官 1.下载软件 解释器安装 点击第二个 改路径 D:\python 安装 测试 winr打开 输入代码 输出 退出环境 exit&#xff08;&#xff09; 新建文本文档后缀改成py 编写 运行 安装编写代码…...

uniapp js判断key是否在json中?

推荐学习文档 golang应用级os框架&#xff0c;欢迎stargolang应用级os框架使用案例&#xff0c;欢迎star案例&#xff1a;基于golang开发的一款超有个性的旅游计划app经历golang实战大纲golang优秀开发常用开源库汇总想学习更多golang知识&#xff0c;这里有免费的golang学习笔…...

Codeforces Round 975 (Div. 2) C. Cards Partition

题目链接&#xff1a;题目 大意&#xff1a; 给出若干种卡片&#xff0c;每种卡片有一定数量&#xff0c;你可以加入不超过 k k k张任意已给出种类的卡片&#xff0c;使得它们可以被分成若干组&#xff0c;每组容量一定&#xff0c;且同组内不存在相同种类的卡片&#xff0c;…...

Qt 首次配置 Qt Creator 14.01 for Python

前言&#xff1a; 如何用QT实现Python的配置的交互界面。本文从0开始&#xff0c;进行实践的介绍。 在上一节里面&#xff0c;我们做了社区版本的配置&#xff1a; https://blog.csdn.net/yellow_hill/article/details/142597007?spm1001.2014.3001.5501 这一节&#xff0…...

【python】代码发布前检查- vulture:查找死代码

分析Python项目中未被使用的.py文件 Vulture&#xff1a; Vulture是一个专门用于查找Python代码中的死代码的工具。它可以识别未使用的代码&#xff0c;包括未导入的模块。 安装&#xff1a; pip install vulture使用&#xff1a; vulture your_project_directory...

Yolov10环境配置

参考文章&#xff1a;1.YOLOv10超详细环境搭建以及模型训练&#xff08;GPU版本&#xff09;-CSDN博客 2.Windows下安装pytorch教程(下载.whl的方式)_pytorch whl-CSDN博客 安装步骤和文件夹顺序一样 1.安装CUDA和cuDNN 1.1安装CUDA 1.1.1查看当前你的电脑显卡支持的最高CUD…...

iOS 提取图片的主题色,并支持灵活提取

遇到一个需求&#xff0c;要提取图片中的色调&#xff0c;但还有一点特殊的需求&#xff0c;就是不是提取颜色最多的色调&#xff0c;也不是平均的色调&#xff0c;是图片中偏暗的色调 这就需要我们动态的调整我们提取的算法&#xff0c; 下面就看代码 dispatch_async(dispatch…...

语雀笔记使用记录

初识语雀 语雀官网 语雀帮助 教你如何使用语雀提高效率 语雀极简使用指南 | 10个常用技巧&#xff0c;带你快速入门 语雀安装 语雀下载地址 根据自己的pc平台下载对应的版本&#xff0c;然后傻瓜式安装即可 初试语雀 语雀为云笔记&#xff0c;并且其特性比较符合我个人的需求…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来

一、破局&#xff1a;PCB行业的时代之问 在数字经济蓬勃发展的浪潮中&#xff0c;PCB&#xff08;印制电路板&#xff09;作为 “电子产品之母”&#xff0c;其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透&#xff0c;PCB行业面临着前所未有的挑战与机遇。产品迭代…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3

一&#xff0c;概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本&#xff1a;2014.07&#xff1b; Kernel版本&#xff1a;Linux-3.10&#xff1b; 二&#xff0c;Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01)&#xff0c;并让boo…...

服务器--宝塔命令

一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行&#xff01; sudo su - 1. CentOS 系统&#xff1a; yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...

基于Java+MySQL实现(GUI)客户管理系统

客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息&#xff0c;对客户进行统一管理&#xff0c;可以把所有客户信息录入系统&#xff0c;进行维护和统计功能。可通过文件的方式保存相关录入数据&#xff0c;对…...

【Linux】Linux 系统默认的目录及作用说明

博主介绍&#xff1a;✌全网粉丝23W&#xff0c;CSDN博客专家、Java领域优质创作者&#xff0c;掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围&#xff1a;SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...

Bean 作用域有哪些?如何答出技术深度?

导语&#xff1a; Spring 面试绕不开 Bean 的作用域问题&#xff0c;这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开&#xff0c;结合典型面试题及实战场景&#xff0c;帮你厘清重点&#xff0c;打破模板式回答&#xff0c…...

GraphQL 实战篇:Apollo Client 配置与缓存

GraphQL 实战篇&#xff1a;Apollo Client 配置与缓存 上一篇&#xff1a;GraphQL 入门篇&#xff1a;基础查询语法 依旧和上一篇的笔记一样&#xff0c;主实操&#xff0c;没啥过多的细节讲解&#xff0c;代码具体在&#xff1a; https://github.com/GoldenaArcher/graphql…...