端口安全技术原理与应用
目录
概述
端口安全原理
端口安全术语
二层安全地址配置
端口模式下配置
全局模式下配置
动态学习
二层数据包处理流程
三层安全地址配置
三层数据包处理流程
端口安全违例动作和安全地址老化时间
查看命令
端口安全的注意事项
小结
概述
- 园区网的接入安全关系着使用者的信息安全,因此既要保证合法用户正常接入,也要防止非法用户的接入。两者均要满足的情况下,就需要接入设备能够辨别哪些报文是合法的,哪些是非法的;
- 设备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
二层数据包处理流程
- 端口收到数据流时,会对数据的报文地址进行解析。仅二层安全地址绑定时,步骤如下:
- 先解析报文的二层地址,如果源地址在安全地址列表中,则认为是合法报文;
- 如果不在安全地址列表,检查已经绑定的二层安全地址个数是否达到限制,如果未达到限 制,则把该地址在端口进行动态绑定,变为该端口的二层安全地址(显示为dynamic);
- 如果已经达到限制,认为发现非法报文,进行违例处理
三层安全地址配置
- 方式一:端口模式下,仅绑定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>深分页怎么优化?</div> <div>还是以上面的SQL为空:select * from xxx order by id limit 500000, 10;</div> <div>方法一:</div> <div>从上面的分析可以看出,当offset非常大时&am…...
学校周赛(1)
A - Short Sort 题目: 思路: 本条题目只允许改一处地方,只有三个字母,我们可以直接枚举所有移动过的结果,同时使用哈希去记录其值,对于每一个输入我们都寻找是否有这个值记录,有则输出YES否则…...
人生苦短,我用Python✌
面向代码的解释型语言 数据开发和AI 编程语言:让计算机了解我们干什么,翻译官 1.下载软件 解释器安装 点击第二个 改路径 D:\python 安装 测试 winr打开 输入代码 输出 退出环境 exit() 新建文本文档后缀改成py 编写 运行 安装编写代码…...
uniapp js判断key是否在json中?
推荐学习文档 golang应用级os框架,欢迎stargolang应用级os框架使用案例,欢迎star案例:基于golang开发的一款超有个性的旅游计划app经历golang实战大纲golang优秀开发常用开源库汇总想学习更多golang知识,这里有免费的golang学习笔…...
Codeforces Round 975 (Div. 2) C. Cards Partition
题目链接:题目 大意: 给出若干种卡片,每种卡片有一定数量,你可以加入不超过 k k k张任意已给出种类的卡片,使得它们可以被分成若干组,每组容量一定,且同组内不存在相同种类的卡片,…...
Qt 首次配置 Qt Creator 14.01 for Python
前言: 如何用QT实现Python的配置的交互界面。本文从0开始,进行实践的介绍。 在上一节里面,我们做了社区版本的配置: https://blog.csdn.net/yellow_hill/article/details/142597007?spm1001.2014.3001.5501 这一节࿰…...
【python】代码发布前检查- vulture:查找死代码
分析Python项目中未被使用的.py文件 Vulture: Vulture是一个专门用于查找Python代码中的死代码的工具。它可以识别未使用的代码,包括未导入的模块。 安装: pip install vulture使用: vulture your_project_directory...
Yolov10环境配置
参考文章:1.YOLOv10超详细环境搭建以及模型训练(GPU版本)-CSDN博客 2.Windows下安装pytorch教程(下载.whl的方式)_pytorch whl-CSDN博客 安装步骤和文件夹顺序一样 1.安装CUDA和cuDNN 1.1安装CUDA 1.1.1查看当前你的电脑显卡支持的最高CUD…...
iOS 提取图片的主题色,并支持灵活提取
遇到一个需求,要提取图片中的色调,但还有一点特殊的需求,就是不是提取颜色最多的色调,也不是平均的色调,是图片中偏暗的色调 这就需要我们动态的调整我们提取的算法, 下面就看代码 dispatch_async(dispatch…...
语雀笔记使用记录
初识语雀 语雀官网 语雀帮助 教你如何使用语雀提高效率 语雀极简使用指南 | 10个常用技巧,带你快速入门 语雀安装 语雀下载地址 根据自己的pc平台下载对应的版本,然后傻瓜式安装即可 初试语雀 语雀为云笔记,并且其特性比较符合我个人的需求…...
ESP32-CAM PSRAM与DinBase升级:解决内存瓶颈与供电稳定性
1. 项目概述:当ESP32-CAM遇上PSRAM与DinBase,我们能玩出什么新花样?最近在捣鼓物联网视觉项目时,发现了一个挺有意思的新玩意儿——ESP32CAM-PSRAM & DinBase。这名字听起来有点拗口,但拆开来看,其实就…...
用C++和libmodbus库封装一个可复用的Modbus客户端类(TCP/RTU双模式)
用C和libmodbus库封装可复用的Modbus客户端类(TCP/RTU双模式) 在工业自动化和物联网项目中,Modbus协议因其简单可靠的特点成为设备通信的事实标准。但每次新项目都要从头实现底层通信逻辑,不仅效率低下,还容易引入重复…...
3步掌握WeChatExporter:免费开源的微信数据备份解决方案
3步掌握WeChatExporter:免费开源的微信数据备份解决方案 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter 微信聊天记录中蕴含着无数珍贵的工作沟通、个人回忆和…...
从ENIAC到AI:计算机技术演进的四个关键时代与未来展望
1. 从电子管到晶体管:计算机的诞生与早期进化 1946年2月15日,美国宾夕法尼亚大学的莫尔学院向世界展示了ENIAC(Electronic Numerical Integrator And Computer),这台重达30吨的庞然大物标志着现代计算机时代的开始。E…...
自动化技能备份库的安全分析与工程实践指南
1. 项目概述与核心定位最近在整理一些自动化工具和脚本时,我又翻出了这个叫openclaw/skills的仓库。这其实是一个挺有意思的“数字档案馆”,它的主要作用是把一个特定平台上的“技能”(Skills)给备份下来。简单来说,你…...
AI代理如何通过MCP协议安全自动化DeFi期权价差交易
1. 项目概述:为AI交易员打造的DeFi期权交易接口如果你正在探索如何让AI智能体(比如OpenClaw或Bankr)在Base链上的Callput协议进行自动化期权交易,那么你很可能已经发现,现有的工具要么过于复杂,要么需要大量…...
终极HttpBin容器化部署指南:5分钟完成Kubernetes环境快速配置 [特殊字符]
终极HttpBin容器化部署指南:5分钟完成Kubernetes环境快速配置 🚀 【免费下载链接】httpbin HTTP Request & Response Service, written in Python Flask. 项目地址: https://gitcode.com/gh_mirrors/ht/httpbin HttpBin是一个强大的HTTP请求…...
数字通信系统核心:从IQ调制到星座图,深入解析PSK/QAM的实现与优化
1. 数字通信系统的核心:IQ调制揭秘 第一次接触IQ调制这个概念时,我也被它绕晕了。什么同相分量、正交分量,听起来就像天书。直到有一天,我在调试无线电设备时突然想通:这不就是把数字信号"画"在旋转的圆盘上…...
如何用 writable 属性描述符限制 JavaScript 对象属性修改.txt
Lock wait timeout exceeded 表示事务等待行锁超时(默认50秒),本质是被其他长事务或未提交操作阻塞,并非数据库性能问题;需通过INNODB_TRX和performance_schema定位锁源,排查索引缺失、MDL锁及锁链式等待。…...
Perplexity + Sage期刊深度协同方案(科研人私藏版):从模糊关键词到JCR一区论文PDF的全自动链路搭建
更多请点击: https://intelliparadigm.com 第一章:Perplexity Sage期刊深度协同方案(科研人私藏版):从模糊关键词到JCR一区论文PDF的全自动链路搭建 核心协同逻辑:语义增强型检索闭环 Perplexity 的实时…...
