Cisco交换机安全配置

Cisco交换机安全配置

前提

我们以下命令一般都要先进入Config模式

S1> enable
S1# conf t
S1(config)#

端口安全保护

禁用未使用的端口

以关闭fa0/1到fa0/24的端口为例

S1(config)# interface range fa0/1-24
S1(config-if-range)# shutdown

缓解MAC地址表攻击

防止CAM表溢出的最简单有效的方法是启用端口安全,它限制了端口上所允许的有效MAC地址数量。

我们以fa0/1为例子

S1(config)# interface fa0/1
S1(config-if)# switchport port-security

这里你可能会遇到报错,内容如下:

Command rejected: FastEthernet0/1 is a dynamic port.

这是因为端口安全只能在手动配置的接入模式(access)端口或手动配置的中继(trunk)端口上!

我们先将端口切换到access(如果是trunk的话命令中相应部分请改为trunk),然后开启端口安全。

S1(config-if)# switchport mode access
S1(config-if)# switchport port-security

接下来限制端口上MAC地址最大数量,默认值为1

S1(config-if)# switchport port-security maximum

当然我们可以手动置顶数目,范围在<1-8192>,我们这里以手动设置1为例

S1(config-if)# switchport port-security maximum 1
手动配置MAC

在接口配置模式中,执行以下命令,可手动指定安全MAC:

switchport port-security mac-address 这里写MAC地址

我们以aaaa.bbbb.1234地址为例

S1(config-if)# switchport port-security mac-address aaaa.bbbb.1234
动态获取

除了手动之外还有动态获取的方式。在执行switchport port-security之后,这个端口直接连接的设备的源MAC地址就会成为安全MAC。但是,这个地址不会添加到启动配置中,也就是说,交换机重启后必须重新学习MAC地址!!

动态获取-粘滞(Sticky)

管理员可以执行以下命令,将动态获取的MAC地址,写入到运行配置文件中

S1(config-if)# switchport port-security mac-address sticky

查看端口安全信息

我们可以在特权模式#下来查看端口安全的具体信息

同样我们以fa0/1为例子

S1# show port-security interface fa0/1

当然你在config及其子模式下可以用do来执行特权模式下的命令

S1(config-if)# do show port-security interface fa0/1

大致能看到如下字段(字段对应的值取决于你的配置)

S1# show port-security interface fa0/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 : 4
Total MAC Addresses : 2
Configured MAC Addresses : 1
Sticky MAC Addresses : 1
Last Source Address:Vlan : a41f.7302.375b:2
Security Violation Count : 0

还用一条命了可以查看安全MAC地址表

S1# show port-security address
S1# show port-security address
Secure Mac Address Table
-----------------------------------------------------------------------------
Vlan Mac Address Type Ports Remaining Age
(mins)
---- ----------- ---- ----- -------------
1 a41f.7302.375b:2 SecureSticky Fa0/1 -
1 aaaa.bbbb.1234 SecureConfigured Fa0/1 -
-----------------------------------------------------------------------------
Total Addresses in System (excluding one mac per port) : 1
Max Addresses limit in System (excluding one mac per port) : 8192

端口安全老化

通过端口安全老化可对端口上的动态和静态安全地址设置老化时间

端口老化时间有两种:

  • 绝对老化时间(Absolute):老化时间到期后删除MAC地址
  • 非活动老化时间(Inactivity):仅当端口上的安全地址在老化时间内

使用老化功能删除安全端口上的安全 MAC 地址,无需手动删除现有安全 MAC 地址。还可增加老化时间限制,

确保即使在添加新 MAC 地址时同样保持之前的安全 MAC 地址。可以对每个端口启用或禁用静态配置的安全地址老化。

switchport port-security aging { static | time time | type {absolute | inactivity}}

下面是各个参数的说明:

参数说明
static为此端口上静态配置的安全地址启用老化。
time time为此端口指定老化时间。范围为 0 至 1440 分钟。如果 时间为 0,则表示这个端口禁用老化。
type absolute设置绝对老化时间。所有安全地址 都会在到达设置的时间之后立刻在这个端口上老化,并且从 安全地址列表中被删除。
type inactivity设置不活动老化类型。这个端口上的安全地址只有在设定的时间范围内,没有数据流量来自安全地址,安全地址才会老化。

我们对把老化类型设置为非活动类型,并且时间为10分钟

S1(config-if)# switchport port-security aging time 10
S1(config-if)# switchport port-security aging type inactivity

端口安全违规模式

连接到端口的设备 MAC 地址与安全地址列表不一致,则会触发端口违规。在默认情况下,这个端口就会进入error-disabled状态

