端口安全技术原理与应用
目录
概述
端口安全原理
端口安全术语
二层安全地址配置
端口模式下配置
全局模式下配置
动态学习
二层数据包处理流程
三层安全地址配置
三层数据包处理流程
端口安全违例动作和安全地址老化时间
查看命令
端口安全的注意事项
小结
概述
- 园区网的接入安全关系着使用者的信息安全,因此既要保证合法用户正常接入,也要防止非法用户的接入。两者均要满足的情况下,就需要接入设备能够辨别哪些报文是合法的,哪些是非法的;
- 设备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平台下载对应的版本,然后傻瓜式安装即可 初试语雀 语雀为云笔记,并且其特性比较符合我个人的需求…...
铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
MySQL用户和授权
开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务: test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...
ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...
基于 TAPD 进行项目管理
起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...
安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲
文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...
Webpack性能优化:构建速度与体积优化策略
一、构建速度优化 1、升级Webpack和Node.js 优化效果:Webpack 4比Webpack 3构建时间降低60%-98%。原因: V8引擎优化(for of替代forEach、Map/Set替代Object)。默认使用更快的md4哈希算法。AST直接从Loa…...
计算机基础知识解析:从应用到架构的全面拆解
目录 前言 1、 计算机的应用领域:无处不在的数字助手 2、 计算机的进化史:从算盘到量子计算 3、计算机的分类:不止 “台式机和笔记本” 4、计算机的组件:硬件与软件的协同 4.1 硬件:五大核心部件 4.2 软件&#…...
