以太网交换安全:端口安全

一、端口安全介绍

端口安全是一种网络设备防护措施,通过将接口学习到的动态MAC地址转换为安全MAC地址(包括安全动态MAC和Sticky MAC),阻止除安全MAC和静态MAC之外的主机通过本接口和设备通信,从而增强设备的安全性。以下是对它的详细介绍:

  1. 基本原理:端口安全通过记录连接到交换机端口的以太网MAC地址(网卡号),并只允许特定的MAC地址通过本端口通信来实现安全控制。当其他MAC地址尝试通过该端口时,会被阻止,从而防止非法设备的接入和数据包的传输。
  2. 主要功能:端口安全能够限制特定端口上可以学习和接受的MAC地址数量,超过这个数量后,新的MAC地址将无法通过该端口进行通信。当检测到非法MAC地址或未授权的设备试图通过端口时,端口安全机制会采取一系列保护措施,如丢弃非法报文、发送警告消息等。
  3. 应用场景:端口安全技术广泛应用于各种需要严格网络安全控制的场合,如企业网络、数据中心、教育机构等。在无线网络环境中,端口安全同样发挥着重要作用,通过与802.1X认证、MAC地址过滤等技术结合,确保无线网络的安全性。
  4. 配置方式:管理员可以通过静态绑定的方式,手动指定允许通过特定端口的MAC地址,这种方式适用于固定不变的网络环境。对于动态变化的网络环境,可以采用动态学习的方式,让交换机自动学习并记录通过端口的MAC地址。
  5. 违规动作:当端口接收到未经允许的MAC地址流量时,交换机会根据预先设置的策略执行相应的违规动作,如关闭端口、发送警告消息等。
  6. 安全优势:端口安全能够有效防止未经授权的设备接入网络,减少潜在的安全风险。通过对端口上的MAC地址进行严格控制,可以有效防止MAC地址泛洪攻击,保护网络的稳定性和可用性。
  7. 安全挑战:随着网络环境的不断变化和发展,端口安全策略可能需要不断调整和优化,以应对新的安全威胁和挑战。虽然端口安全能够提供一定程度的安全保障,但仍需与其他安全技术和管理措施相结合,形成多层次、全方位的安全防护体系。

二、安全MAC地址的分类

安全MAC地址主要分为安全动态MAC地址、安全静态MAC地址和Sticky MAC地址三类。以下是对这三类地址的详细介绍:

  1. 安全动态MAC地址:当使能端口安全但未使能Sticky MAC功能时,接口上学习到的动态MAC地址会被转换为安全动态MAC地址。在设备重启后,这些表项会丢失,需要重新学习。缺省情况下,这些地址不会被老化,除非配置了安全MAC的老化时间。安全动态MAC地址的老化类型分为绝对时间老化和相对时间老化。
  2. 安全静态MAC地址:当使能端口安全时,可以通过手工配置的方式设置静态MAC地址。这些地址不会因设备的老化或重启而失效,提供了更高的安全性和稳定性。
  3. Sticky MAC地址:当使能端口安全后又同时使能Sticky MAC功能时,接口上的安全动态MAC地址表项将转化为Sticky MAC地址。这些地址也不会因设备的老化或重启而失效,同样提供了高度的安全性和稳定性。

三、实验

实验目的:
掌握交换机端口安全的基本配置 
实验步骤:
1. 配置S1的G0/0/1口的端口安全
2. 使用PC1、PC2访问PC4,查看S1的mac地址表
3. 在S2设备上接入一台非法设备,尝试访问PC4
4. 配置S1的G0/0/2口为安全静态mac
5. 配置S1的G0/0/3口为sticky mac

(1)配置G0/0/1的端口安全,设置它的MAC地址最大学习数量为2,设置它的安全动作为shutdwon关闭接口

[S1]int g0/0/1
[S1-GigabitEthernet0/0/1]port-security enable   //开启端口安全功能
[S1-GigabitEthernet0/0/1]port-security max-mac-num 2   //限制最大学习数量为2
[S1-GigabitEthernet0/0/1]port-security protect-action shutdown    //配置安全保护动作为shutdown

配置完后,去ping10.1.1.4,将PC1和PC2的MAC地址学习到MAC地址表里去

可以看到PC1和PC2的MAC地址已经学习到地址表里了,这时我们就可以去用攻击者去ping10.1.1.4,就会执行设置的安全动作关闭接口

可以看到G0/0/1的接口已经关闭说明我们的安全设置已经完成