设置端口安全违规模式可以用以下命令:

switchport port-security violation { protect | restrict | shutdown}
模式说明
shutdown(默认)端口会立刻过渡到error-disabled状态,关闭端口LED并且发送一条系统日志消息。它会增加违规计数器的值。当一个安全端口处于error-disabled状态,管理员必须重新启用这个端口,这时需要输入shutdownno shutdown命令。
restrict端口会丢弃携带未知源地址的数据包,直到管理员删除了 足够数量的安全MAC地址,让安全MAC地址的数量降到了 最大值以下,或者管理员增加了最大值。这种模式会让违规计数器的值增加,并生成一条系统日志消息。
protect这是最不安全的安全违规模式。端口会丢弃携带未知源地址的数据包,直到管理员删除了足够数量的安全MAC地址,让安全MAC地址的数量降到了最大值以下,或者管理员增加了最大值。不会发送系统日志消息。

用一张图来概括

缓解VLAN攻击

VLAN攻击的方式

下列三种方式都可以发起VLAN跳跃攻击:

  • **发起攻击的主机伪造DTP消息,使交换机进入中继模式。**然后,攻击者可以发送标记为目标 VLAN 的流量,然后交换机向目的地传输数据包。
  • **引入非法交换机并启用中继。**然后攻击者就可以通过非法交换机访问被攻击交换机上的所有 VLAN。
  • 另一种VLAN跳跃攻击是双重标记 (Double-Tagging) 攻击,又称双封装 (double-encapsulated) 攻击。这种攻击方式利用的是大多数交换机的硬件工作原理。

缓解VLAN跳跃攻击的步骤

实际上很简单,我们就把开启自动的一些端口变为手动模式,然后对中继端口设置下本征VLAN即可。

  • 使用switchport mode access接口配置命令禁用非中继端口上的 DTP(自动中继)协商。
  • 禁用未使用的端口并将其放在未使用的 VLAN 中。
  • 使用switchport mode trunk命令手动启用中继端口上的中继链路。
  • 使用switchport nonegotiate命令禁用中继端口上的 DTP(自动中继)协商。
  • 使用switchport trunk native vlan 这里写VLAN号命令把本征VLAN设置为VLAN 1之外的其他 VLAN。

缓解DHCP攻击

什么是DHCP攻击

DHCP攻击针对的目标是网络中的DHCP服务器,原理是耗尽DHCP服务器所有的IP地址资源,使其无法正常提供地址分配服务。然后在网络中再架设假冒的DHCP服务器为客户端分发IP地址,从而来实现中间人攻击。

DHCP耗竭攻击可以使用端口安全来得到有效地缓解,因为每个发送的DHCP请求消息中使用一个唯一的源MAC地址。

但是,缓解 DHCP欺骗攻击需要采取更多保护措施。使用真实的接口 MAC地址作为源以太网地址,在DHCP负载中使用一个不同的以太网地址。这样就有可能导致端口安全无法发挥作用,因为源 MAC地址此时会是合法的。通过在可信端口上使用DHCP监听可缓解 DHCP 欺骗攻击。

DHCP监听

DHCP监听并不依赖源MAC地址。它的作用是判断 DHCP消息是否来自于管理员配置的可信或不可信源。接下来,它就会对 DHCP消息执行过滤,并且对来自不可信源的DHCP流量执行限速。

所有管理员可以管理的设备(如交换机、路由器和服务器)都是可信源。超出防火墙范围或者网络范围之外的设备都是不可信源。另外,所有接入端口一般都会视为不可信源。

这张图显示了一个关于可信端口和不可信端口的示例。

在启用了 DHCP监听之后,欺诈 DHCP服务器可能连接的是不可信端口。在默认情况下,所有接口都会被视为是不可信端口。可信端口往往是中继链路,以及与合法 DHCP服务器相连的那些端口。这些端口都必须由管理员手动配置为可信端口。

在创建 DHCP表时,其中会包含不可信端口上的设备源MAC地址,以及 DHCP服务器分配给这台设备的 IP地址。MAC 地址和IP地址是绑定的。因此,这个表也就称为DHCP监听绑定表

S1(config)# ip config snooping
S1(config)# interface f0/1
S1(config-if)# ip dhcp snooping trust
S1(config-if)# exit
S1(config)# interface range f0/5 - 24
S1(config-if-range)# ip dhcp snooping limit rate 6
S1(config-if-range)# exit
S1(config)# ip dhcp snooping vlan 5,10,50-52
S1(config)# end

上面的示例显示了如何在S1上配置 DHCP监听。请注意第一次如何启用 DHCP 监听。

