Packet Tracer - Layer 2 Security

Packet Tracer - 第二层安全配置任务

在这里插入图片描述

目标

  • 确保将中心交换机(3560型号)设置为根桥。
  • 保护生成树协议参数以防止对STP的操控攻击。
  • 启用端口安全功能以防止CAM表溢出攻击。

背景/场景

最近网络遭受了一系列攻击。因此,网络管理员已指派您负责配置第二层安全措施。

为了确保网络性能和安全性达到最优状态,管理员希望确定中心3560型号交换机作为根桥。为防止对生成树协议进行篡改攻击,管理员希望确保STP参数得到安全配置。针对CAM表溢出攻击的风险,网络管理员决定配置端口安全策略,限制每个交换机端口学习到的MAC地址数量。一旦学习到的MAC地址超过设定的限制,管理员希望建立机制自动关闭该端口。

所有交换机设备已经预先配置了以下信息:

  • 启用密码:ciscoenpa55
  • 控制台密码:ciscoconpa55
  • SSH用户名及密码:SSHadmin / ciscosshpa55

第一部分:配置根桥

步骤1:确定当前的根桥。

从中心交换机(Central)发出 show spanning-tree 命令,以确定当前的根桥、查看正在使用的端口及其状态。

Central#show spanning-tree

VLAN0001Spanning tree enabled protocol ieeeRoot ID    Priority    32769Address     0009.7C61.9058Cost        4Port        25(GigabitEthernet0/1)Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 secBridge ID  Priority    32769  (priority 32768 sys-id-ext 1)Address     00D0.D31C.634CHello Time  2 sec  Max Age 20 sec  Forward Delay 15 secAging Time  20Interface        Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Gi0/2            Desg FWD 4         128.26   P2p
Gi0/1            Root FWD 4         128.25   P2p
Fa0/1            Desg FWD 19        128.1    P2p

哪个交换机是当前的根桥?

基于当前的根桥,请绘制由此得出的生成树拓扑结构。

步骤2:将Central设置为主根桥。

使用命令 spanning-tree vlan 1 root primary,将Central设置为根桥。

Central(config)#spanning-tree vlan 1 root primary

步骤3:将SW-1设置为备用根桥。

使用命令 spanning-tree vlan 1 root secondary,将SW-1设置为备用根桥。

SW-1(config)#spanning-tree vlan 1 root secondary

步骤4:验证生成树配置。

发出 show spanning-tree 命令来验证Central已成为根桥。

在Central#提示符下执行了该命令后显示如下信息:

VLAN0001Spanning tree enabled protocol ieeeRoot ID  Priority      24577Address       00D0.D31C.634C-->>  This bridge is the root  <<--Hello Time  2 sec  Max Age  20 sec   Forward Delay  15 sec

根据上述信息,哪个交换机是当前的根桥?

基于新的根桥设置,请绘制由此得出的生成树拓扑结构。

第二部分:防止STP攻击

步骤1:在所有接入端口上启用PortFast。

PortFast应在连接至单个工作站或服务器的接入端口上配置,以使它们更快地进入活动状态。在SW-A和SW-B的相连接入端口上使用 spanning-tree portfast 命令来启用PortFast

SW-A(config)#int range f0/1-4
SW-A(config-if-range)#spanning-tree portfast

SW-B(config)#int range f0/1-4
SW-B(config-if-range)#spanning-tree portfast

步骤2:在所有接入端口上启用BPDU防护。

BPDU guard是一项功能,可以有助于防止恶意交换机和在接入端口上的欺骗行为。在SW-A和SW-B的接入端口上启用BPDU防护。

注解:为了防止STP报文(BPDU)操纵攻击,在接口配置模式下可以对每个单独端口使用命令 spanning-tree bpduguard enable 来启用BPDU防护;或者在全局配置模式下使用命令 spanning-tree portfast bpduguard default 来默认为所有启用PortFast的端口启用BPDU防护。针对本活动评分目的,请使用 spanning-tree bpduguard enable 命令。

SW-A(config)#int range f0/1-4
SW-A(config-if-range)#spanning-tree bpduguard enable

SW-B(config)#int range f0/1-4
SW-B(config-if-range)#spanning-tree bpduguard enable

步骤3:启用根保护。

根保护可以在非根端口的所有交换机端口上启用,最好部署在连接到其他非根交换机的端口上。使用 show spanning-tree 命令确定每个交换机上根端口的位置。

在SW-1上,在端口F0/23和F0/24上启用根保护。同样,在SW-2上,在端口F0/23和F0/24上也启用根保护。

SW-1(config)#int range f0/23-24
SW-1(config-if-range)#spanning-tree guard root

SW-2(config)#int range f0/23-24
SW-2(config-if-range)#spanning-tree guard root

第三部分:配置端口安全并禁用未使用端口