注:要打开接口可以进入G0/0/1的接口用restart来打开接口

(2)配置S1的G0/0/2接口为安全静态MAC地址

安全静态MAC地址(手动粘贴),首先开启粘贴(sticky)功能,手动将MAC地址配置到VLAN1上

[S1]int g0/0/2
[S1-GigabitEthernet0/0/2]port-security enable     //开启端口安全功能
[S1-GigabitEthernet0/0/2]port-security mac-address sticky   //开启粘贴MAC功能

[S1-GigabitEthernet0/0/2]port-security mac-address sticky 5489-9809-5783 vlan 1  //配置VLAN 1的安全静态MAC地址
[S1-GigabitEthernet0/0/2]port-security max-mac-num 1   //限制最大学习数为1

我们可以发现即使没有进行通信我们也可以直接查看到G0/0/2上有MAC地址,所以MAC地址已经被静态绑定到G0/0/2上了
(3)配置S1的G0/0/3接口为sticky mac

配置sticky MAC(自动粘贴),首先开启sticky功能,然后进行通信,将MAC地址自动粘贴到MAC地址表上

[S1]int g0/0/3
[S1-GigabitEthernet0/0/3]port-security enable
[S1-GigabitEthernet0/0/3]port-security mac-add sticky
[S1-GigabitEthernet0/0/3]port-security max-mac-num 1
 

我们可以看到PC4没去通信之前,MAC地址表是没有G0/0/3所对应的MAC地址

可以看到通信之后,MAC地址表上G0/0/3学习到了MAC地址

四、总结

端口安全作为一种重要的网络安全技术手段,在保护网络免受未经授权访问和潜在安全威胁方面发挥着关键作用。

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

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

相关文章

基于muduo库函数实现protobuf协议的通信

文章目录 先定义具体的业务请求类型2. 实现服务端提供的服务protobuf_server.cppprotobuf_client.cpp 建议先去了解muduo库和protobuf协议: Protobuf库的使用Muduo库介绍及使用 先定义具体的业务请求类型 先使用protobuf库创建我们所要完成的业务请求类型&#xf…

YOLOv11改进 | 主干篇 | YOLOv11引入MobileNetV4

1. MobileNetV4介绍 1.1 摘要: 我们推出了最新一代的 MobileNet,称为 MobileNetV4 (MNv4),具有适用于移动设备的通用高效架构设计。 在其核心,我们引入了通用倒瓶颈(UIB)搜索块,这是一种统一且…

【MAUI】CommunityToolkit社区工具包介绍

一、为什么需要声明式开发 .NET的MVVM,始于WPF,很古典,它甚至可能是现代前端框架“声明式开发”的鼻祖。声明式开发,之所以出现,是因为命令式开发在UI层和代码层上无法解耦的问题。如下图所示: 1、命令式开发:后台代码需要调用UI层的控件(label.Text),如果更新UI层…

CEPH的写入流程