然后可以明确信任向上连接 DHCP 服务器的接口。接下来,FastEthernet F0/5 到 F0/24 这个范围的端口均保持默认的不可信端口状态,因此这些端口还设置了每秒 6 个数据包的速率限制。最后,在 VLAN 5、10、50、51、和 52 上启用 DHCP监听

缓解ARP攻击

什么是ARP攻击

攻击方将自己MAC地址与其他人的IP封装成虚假的ARP报文,使被攻击方不停学习伪装条目,当被攻击方与伪装目标通信时,数据会送达攻击方,攻击方再将数据转发给伪装目标,即可实现双方正常通信情况下窃取通信数据。

当然这个过程可以简化成攻击方可以不停的发送一个伪装报文,不停的让被攻击方学习一个或多个条目,实现单向的断网攻击。

但无论是双向欺骗还是单向攻击都需要攻击者不断发送ARP报文。

动态ARP检测(DAI)

动态ARP 检测(DAI)需要使用DHCP监听,可以防止ARP攻击,因为这种特性可以:

  • 不会向同一 VLAN 中的其他端口转发无效或无故 ARP 应答。
  • 在不可信端口上拦截所有的ARP 请求和应答。
  • 每个被拦截的数据包都要接受检验,看它是否具有有效的 IP-MAC 绑定。
  • 丢弃并记录从无效绑定关系发来的ARP应答,以防止ARP毒化。
  • 如果超出了配置的ARP数据包DAI数量,端口就会进入error-disable状态。

要缓解 ARP欺骗和ARP毒化,可以执行下列 DAI实施的指导方针:

  • 全局启用 DHCP 监听。
  • 在选定的 VLAN 上启用 DHCP 监听。
  • 在选定的 VLAN 上启用 DAI。
  • 为 DHCP 监听和 ARP 检测配置可信端口。

通常建议将所有交换机的接入端口配置为不可信,将所有连接到其他交换机的上行链路端口配置为可信。

图中的示例拓扑标识了受信任和不受信任的端口:

S1(config)# ip dhcp snooping
S1(config)# ip dhcp snooping vlan 10
S1(config)# ip arp inspection vlan 10
S1(config)# interface fa0/24
S1(config-if)# ip dhcp snooping trust
S1(config-if)# ip arp inspection trust

还可以配置 DAI 以检查目的或源 MAC 和 IP 地址:

  • 目的 MAC - 根据ARP正文中的目的MAC地址检查以太网报头中的目的 MAC 地址。
  • 源 MAC - 根据ARP正文中的发送方MAC地址检查以太网报头中的源 MAC 地址。
  • IP 地址 - 在 ARP 正文中检查无效和意外IP地址,包括地址 0.0.0.0 和 255.255.255.255 以及所有IP组播地址。

在Config输入下方命令可以配置 DAI,在IP地址无效时丢弃ARP数据包。它可用于ARP数据包正文中的 MAC 地址与以太网报头中指定的地址不匹配的场合。

ip arp inspection validate {[src-mac] [dst-mac] [ip]}

缓解STP攻击

PortFast和BPDU防护

攻击者可以操纵生成树协议(STP),通过伪造根网桥和更改网络拓扑的方式发起攻击。为了缓解生成树(STP)操纵攻击,应该使用 PortFast和BPDU(桥协议数据单元)防护特性:

  • PortFast - 可让配置为接入端口或中继端口的接口直接从阻止状态变为转发状态,绕过侦听和学习状态。适用于所有最终用户端口。PortFast只应该配置在那些连接终端设备的端口上。
  • BPDU 防护(BPDU Guard) - BPDU 防护会立即让接收到 BPDU 的端口进入errordisable状态。BPDU防护也应该只配置在那些连接终端设备的端口上,这一点和PortFast特性相同。

配置PortFast防护

PortFast会绕过STP侦听(listening)和学习(learning)状态,把接入端口等待 STP收敛的时间降到最低。如果在连接到其他交换机的端口上启用 PortFast,则会产生形成生成树环路的风险。

可以使用接口配置命令spanning-tree portfast在接口上启用PortFast。另外,也可以通过全局配置命令spanning-tree portfast default以全局方式在所有接入端口上配置 Portfast。

要想验证是否 PortFast已经在全局启用,可以使用命令show running-config | begin span或命令show spanning-tree summary进行查看。要想验证是否PortFast已经在一个接口上启用,可以使用命令show running-config interface type/number进行查看,如下面的示例所示。可以特权模式下使用命令show spanning-tree interface type/number detail进行验证。

S1(config)# interface fa0/1
S1(config-if)# switchport mode access
S1(config-if)# spanning-tree portfast
S1(config-if)# exit
S1(config)# spanning-tree portfast default
S1(config)# exit