步骤1:在连接到主机设备的所有端口上配置基本端口安全。

此操作应在SW-A和SW-B的所有接入端口上执行。设置允许学习的MAC地址最大数量为2,允许动态学习MAC地址,并将违规处理方式设为shutdown(关闭)。

注解:只有当交换机端口配置为接入模式时,才能启用端口安全功能。

SW-A(config)#interface range f0/1 - 22
SW-A(config-if-range)#switchport mode access
SW-A(config-if-range)#switchport port-security
SW-A(config-if-range)#switchport port-security maximum 2
SW-A(config-if-range)#switchport port-security violation shutdown
SW-A(config-if-range)#switchport port-security mac-address sticky

SW-B(config)#interface range f0/1-22
SW-B(config-if-range)#switchport mode access
SW-B(config-if-range)#switchport port-security max
SW-B(config-if-range)#switchport port-security maximum 2
SW-B(config-if-range)#switchport port-security violation shutdown
SW-B(config-if-range)#switchport port-security mac-address sticky

为什么与其它交换机设备相连的端口不启用端口安全?

步骤2:验证端口安全配置。

a. 在SW-A上,输入命令 show port-security interface f0/1 来确认已成功配置了端口安全。

SW-A#show port-security int f0/1
Port Security : Enabled
Port Status : Secure-up
Violation Mode : Shutdown
Aging Time : 0 mins
Aging Type : Absolute
SecureStatic Address Aging : Disabled
Maximum MAC Addresses : 2
Total MAC Addresses : 0
Configured MAC Addresses : 0
Sticky MAC Addresses : 0
Last Source Address:Vlan : 0000.0000.0000:0
Security Violation Count : 0

SW-A# show port-security interface f0/1
端口安全              : 已启用
端口状态                : 安全且已启动
违规模式             : 关闭端口
老化时间                 : 0分钟
老化类型                 : 绝对时间
静态安全MAC地址老化: 禁用
最大MAC地址数      : 2
总MAC地址数        : 0
已配置MAC地址数   : 0
粘性MAC地址数       : 0
最近源地址:VLAN   : 0000.0000.0000:0
安全违规计数         : 0

b. 从C1向C2发送Ping请求,然后再次输入 show port-security interface f0/1 命令,以验证交换机是否已学会C1的MAC地址。
在这里插入图片描述
在这里插入图片描述

步骤3:禁用未使用的端口。

禁用当前所有未使用的端口。

SW-A(config)#int range f0/5-22
SW-A(config-if-range)#shutdown

SW-B(config)#int range f0/5-22
SW-B(config-if-range)#shutdown

步骤4:检查结果。

您的完成度应为100%。点击“检查结果”查看反馈信息以及所需组件完成情况的验证。

实验脚本:

Central:

! 使Central成为Vlan1的根桥
spanning-tree vlan 1 root primary

SW-1:

! 使SW-1成为Vlan1的次根桥
spanning-tree vlan 1 root secondary
! 进入f0/23-f0/24端口
interface range fastEthernet 0/23 - fastEthernet 0/24
! 启用STP根防护功能,在此端口不接受拥有更优BID的BPDU报文
spanning-tree guard root 

SW-2:

! 进入f0/23-f0/24端口
interface range fastEthernet 0/23 - fastEthernet 0/24
! 启用STP根防护功能,在此端口不接受拥有更优BID的BPDU报文
spanning-tree guard root 

SW-A:

! 选择接入的端口,F0/1-F0/4
interface range fastEthernet 0/1 - fastEthernet 0/4
! 让F0/1-F0/4端口开启portfast(不参与生成树)
spanning-tree portfast 
! 为他们启用BPDU防护功能,在此端口不接受BPDU;收到BPDU,端口禁用
spanning-tree bpduguard enable 
! 开启access模式
switchport mode access
! 开启端口安全
switchport port-security 
! 设置最大Mac学习数为2
switchport port-security maximum 2
! 设置学习到的Mac地址将被保存
switchport port-security mac-address sticky 
! 设置超过措施:关闭端口
switchport port-security violation shutdown 
! 进入不使用的端口
interface range fastEthernet 0/5 - fastEthernet 0/22
! 关闭
shutdown

SW-B:

! 选择接入的端口,F0/1-F0/4
interface range fastEthernet 0/1 - fastEthernet 0/4
! 让F0/1-F0/4端口开启portfast(不参与生成树)
spanning-tree portfast 
! 为他们开启BPDU
spanning-tree bpduguard enable 
! 开启access模式
switchport mode access
! 开启端口安全
switchport port-security 
! 设置最大Mac学习数为2
switchport port-security maximum 2
! 设置学习到的Mac地址将被保存
switchport port-security mac-address sticky 
! 设置超过措施:关闭端口
switchport port-security violation shutdown 
! 进入不使用的端口
interface range fastEthernet 0/5 - fastEthernet 0/22
! 关闭
shutdown

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

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