1、客户端程序发起对文件的读写请求,ceph前端接口(RADOS Gateway)将文件切分成多个固定大小的对象(默认大小为4MB) 2、计算文件到对象的映射 (1) 计算OID为每个对象分配一个唯一的OID(Object ID&#xff09…

【微服务】初识(day1)

基础概念 集群 集群是将一个系统完整的部署到多个服务器,每个服务器提供系统的所有服务,多个服务器可以通过负载均衡完成任务,每个服务器都可以称为集群的节点。 分布式 分布式是将一个系统拆分为多个子系统,多个子系统部署在…

免费录屏软件工具:助力高效屏幕录制

录屏已经成为了一项非常实用且广泛应用的技术。无论是制作教学视频、记录游戏精彩瞬间,还是进行软件操作演示等,我们都常常需要一款可靠的录屏软件。今天,就让我们一起来探索那些功能强大录屏软件免费版,看看它们是如何满足我们多…

Leecode刷题之路第六天之Z字形变换

题目出处 06-Z字形变换 题目描述 个人解法 思路: todo 代码示例:(Java) todo复杂度分析 todo 官方解法 06-Z字形变换官方解法 方法1:利用二维矩阵模拟 思路: 代码示例:(Java&am…

蓝桥杯【物联网】零基础到国奖之路:十五. 扩展模块之双路ADC

蓝桥杯【物联网】零基础到国奖之路:十五. 扩展模块之双路ADC 第一节 硬件解读第二节 CubeMX配置第三节 代码编写 第一节 硬件解读 STM32的ADC是12位,通过硬件过采样扩展到16位,模数转换器嵌入到STM32L071xx器件中。有16个外部通道和2个内部通道&#xf…

MongoDB微服务部署

一、安装MongoDB 1.在linux中拉去MongoDB镜像文件 docker pull mongo:4.4.18 2. 2.创建数据挂载目录 linux命令创建 命令创建目录: mkdir -p /usr/local/docker/mongodb/data 可以在sshclient工具查看是否创建成功。 进入moogodb目录,给data赋予权限777 cd …

后台管理系统脚手架

后台管理系统脚手架 介绍 在快速迭代的软件开发世界里,时间就是生产力,效率决定成败。对于构建复杂而庞大的后台系统而言,一个高效、可定制的后台脚手架(Backend Scaffold)无疑是开发者的得力助手。 脚手架 后台脚…

自动驾驶系列—自动驾驶发展史介绍

🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中…

C语言、Eazy_x——井字棋

#include<graphics.h>char board_data[3][3] { { -,-,-},{ -,-,-},{ -,-,-}, };char current_piece o;//检测指定棋子玩家是否获胜 bool CheckWin(char c) {if (board_data[0][0] c && board_data[0][1] c && board_data[0][2] c)return true;if (…

WPS使用越来越卡顿

UOS统信wps频繁的使用后出现卡顿问题&#xff0c;通过删除或重命名kingsoft文件缓存目录。 文章目录 一、问题描述二、问题原因三、解决方案步骤一步骤二步骤三 一、问题描述 用户在频繁的使用wps处理工作&#xff0c;在使用一段时间后&#xff0c;用户反馈wps打开速度慢&…

c++primier第十二章类和动态内存

本章内容包括&#xff1a; 对类成员使用动态内存分配隐式和显式地复制构造函数隐式和显式地重载赋值操作符在构造函数中使用new所必须完成的工作使用静态类成员 将布局new操作符用于对象使用指向对象的指针实现队列抽象数据类型(ADT) 动态内存和类 复习范例和静态类成员 首…

《动手学深度学习》笔记2.2——神经网络从基础→进阶 (参数管理-每层的权重/偏置)

目录 0. 前言 正文&#xff1a;参数管理 1. 参数访问 1.1 [目标参数] 1.2 [一次性访问所有参数] 1.3 [从嵌套块收集参数] 2. 参数初始化 2.1 [内置初始化] 2.2 [自定义初始化] 2.3 [参数绑定-共享参数] 3. 小结&#xff08;第2节&#xff09; 4. 延后初始化 (原书第…

AR 眼镜之-蓝牙电话-来电铃声与系统音效

目录 &#x1f4c2; 前言 AR 眼镜系统版本 蓝牙电话 来电铃声 系统音效 1. &#x1f531; Android9 原生的来电铃声&#xff0c;走的哪个通道&#xff1f; 2. &#x1f4a0; Android9 原生的来电铃声&#xff0c;使用什么播放&#xff1f; 2.1 来电铃声创建准备 2.2 来…

国庆普及模拟2总结

目录 题目链接&#xff1a; 官方题解&#xff1a; 概述&#xff1a; 总结反思&#xff1a; 题目 T1: 题目分析&#xff1a; 错误代码&#xff1a; 错因&#xff1a; &#xff21;&#xff23;代码&#xff1a; T2&#xff1a; 题目分析&#xff1a; 赛时代码&#xf…

LeetCode[中等] 55.跳跃游戏

给你一个非负整数数组 nums &#xff0c;你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标&#xff0c;如果可以&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 思路 贪心算法 可达位置…

CSS中字体图标的使用

引言&#xff1a; 在网页设计当中&#xff0c;会有很多很简洁的图标&#xff0c;比如箭头&#xff0c;照相机&#xff0c;放大镜等 这些大概率都是使用字体图标来完成的&#xff0c;因为字体图标比较简洁高效&#xff0c;不会像图片一样需要向浏览器请求数据。那么字体图标该…

记一次vue路由跳转登陆之前的页面,参数丢失问题

一、背景 vue3.0,项目登陆之前访问某个可访问的页面,当跳转到需要登陆才能访问的页面时,跳转到登陆页面,登陆后再跳转到登陆之前需要登陆才能访问的页面,跳转时发现参数丢失了。 A页面(无需登陆)===> B页面(需要登陆)====> 如果未登陆跳转到C登陆页面 ===>…