配置BPDU防护

即使启用了 PortFast,接口仍将侦听 BPDU。偶尔可能会收到意外 BPDU,或发生未经授权尝试将交换机添加到网络的操作。

如果在启用 BPDU 防护的端口上收到 BPDU,则该端口将进入错误禁用状态。这表示这个端口已经关闭,必须手动重新启用,或者通过全局命令 errdisable recovery cause psecure_violation让它自动恢复。

BPDU防护可以使用接口配置命令spanning-tree bpduguard enable在一个接口上启用。另外,也可以使用全局配置spanning-tree portfast bpduguard default在全部启用了PortFast的端口上启用 BPDU防护。要显示有关生成树状态的信息,可以使用命令show spanning-tree summary 。在这个示例中,针对接入模式的端口,PortFast和BPDU防护都是默认启用的。

请始终在所有已启用 PortFast 的端口上启用 BPDU 防护。

S1(config)# interface fa0/1
S1(config-if)# spanning-tree bpduguard enable
S1(config-if)# exit
S1(config)# spanning-tree portfast bpduguard default
S1(config)# end

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

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

相关文章

sql注入---Union注入

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 学习目标 了解union注入过程中用到的关键数据库&#xff0c;数据表&#xff0c;数据列sql查询中group_concat的作用使用union注入拿到靶机中数据库里的所有用户名和密码 一. 获得数据库表名和列…

酷开系统 | 酷开科技打造全流程全自动化运营链路

近日&#xff0c;QuestMobile发布的《2023年全景生态流量半年报告》数据显示&#xff0c;随着营销场景边界的拓展&#xff0c;越来越多的品牌方开始将阵地由移动端转移到大屏端。OTT及智能硬件营销占中国互联网营销市场规模比例已经从2020年的3.8%升至2022年的7.6%。随着人口红…

【JavaWeb】Day30.SpringBootWeb请求响应——响应

响应 HTTL协议的交互方式&#xff1a;请求响应模式&#xff08;有请求就有响应&#xff09;那么Controller程序&#xff0c;除了接收请求外&#xff0c;还可以进行响应。 1.ResponseBody 在我们前面所编写的controller方法中&#xff0c;都已经设置了响应数据。 controller方…

【C语言进阶】- 内存函数

