交换机安全(2)- MAC地址泛洪

MAC层攻击 – MAC地址泛洪

常见的二层攻击或交换机攻击是MAC泛洪,入侵者使用大量无效的源MAC地址,这会导致交换机的CAM表溢出,由于交换机在MAC地址表中找不到目的MAC地址对应的端口,从而导致交换机向其它所有端口定期泛洪数据帧、交换机不会再接收新的合法条目,这会影响到网络中的所有用户的传输速度。

攻击者可通过MAC泛洪实现DOS攻击,也可能会获取全网的数据包。

CAM表的容量依据交换机的型号有所不同,常用的Catalyst 接入层交换机为8192,可通过以下的命令查看。

Switch #show mac-address-table count

MAC地址的老化时间默认为300秒,可通过如下命令查看

Switch #show mac-address-table aging-time

攻击步骤

1、 攻击者以不同的源MAC地址发送多个数据包。

2、 在短时间内,交换机的CAM表被填满,无法再接受新的条目。攻击的行为需要持续不断,否则MAC地址老化后会清空CAM表。

3、 交换机开始把它接收到的所有数据包,向所有端口泛洪。因此,攻击者可能在任何端口获取网络中的所有数据包。

防御措施

在交换机端口上限定一个具体的MAC地址或限定MAC地址的数量。可以让交换机自动学习,也可以手动配置MAC地址。

步骤1:启用端口安全,注意,动态端口不能设置,需要将端口模式设置为Access.

Switch#conf t

Enter configuration commands, one per line. End with CNTL/Z.

Switch(config)#int fa0/1

Switch(config-if)#switchport mode access

Switch(config-if)#switchport port-security

步骤2:设置接口允许接入的最大MAC地址数量为4,默认为1

Switch(config-if)#switchport port-security maximum 4

步骤3:指定该接口允许接入的具体MAC地址,该配置为可选项,如不指定,交换机端口会自动学习任意4个MAC地址,并只为这4个MAC地址提供服务。

Switch(config-if)#switchport port-security mac-address H.H.H

步骤4:使静态配置在端口上的安全地址老化。当交换机端口启用了端口安全后,默认情况下,端口学到地MAC地址不会老化过期。

Switch(config-if)#switchport port-security aging static

步骤5:当不允许的MAC地址尝试接入时,定义该接口采取的行为。

Switch(config-if)#switchport port-security violation {protect | restrict | shutdown}

Protect 保护:丢弃未授权地址发来的数据帧,但不会为这个违规行为创建日志消息。

Restrict 限制:丢弃未授权地址发来的数据帧,创建日志消息并发送SNMP Trap消息。

     Shutdown 关闭:这是默认的模式。交换机从一个端口收到未授权地址发来的数据帧后,就会把这个端口置为err-disabled状态,记录日志并发送SNMP Trap消息,必须要管理员手动开启或使用errdisable recovery特性来重新启用该端口。

检查端口安全配置

管理员可使用命令“Show port-security”来查看哪些端口启用了端口安全特性。

加入Interface参数查看特定接口的输出信息:

还可以使用address变量参数来查看MAC地址表的安全信息。注意:剩余时间(Remaining Age)一项没有信息,因为当交换机端口启用了端口安全后,默认情况下,端口学到地MAC地址不会老化过期。该项只有在为接口配置了过期时间后才会显示出来,相关命令为:switchport port-security aging time 300

可以使用以下命令查看端口当前连接的MAC地址信息:

使用粘性MAC地址的端口安全

前面我们讲的端口安全可以通过限制每个交换机端口只允许设置数量的MAC地址,来缓解MAC地址欺骗攻击。但这并没有指定具体的MAC地址。

最严格的端口安全实施方案是在每个端口上,只允许指定的MAC地址接入。当然这样会带来很多接入问题,管理员的工作负担也需要考虑。但粘性MAC地址特性能够很好地解决这一问题。

当使用粘性MAC地址时,交换机端口会自动学习MAC地址,它既可以限制交换机端口,使其只接受单个具体的MAC地址,又无需管理员收集所有合法设备的MAC地址,再手动关联到交换机端口上,有效地减轻了管理员工作负担。

命令:Switch(config-if)#switchport port-security mac-address sticky

原理:使用粘性MAC地址时,交换机端口自动学习MAC地址,然后记住这个MAC地址并将其以静态条目的形式存入运行配置(Running configuration)中,并把这个MAC地址当作端口安全特性允许接入的唯一MAC地址。如果交换机重启用,需要重新学习MAC地址。

注意:

1、接口会把所有动态安全MAC地址,转换为粘性安全MAC地址,包括在粘性学习特性启用前,动态学习到的地址。

2、交会机把粘性安全MAC地址添加到运行配置中,并不会添加到启动配置中,除非管理员将运行配置复制到启动配置中。如果存入了启动配置中,重新交换机后无需重新学习MAC地址。

3、该命令不能用于语音VLAN接口。

下图所示,Type项由原来的“SecureDynamic”变为“SecureSticky”.

下图所示,交换机端口学习到的MAC地址以静态条目形式存入到了运行配置中。

在必要的端口上阻塞单播泛洪

默认情况下,交换机若不知道所收数据包的目的MAC地址,它就会向接收端口所属VLAN中的所有端口进行泛洪。

但有一些端口不需要泛洪。如端口手动配置了MAC地址,或启用端口安全的端口上,配置了安全MAC地址或学习到了足够的MAC地址。从而减少不必要的流量。

既可以限制未知目的MAC地址的单播泛洪,也可以限制未知目的MAC地址的组播泛洪。