相关文章

JNPF低代码是什么,怎么样?

低代码开发平台已经是程序员日常标配效率工具了&#xff0c;曾经我们拿到开发需求后&#xff0c;要先配 Vue & React 等框架环境、再选需要引入的第三方组件库&#xff0c;最后穿针引线&#xff0c;调试搭建起需要的后台工具。这其中无数深坑等着我们去趟&#xff0c;直到低…

手把手教你制作一本旅游宣传册

​随着旅游业的蓬勃发展&#xff0c;越来越多的人选择在闲暇时间外出旅行。为了吸引更多的游客&#xff0c;制作一本精美的旅游宣传册至关重要。无论你是旅游爱好者还是旅游从业者&#xff0c;制作一本精美的旅游宣传册将有助于吸引更多的游客&#xff0c;提升你的业务。 一、确…

C#编程-描述异常

描述异常 异常是在程序执行期间出现的错误。异常情况发生在运算不能正常完成的时候。当程序中出现异常是,系统会抛出错误。错误通过异常处理过程被处理。 例如,System.IO.IOException异常在试图访问非法流对象时抛出。同样,如果分母是0,整数除法运算抛出System.DivideByZ…

重生奇迹MU中的一些仓库细节问题!

一般游戏新人如果不花一点时间的话&#xff0c;根本难以把握好游戏中的节奏&#xff0c;甚至有可能连仓库都不会使用&#xff0c;原本与仓库相关的细节问题就有许多&#xff0c;若是不仔细给予关注的话&#xff0c;难免就会忙中出错。 重生奇迹MU当中的仓库位置 剑士出生地是…

RabbitMQ(六)消息的持久化

目录 一、简介1.1 定义1.2 消息丢失的场景 二、交换机的持久化方式一&#xff1a;直接 new方式二&#xff1a;channel.exchangeDeclare()方式三&#xff1a;ExchangeBuilder【推荐】 三、队列的持久化方式一&#xff1a;直接 new方式二&#xff1a;channel.queueDeclare()方式三…

Linux Capabilities 基础概念与基本使用

目录 1. Linux capabilities 是什么&#xff1f; 2. capabilities 的赋予和继承 线程的 capabilities Permitted* 允许 Effective* 有效 Inheritable* 遗传 Bounding&#xff08;集合&#xff09; Ambient 文件的 capabilities Permitted Inheritable Effective 3…

一文了解Git(所有命令)附带图片

我是南城余&#xff01;阿里云开发者平台专家博士证书获得者&#xff01; 欢迎关注我的博客&#xff01;一同成长&#xff01; 一名从事运维开发的worker&#xff0c;记录分享学习。 专注于AI&#xff0c;运维开发&#xff0c;windows Linux 系统领域的分享&#xff01; 其他…

nginx(1.13.7)首次安装出现:【make: *** 没有规则可以创建“default”需要的目标“build” 问题】解决措施

目录 前言&#xff1a; 一.龙蜥&#xff08;Anolis&#xff09;操作系统上安装GCC 1.安装gcc 2.检验安装 二.安装出现 make&#xff1a; *** 没有规则可以创建“default”需要的目标“build” 问题 1.解压安装nginx 2.安装出现问题展示 3.解决措施 4.重新编译进行安装 5…

内网渗透之CobaltStrike(上)

目录 一、Cobalt Strike简介 二、Cobalt Strike基本用法 1、启动服务端 2、客户端连接 3、设置监听器&#xff08;Listeners&#xff09; 4、脚本管理器&#xff08;Script Manager&#xff09; 5、攻击&#xff08;最常用的是生成后门&#xff09; 6、CS上线 7、Beaco…

C#编程-实现在文本文件中的读和写

实现在文本文件中的读和写 Stream类用于从文本文件读取数据和向文本文件写入数据。它是一个抽象类,支持向流读写字节。如果文件的数据仅是文本,那么您可以使用StreamReader类和StreamWriter类来完成相应的读和写任务。 StreamReader类 StreamReader类继承自从抽象类TextRea…

C2-4.3.1 多个决策树——随机森林

C2-4.3.1 多个决策树——随机森林 参考链接 1、为什么要使用多个决策树——随机森林&#xff1f; 决策树的缺点&#xff1a; A small change in the data can cause a large change in the structure of the decision tree causing instability 即&#xff1a;对数据集 中…

vue获取当前系统时间

1.获取当前系统时间时分秒 // 标准时间格式转化为年月日时分秒 export function ssDateTimeFn(timestamp) {if (!timestamp) {return timestamp}// timestamp是整数&#xff0c;否则要parseInt转换,不会出现少个0的情况const time new Date(timestamp)const year time.getFu…