内存函数 1.1 内存函数的使用1.2 memcpy函数的使用1.3 memcpy函数的模拟实现2.1 memmove函数的使用2.2 memmove函数的模拟实现2.3 memcmp函数的使用2.4 memset函数的使用 1.1 内存函数的使用 内存函数就是对内存中的数据进行操作的函数 1.2 memcpy函数的使用 void* memcpy ( …

Docker容器与Serverless的融合:探索《2023腾讯云容器和函数计算技术实践精选集》中的云原生创新案例

Docker容器与Serverless的融合&#xff1a;探索《2023腾讯云容器和函数计算技术实践精选集》中的云原生创新案例 文章目录 Docker容器与Serverless的融合&#xff1a;探索《2023腾讯云容器和函数计算技术实践精选集》中的云原生创新案例一、引言二、《2023腾讯云容器和函数计算…

交通标志识别项目 | 基于Tensorflow+SSD实现道路交通标志识别

项目应用场景 面向智能驾驶或自动驾驶场景道路道路交通标志的识别&#xff0c;在交通标志识别的基础上为下一步的智能决策提供前提 项目效果&#xff1a; 项目细节 > 具体参见项目 README.md (1) 安装依赖 Python3.5、TensorFlow v0.12.0、Pickle、OpenCV-Python、Matplotl…

论文笔记✍GS3D- An Efficient 3D Object Detection Framework for Autonomous Driving

论文笔记✍GS3D: An Efficient 3D Object Detection Framework for Autonomous Driving &#x1f4dc; Abstract &#x1f528; 主流做法限制 &#xff1a; 我们在自动驾驶场景中提出了一种基于单个 RGB 图像的高效 3D 物体检测框架。我们的工作重点是提取 2D 图像中的底层 3…

AIGC-Stable Diffusion发展及原理总结

目录 一. AIGC介绍 1. 介绍 2. AIGC商业化方向 3. AIGC是技术集合 4. AIGC发展三要素 4.1 数据 4.2 算力 4.3 算法 4.3.1 多模态模型CLIP 4.3.2 图像生成模型 二. Stable Diffusion 稳定扩散模型 1. 介绍 1.1 文生图功能&#xff08;Txt2Img) 1.2 图生图功能&…

数据结构(六)——图的应用

6.4 图的应用 6.4.1 最小生成树 对于⼀个带权连通⽆向图G (V, E)&#xff0c;⽣成树不同&#xff0c;每棵树的权&#xff08;即树中所有边上的权值之和&#xff09;也可能不同。设R为G的所有⽣成树的集合&#xff0c;若T为R中边的权值之和最小的生成树&#xff0c;则T称为G的…

计算机视觉新巅峰,微软牛津联合提出MVSplat登顶3D重建

开篇&#xff1a;探索稀疏多视图图像的3D场景重建与新视角合成的挑战 3D场景重建和新视角合成是计算机视觉领域的一项基础挑战&#xff0c;尤其是当输入图像非常稀疏&#xff08;例如&#xff0c;只有两张&#xff09;时。尽管利用神经场景表示&#xff0c;例如场景表示网络&a…

代码随想录第27天 | 39. 组合总和、40.组合总和II、131.分割回文串

一、前言 今天的主题还是回溯算法&#xff0c;还是根据那个backtracking模板&#xff0c;但是今天会涉及到去重和一些小细节的问题。 二、组合总和 1、思路&#xff1a; 我一开始的想法就是在for循环转化为&#xff1a; for(int i 0; i < size; i) 但是这个是会陷入一…

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单实战案例 之十 简单颜色反转效果

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单实战案例 之十 简单颜色反转效果 目录 Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单实战案例 之十 简单颜色反转效果 一、简单介绍 二、简单颜色反转效果实现原理 三、简单颜色反转效果案例实现简单步骤 四、注…

壁纸小程序Vu3(预览页面:弹窗)

1.展示跳转后的分类列表图片 classlist.vue <template><view class"classlist"><view class"content"><navigator class"item" v-for"item in 10"><image src"../../common/images/64.png" mode…

基于arkTS开发鸿蒙app应用案例——通讯录案例

1.项目所用技术栈 arkTS node.js express mongoDB 2.效果图 3.源码 Index.ets&#xff08;登录页&#xff09; 登陆时让前端访问数据库中已经存好的账号密码&#xff0c;如果可以查询到数据库中的数据&#xff0c;则账号密码正确&#xff0c;登录成功&#xff0c;否则登录…

Docker容器赋能TitanIDE:引领编程新纪元的集成开发环境

Docker是一种容器化技术&#xff0c;它可以将应用程序和其所有的依赖项打包到一个轻量级、可移植的容器中。以下是Docker的基本概念和优势&#xff1a; 基本概念&#xff1a; 镜像&#xff08;Image&#xff09;&#xff1a;一个镜像是一个只读的模板&#xff0c;可以用于创建…

17.应用负载压力测试

早些点&#xff0c;下午题考&#xff0c;最近几年出现的少&#xff1b; 备考较为简单&#xff1b;历年真题相似度高&#xff1b; 主要议题&#xff1a; 1.负载压力测试概述 注意这些测试细微的差别&#xff1b; 负载测试和压力测试的方法比较相似&#xff0c;但是目的不同&a…

学习 MongoDB:打开强大的数据库技术大门

一、基本概念 MongoDB 是一个基于分布式文件存储的文档数据库&#xff0c;由 C 语言编写。它旨在为 Web 应用提供可扩展的高性能数据存储解决方案。 相信MySQL我们非常的熟悉&#xff0c;那么MySQL的表结构与MongoDB的文档结构进行类比的话可能更好理解MongoDB。 MySQL的数据…

ubuntu 20 虚拟机配置静态ip

在/etc/netplan/ 中得文件里&#xff08;类似&#xff1a;01-network-manager-all.yaml&#xff09;添加 # Let NetworkManager manage all devices on this system network:ethernets:ens33:dhcp4: noaddresses: [192.168.40.128/24]gateway4: 192.168.40.2optional: truenam…

【iOS ARKit】3D 视频

在AR 中播放视频也是一种常见的需求&#xff0c;如在一个展厅中放置的虚拟电视上播放宣传视频&#xff0c;或者在游戏中为营造氛围而设置的虚拟电视视频播放&#xff0c;或者在识别的2D个人名片上播放自我介绍视频&#xff0c;因视频具有静态图像无法比拟的综合信息展示能力&am…

华为数通方向HCIP-DataCom H12-821题库(多选题:241-260)

第241题 [RTAospf100 [RTA-ospf-100]silent-intefaceGigabitEthernet 1/0/0上面是路由器RTA的部分配置,对于此部分的配置描述,正确的是: A、接口gigabitethemet 1/0/0的直连路由仍然可以发布出去 B、无法与该接口的直连邻居形成邻居关系 C、禁止接口gigabi tethemet 1/0/0发…