语法:

时间: 2024-10-15 22:06:42

交换机安全(2)- MAC地址泛洪的相关文章

Mac地址泛洪攻击的防御措施和具体配置

Mac地址泛洪攻击指的是:利用交换机的mac地址学习机制,攻击者不断地刷新mac地址,填满交换机的mac地址表,以致崩溃,使交换机不得不使用广播发包,从而获取其他人的报文信息. mac地址泛洪攻击的防御措施和具体配置 限定接入交换机的接入的端口的数量. 例如:设置该交换机的该端口可以学习10个mac地址,超过了10个mac地址就停止学习,丢弃后来的mac.如图: 具体代码如下: [Huawei-Ethernet0/0/1] port-security enable [Huawei-Etherne

分分钟学会系列:mac地址泛洪攻击实验

一.实验目的: 通过实战深入理解mac地址泛洪攻击的原理. 二.实验原理: 交换机中有一张非常重要的表,叫做mac表,这个表是一个硬件组成的表,主要是完成快速转发.mac表有大小限制,不同的交换机的mac表的大小都有不同,越是高端的交换机的表空间越大,但是作为接入交换机,表空间基本都在8K左右.交换机的一个原理是会自动学习并记录mac地址.而攻击者就利用交换机的mac地址学习机制,不断的进行mac地址刷新,迅速填满交换机的mac地址表,以至崩溃,使交换机不得不使用广播发包,从而获取其他人的报文信

遍历交换机里面的mac地址,与公司登记mac合法的mac地址进行对比

脚本目的:查找mac黑名单 日    期:2015年08月20日 联系邮箱:[email protected] Q Q  群:1851 15701 51CTO博客首页:http://990487026.blog.51cto.com 开源社区,有你更精彩! 简介: 遍历交换机里面的mac地址,与公司登记mac合法的mac地址进行对比,匹配到了是合法的,未匹配到就是黑名单. 需求分析:查找mac黑名单 公司登记的PC,MAC,Server设备的mac地址,有一个表单 rmac文件 公司登记的是这样的

交换机端口安全(mac地址绑定)

交换机的端口安全,是一种交换机的过滤策略,即为交换机的某个端口绑定一个固定的mac地址,使其他的mac地址访问的时候触发策略,down掉端口或者拒绝服务 以下为拓扑图 交换机配置 enable  进入特权模式 conf t    进入全局配置模式 hostname 修改交换机名 no ip domain-lookup 去除域名解析 interface vlan1 进入vlan1    ip address 192.168.1.1 255.255.255.0 配置vlan1的IP地址(即配置管理地

思科交换机配置单播MAC地址过滤

1.其他厂商: 在华为,华三等设备上,我们都有"黑洞MAC地址表项" 的配置,其特点是手动配置.不会老化,且重启后也不会丢失.例如如下示例: 黑洞表项是特殊的静态MAC地址表项,丢弃含有特定源MAC地址或目的的MAC地址的数据帧:防止无用的MAC地址表项占用MAC地址表:将非信任的MAC配置为黑洞MAC地址,当设备收到目的或源MAC地址为黑洞里的MAC时直接丢弃,防止网络攻击. 在MAC地址已满的情况下配置静态或黑洞MAC表时,如果表中存在对应的要配置的表则自动覆盖:如果不存在则无法添

MAC地址泛洪攻击测试

测试环境:kali系统(2个kali分别作攻击人和目标用户) win7系统(主机) 1.步配置FTP设置用户名密码 2.在攻击kali端测试网络的连通性 3.测试tpf是否正常 开始泛洪 4.开始抓包 5.登陆FTP 7.查看抓包数据

交换机到底有没有MAC地址?

1.二层交换机自身的MAC地址是可有可无的.二层交换机可分为"可网管"和"不可网管"两种类型,对于"可网管"的交换机,我们可以对其进行参数配置;而"不可网管"交换机,则不能对其进行配置.因为二层交换机只是用来转发数据帧,不对帧进行拆封打包,所以对转发数据来说,自身的MAC地址是无用的.但是有时候我们需要对交换机进行配置管理,这也就是说我们需要与交换机进行通信,此时它就需要一个MAC地址,相应此时的交换机就相当于平时通信的一台主

Mininet实验 MAC地址学习

实验目的 了解交换机的MAC地址学习过程. 了解交换机对已知单播.未知单播和广播帧的转发方式. 实验原理 MAC(media access control,介质访问控制)地址是识别LAN节点的标识.MAC对设备(通常是网卡)接口是全球唯一的,MAC地址为48位,用12个16进制数表示.前6个16进制数字由IEEE管理,用来识别生产商或者厂商,构成OUI(Organization Unique Identifier,组织唯一识别符).后6个包括网卡序列号,或者特定硬件厂商的设定值.对于一个网卡来说

Linux 网卡驱动学习之(八)(基于 MAC 地址转发数据)

1.构建MAC地址表 交换机技术在转发数据前必须知道它的每一个端口所连接的主机的MAC地址,构建出一个MAC地址表.当交换机从某个端口收到数据帧后,读取数据帧中封装的目的地MAC地址信息,然后查阅事先构建的MAC地址表,找出和目的地地址相对应的端口,从该端口把数据转发出去,其他端口则不受影响,这样避免了与其它端口上的数据发生碰撞.因此构建MAC地址表是交换机的首要工作.下面举例说明交换机建立地址表的过程. [分析]假设主机A向主机C发送一个数据帧(每一个数据帧中都包含有源MAC地址和目的MAC地